Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This went out the window in favor of portable software, multitasking, and reusable components.

As soon as you have software that can run on a variety of machines (including new hardware that hasn't been invented yet), there is no way to give a performance guarantee. (An exception might be something like a game console where hardware is fixed.)

Even if hardware is fixed, if you don't control the other programs running on the machine, you don't know how many cycles you'll get.

And whenever you allow a newer, "compatible" version of a library or OS component to be swapped in, all bets are off. No mainstream languages take performance into account when deciding whether a newer version of a library is "compatible". So, any security update could invalidate your measurements.

(And in a way, the same is true of hardware since you don't control the environment it runs in or what might be plugged into it.)

We can ignore all this stuff and it mostly works. We wouldn't have an Internet without it. (Imagine if web browsers had to give performance guarantees.) Instead we'd have some kind of fixed-hardware monoculture.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: