Blue shows some interesting and dramatic changes. Some array accesses and operations (byte and int math) are a bit slower. But float and double operations are up to 7X (float div) faster, with many ops 4X faster.
Purple shows small but steady improvement in speed in almost all areas. This is the result from the first run (two are available in the file, and are almost identical). Most notable differences: method call performance (purple vs orange) increased dramatically (1.5X) but object creation fell by about the same ratio(0.68X).
Note to everyone: the slightly more optimal byte array test #2 is in the source code and recently captured results and are the recent results reported here... so there may be some benchmarks which use the older version which isn't a level comparison with those (SPOT purple and blue, at least) which use the new version.
Note to self: add some thread context switching and serial I/O tests to the next version.
Orange (note the clever color coding in the table) is closer to the production release of SPOT runtime. The test results are the best of two runs, which can vary a bit due to time base granularity (msec) and rounding. Typically (it depends on the time the test takes to execute) the rounding uncertainty is less than 1% on math operations. Byte and int array copies take the least time so have the most uncertainty, about 3% for byte array copies and 2% for int array copies. So consider differences of 1% on any test insignificant. Overall, the Orange release is about 10% better than the Green. This possibly implies that 1) there's not a huge amount of optimization room remaining 2) the Green release was pretty optimal to begin with. Also, it appears that more wireless code is loaded on the Orange release, and could be using some ARM cycles.
Also note that due to a clerical error the Green release byte array copies were incorrectly reported as being about 10X slower than they really were. That has been corrected. The results files are posted -- you are welcome to check my results or, better yet, run the test yourself. |