Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
jsPerf backend v2.0.0 #174
I don’t have time to maintain the jsPerf.com codebase anymore, at least not alone. However, the site is in need of a back-end rewrite & a new host. The current code is ancient (I wasn’t even born yet when I wrote it) and spaghetti PHP-flavored. There is no streamlined deploy process, either.
It would be great to rewrite the back-end in clean Node.js/io.js code and set up a deployment pipeline along the way. Thinking out loud, here’s some features the new back-end should ideally have:
The front-end code is fine and can remain as-is. The existing HTML, CSS, and JS can just be re-used. No new features have to be added to the site at all, although the new back-end would make it easier to do so in the future.
Anyone up for this, or willing to help with this?
referenced this issue
Aug 30, 2015
I like the Raygun team and have been a customer for years but don't 100% agree on their testing methods. jsPerf is not optimizing for requests per second and has needs beyond replying a static string. Benchmark performance criticism of Hapi isn't new. Here's an in-depth response from 2014.
I liked Hapi for jsPerf because ...
as always, timtowtdi
I am interested in hosting this, but I would like to not spend on a backend and instead come up with a schema to declare benchmarks and expose it as a gist and be able to parse the gist on the fly and run the benchmark. It will of course take some creativity to add versioning, but I think such a framework is easy to build and extend
Totally having it in GitHub will allow forkability and versioning. I wasn't sure initially if gist URL supported allowing you to choose a particular version.
Thinking through, such a system may not record the benchmark results publicly. But we can come up with a standardized JSON format to export/download the JSON results and also add a client side comparison page where you can upload multiple such JSON results to compare. This also makes it easy to share the results with others.