Public domain code.
The graph on the Wikipedia entry indicates that, at least through 2004, the number of transistors was doubling every two years, in accordance to one of the more popular formulations.
Indeed, however the Itanium 2 is an IA-64 processor, and not commonly used for generic customer PCs, so it doesn't really compare well. It looks like the current and near futures involve ~3 GHz clock speeds and multiple cores, so it would be interesting to plot the total FLOPS available on IA-32 architectures versus time as multicore kicks in. A big question is how to take advantage of many processors as a programmer in the real world: functional programming, referential transparency, that nice old map() function inherited from Lisp, and libraries like OpenMP seem to offer starting points.
By functional programming I meant that you can get transparent trivial and nontrivial parallelization for some functions if you mark them as referentially transparent and have a smart compiler, not that a "functional programming language" should be used.
Post a Comment