reagent
reagent copied to clipboard
Create performance benchmarks
A few recent changes have probably touched on performance critical code paths, but I don't currently have any way to test and track performance changes.
Would it be useful if I tried to implement this or this for reagent, and got numbers for the last few releases? Does anyone know of other relevant benchmarks?
Oh, hang on a tick!
https://github.com/krausest/js-framework-benchmark/tree/master/reagent-v0.8-keyed
Quick snapshot of results for anyone who's curious:

https://rawgit.com/krausest/js-framework-benchmark/master/webdriver-ts-results/table.html
Yes, I know that one, I implemented Reagent case for that project. It is quite nice tool to compare performance between React wrappers and others, but the standard deviation for results is often quite high (e.g select for 16.4ms vs. 3.9ms stddev). This means this is not very useful tool for comparing performance between two commits with minor changes.
I've been thinking about having two tools (in addition to the js-framework-benchmark). One would be to automatically run some test set automatically for every Reagent commit. This would be very similar to js-framework-benchmark implementation, but if possible, be more accurate. And second tool would be to have some examples and maybe a few test cases for some hot code paths and use some Criterium style tool (benchmark.js?) to benchmark important functions. This would help with optimizing the important functions.
There is a Criterium port for ClojureScript floating around somewhere, can't remember where I saw it though.