h5bp/lazyweb-requests

jsPerf backend v2.0.0

mathiasbynens opened this issue · 21 comments

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:

  • fully open-source
  • simple & automated deployment process
  • written in clean & modular Node.js/io.js, preferably
  • database is currently MySQL — this could be changed into something else

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?

I'm definitely willing to help where possible, Mathias. I love jsPerf, but agree it needs a refresh.

I would like to help!

How about hapi.js for the back-end?

How about travis-ci for continuous integration? (free for open source)

What's your current host? Guessing the free tier of Heroku won't cut it. Hosting compatible with Node Could anyone donate hosting?

How about hapi.js for the back-end?

👍

How about travis-ci for continuous integration? (free for open source)

👍

How about hapi.js for the back-end?

Sure. ❤️ Hapi

Looks like @maxbeatty is taking the lead on this! jsperf/jsperf.com#1 👍

Awesome!

I would be happy to host it for you for free, do you have any previous analytics from the site so I know what type of traffic it was previously receiving? Get in touch with me and i'll get you something setup ASAP so you can start testing on it

That’s very kind of you, but luckily hosting is already taken care of :) We just need some help finishing up v2. Take a look at the open bugs if you wanna help out!

Can you provide a link to the bug tracker? I'm looking for an open source project to help with.

see this https://github.com/nodejs/LTS
as node v5 will not be maintained soon or already, it's better to switch the version to v6.

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 ...

  1. A+ community (see http://hapijs.com)
  2. promotes testable, reusable, and maintainable code through its plugin architecture
  3. makes our real world use cases easy to reliably implement (e.g. validating authenticated form posts)

as always, timtowtdi

AliMD commented

If this situation continues, You will lose all your fans and ranks! 😢
Any plan to break v2 progress and continue on old version ?

Fans and ranks 😂

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.

Benchmark results could also - and I'm not saying that this is necessarily a good idea - be posted to the comments of the Gist.

They wouldn't even necessarily need to be JSON - just a "User-Agent:" line and the test names + times.

any update on this? new site for jsPerf?

Any updates?