Performance vs Java and dynamic Groovy
Theoretically code compiled from Groovy++ should run as fast as Java. Time to time we run set of benchmarks to make sure it happens in practice. Sources of benchmarks can be found at https://github.com/alextkachman/fib-benchmark
Here are results of benchmarks done on 06/09/2011 Time in ms
| Benchmark | Java | Groovy++ 1.7.10 | Groovy 1.7.10 | Groovy++ 1.8.2 | Groovy 1.8.2 |
| Binary Trees | 14048 | 13536 | 175144 | 14508 | 134904 |
| Fannkuch | 21106 | 21791 | 922029 | 20841 | 847244 |
| Quicksort | 680 | 679 | 14529 | 679 | 20401 |
| Spectral Norm | 4686 | 4766 | 158896 | 4981 | 179102 |
| Thread Ring | 4550 | 4436 | 30328 | 4872 | 28574 |
| Fib I | 543 | 518 | 17469 | 529 | 15767 |
| Fib II | 516 | 525 | 17115 | 520 | 14951 |
| Fib III | 502 | 492 | 17947 | 482 | 15362 |
| Fib IV | 515 | 476 | 16368 | 514 | 14380 |
| Fasta | 5314 | 5073 | 92418 | 5547 | 97986 |
| Nbody | 806 | 830 | 42206 | 853 | 44859 |
| LockPerf | 3986 | 4201 | 13945 | 4308 | 14404 |
Here are results of benchmarks done on 26/04/2011 Time in ms
| Benchmark | Java | Groovy++ 1.7.10 | Groovy 1.7.10 | Groovy++ 1.8.0 rc-4 | Groovy 1.8.0 rc-4 |
| Binary Trees | 14199 | 14495 | 168752 | 14581 | 154469 |
| Fannkuch | 19672 | 19857 | 962627 | 19703 | 761781 |
| Quicksort | 669 | 700 | 15200 | 669 | 20430 |
| Spectral Norm | 4596 | 4766 | 185400 | 4782 | 110067 |
| Thread Ring | 4630 | 4583 | 33262 | 4415 | 31325 |
| Fib I | 534 | 534 | 16864 | 501 | 1616 |
| Fib II | 505 | 547 | 16709 | 505 | 8179 |
| Fib III | 484 | 485 | 16000 | 465 | 1649 |
| Fib IV | 494 | 484 | 15959 | 495 | 8008 |
| Fasta | 5234 | 5473 | 102633 | 5441 | 89890 |
| Nbody | 804 | 834 | 46171 | 861 | 50270 |
| LockPerf | 4041 | 4202 | 14458 | 4119 | 15151 |
Here are results of benchmarks done on 17/01/2011 Time in ms
| Benchmark | Java | Groovy++ | Groovy 1.7.6 | Groovy 1.8.0 beta 3 |
| Binary Trees | 23787 | 23124 | 208704 | 173551 |
| Fannkuch | 21306 | 21019 | 1052957 | 993285 |
| Quicksort | 669 | 675 | 22379 | 16424 |
| Spectral Norm | 4558 | 4759 | 173186 | 229981 |
| Thread Ring | 4614 | 4573 | 37076 | 36280 |
| Fib I | 534 | 536 | 17087 | 9089 |
| Fib II | 519 | 506 | 17043 | 8347 |
| Fib III | 526 | 503 | 16281 | 1351 |
| Fib IV | 510 | 546 | 16360 | 7964 |
| Fasta | 5100 | 5204 | 102865 | 110429 |
| Nbody | 920 | 841 | 47872 | failed |
Here are results of benchmarks done on 02/09/2010 Time in ms
| Benchmark | Java | Groovy++ |
| Binary Trees | 55910 | 49714 |
| Fasta | 8732 | 10527 |
| Thread Ring | 11903 | 10336 |
| Spectral Norm | 11629 | 11866 |
| Fannkuch | 57292 | 72829 |
| Mandelbrot | 39100 | 32468 |
| NBody | 16267 | 16549 |
| Pi Digits | 49016 | 50223 |
| Chameneos Redux | 24716 | 24900 |
| Revcomp | 29 | 201 |
Very nice!