Finally, I got the nbody benchmark from Debian benchmark games to run correctly! The result:
|Language||Time to complete|
|PHP 7.0.0||186 sec|
This makes subsetphp around 14 times faster than PHP 7 on my local machine.
- The compiler is just a prototype - adding features might speed up or slow down the benchmark.
- This is a number-crunching benchmark, PHP was not made for that purpose - so who cares?
- Still cool!
If anyone is interested you can view the PHP code here.
Some comments about the code:
- Why no functions? Because I haven’t added support to infer types like
- You might see the if-statement before some for-loops - the for-statement has a bug, will fix soon.
- The code is copied from the Java version.
This successful benchmark will mark version 0.1. Next version will include:
- The binary tree benchmark, testing GC performance
- Infer arrays passed as arguments to functions, possibly using static “duck-typing” (inspired by the OCaml object system)
- Escape analysis, enforcing allocation on stack where possible
- Other stuff
Wish you a nice week!