Monday, July 26, 2010

How we spend Moor dividend

How we spend Moor dividend

During the last 28 years, the clock speed increased 586 times. The Intel Pentium processor, introduced in 1995, achieved a SPECint95 benchmark score of 2.9, while the Intel Core 2 Duo achieved a SPECint2000 benchmark score of 3108.0, a 375 times increase in performance in 11 years.
One indication is that array bounds and null pointer checks impose a time overhead of approximately 4.5% in the Singularity OS.

high-level programming languages that provide more safety, easy, and higher level of abstraction.  Managed languages (such as VB/C# and Java) further increased the level of programming by introducing garbage collection, richer class libraries (such as .NET and the Java Class Library), just-in-time compilation, and runtime reflection. All these features provide powerful abstractions for developing software but also consume memory and processor resources in nonobvious ways.

The second is that high-level languages hide details of a machine beneath a more abstract programming model. This leaves developers less aware of performance considerations and less able to understand and correct problems.
I conducted simple programming experiments to compare the cost of implementing the archetypical Hello World program using C, and C Sharp. Without any comment it’s so clear that higher level of abstraction have affect the performance.

Today many developers don’t care about the performance, and rely on the hardware, and the other layers performance.

Abundant machine resources have allowed developers to become lazy, and complacent about performance and refusing the optimization idea and less aware of resource consumption in their code. Bill Gates 30 years ago famously changed the prompt in Altair Basic from “READY” to “OK” to save 5B of memory.

No comments:

Post a Comment