NetLogo / Tortoise

Compiler and runtime engine for NetLogo models that runs in JavaScript 🐢
https://netlogoweb.org
Other
56 stars 27 forks source link

Optimizations, performance, and benchmarking #193

Closed LaCuneta closed 7 years ago

LaCuneta commented 7 years ago

Benchmark - No Optimizations

BZ Benchmark (V8 Node.js v6.10.3):

FireBig Benchmark (V8 Node.js v6.10.3):

GridWalk Benchmark (V8 Node.js v6.10.3):

Wolf Benchmark (V8 Node.js v6.10.3):

Including All Optimizations

BZ Benchmark (V8 Node.js v6.10.3):

FireBig Benchmark (V8 Node.js v6.10.3):

GridWalk Benchmark (V8 Node.js v6.10.3):

Wolf Benchmark (V8 Node.js v6.10.3):

SethTisue commented 7 years ago

the spread between the min and max numbers seems alarmingly high for some of these? curious about that, wondering if those numbers are meaningful

LaCuneta commented 7 years ago

@SethTisue That's a good question, I'll have to look into that! It could be something as simple as processes on my workstation interfering with the results as they ran. If the random seed isn't set the same, that'd also cause big differences, but I'm pretty sure it is. I can also get SpiderMonkey setup and check if there are similarly wide gaps between min/max using it.

I did run manual stopwatch tests as well in the browser to confirm the results, and did see improvements that came close to the averages here. I did not see the big differences in min/max, though, when doing it that way.