heterogeneous cores and ultimately the cloud offer far faster growth rates in parallelism than even described by Moore's Law.If by "faster" you mean "slower" in terms of the actual increase in computation per dollar. I pointed this out the other day. In 1990 you had, basically 25mhz 486s. By 2000 you had 2.8ghz Pentium 4s. A hundred fold increase in clock speed. A chip, costing the same dollar amount was 100 times faster not counting the speedups you got through more transistors (a 1ghz core i7 core would be much, much faster then a 1ghz 386)
Moore's Law specifically deals the rate at which the "number of transistors that can be placed inexpensively on an integrated circuit doubles". It's mechanically quantifiable, not abstract or vague in the slightest.Moore's law was just a quantification lazyness, IMO. There's no physical reason why 22nm chips couldn't have been created in the 1970s. It was really more about the trade-off between investing in research vs. the payoff. Had Intel spent more on research, they could have pushed things faster. Actually Moore's law was violated in the 90s, chip speed actually increased faster then Moore's law predicted, when Intel and AMD were fiercely competing with each other.
js> make_adder = function(x) { return function(y) { return y + x } }
(function (x) {return function (y) {return y + x;};})
js> plustwo = make_adder(2)
(function (y) {return y + x;})
js> plustwo(3)
5
//assigns the variable helloworld to the function we just defined
var helloworld = new function(hi){
this.hi = hi;//assigns this.hi to the parameter hi;
this.sayhi = new function(planet){ return hi + planet;}
}helloworld("earth"); and var himars = new helloworld("mars") both do slightly do slightly different things. The second one works like calling a constructor in java, the first one acts in a way that's actually very different from anything in C/C++/Java -- the line where you declare the var helloworld is actual ordinary code that gets run, creating a variable 'helloworld' which is an instance of the object. Except, since it's never been called it has no properties yet. (I think that's how it works) So the first time you call it, those properties get defined.
js> function counter() {
var count=0;
return function () { return ++count; };
}
js> foo=counter();
function () {
return ++count;
}
js> bar=counter();
function () {
return ++count;
}
js> foo()
1
js> foo()
2
js> foo()
3
js> foo()
4
js> bar()
1
js> bar()
2
js> foo()
5
js>
In this example counter, foo and bar are all functions, but only foo and bar are closures, and they're closed over count.« Older Dolly Parton is two amazing singers. You've alread... | Sheep Cyclone (SLYT)... Newer »
This thread has been archived and is closed to new comments
posted by LogicalDash at 2:34 PM on January 31 [2 favorites]