Can someone explain to me what each SunSpider subtest actually checks and give a real-life equivalent of their importance and use? Which outcomes (ie times) are considered acceptable for a modern system?
The only information I have found so far was generic for each subsection, at Coding Horror.
3d Pure JavaScript computations of the kind you might use to do 3d rendering, but without the rendering. This ends up mostly hitting floating point math and array access.
access Array, object property and variable access.
bitops Bitwise operations, these can be useful for various things including games, mathematical computations, and various kinds of encoding/decoding. It's also the only kind of math in JavaScript that is done as integer, not floating point.
controlflow Control flow constructs (looping, recursion, conditionals). Right now it mostly covers recursion, as the others are pretty well covered by other tests.
crypto Real cryptography code, mostly covers bitwise operations and string operations.
date Performance of JavaScript's "date" objects.
math Various mathematical type computations.
regexp Regular expressions. Pretty self-explanatory.
string String processing, including code to generate a giant "tagcloud", extracting compressed JS code, etc.
But what about the individual tests in each subsection?
For example the "access" subsection has 4 tests (binary-trees, fannkuch, nbody, nsieve
). What does each calculate and why/when should be important in a real web application that makes use of JavaScript?