Gabriel Sechan wrote:
Yes but don't forget that your 30% performance hit just got erased
6 months later when you bought a CPU that is twice as fast! Moore's
Law takes care of that 30%. You could say the same thing about
high level langs, GUIs, JVMs, etc.
Moore's law is a complete strawman. It doesn't speed up existing
hardware.
So what? If I can make an order of magnitude improvement in my security
by taking a 30% performance hit, my situation considers that a win.
Performance isn't everything.
That having been said, Tannenbaum considers an order of *magnitude* to
be an acceptable performance hit. That pretty much can never be erased
by Moore's law.
The L4 folks did a very nice job of identifying the bottlenecks in a
message-passing microkernel. L4Linux runs within about 10% of normal
Linux. And this was with basically no adjustment of the kernel
communication mechanisms. Remember, Linux is specifically tuned for its
current kernel IPC mechanisms. If message passing is much less
expensive, your optimizations no longer automatically hold.
Nor do we get anywhere near a 30% performance boost every 6
months (or even the every 18 of Moore's law fame). Memory latency and
bandwidth are the bottleneck these days, and Moore doesn't help them
much.
Latency, true. Bandwidth, false. Memory bandwidth is on a very nice
Moore's law curve.
If you were to tell my employer we needed to buy 30% more boxes,
with all associated costs in hosting and maintenance, they'd fire me.
However, your employer likely has a continuous purchase schedule and so
*does* reap the rewards of Moore's law.
And I do say that about interpreted languages as well.
Careful. VM != fully interpreted. Much of the HotSpot compiler for
Java work is used to compile the bytecode directly to machine code for
execution.
In fact, Java runs *faster* than C in some cases now. A VM can
introspect the environment to check for pointer aliasing, optimized
common cases determinable only at runtime, amortized pool allocation of
memory, etc.
-a
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list