What does HackerNews think of codespeed?

A web application to monitor and analyze the performance of your code

Language: Python

I've looked into this before and there are very few tools for this. The only vaguely generic one I've found is Codespeed: https://github.com/tobami/codespeed

However it's not very good. Seems like most people just write their own custom performance monitoring tooling.

As for how you actually run it, you can get fairly low noise runtimes by running on a dedicated machine on Linux. You have to do some tricks like pinning your program to dedicated CPU cores and making sure nothing else can run on them. You can get under 1% variance that way, but in general I found you can't really get low enough variance on wall time to be useful in most cases, so instruction count is a better metric.

I think you could do better than instruction count though but it would be a research project - take all the low noise performance metrics you can measure (instruction count, branch misses etc), measure a load of wall times for different programs and different systems (core count, RAM size etc.). Feed it into some kind of ML system and that should give you a decent model to get a low noise wall time estimate.

Good tips here:

https://llvm.org/docs/Benchmarking.html

https://easyperf.net/blog/2019/08/02/Perf-measurement-enviro...

Depends how many different tasks you want to compare, and how many different interpreters you want to compare, and what you want to do with the comparison.

Find a comparison someone else already made, for example:

https://benchmarksgame-team.pages.debian.net/benchmarksgame/

Make your own time measurements:

https://github.com/tobami/codespeed/

https://github.com/sharkdp/hyperfine

It looks really cool. I may have missed it, but it seems to be lacking the comparison aspect of arewefastyet.com (ie - missing chrome/safari data).

I'm not sure how portable this is to other projects, but it reminds me of http://speed.pypy.org, which is open source https://github.com/tobami/codespeed.