Jeremy Rubin asked on Twitter what was happening with #GSR. Good q!

After far too much fiddling with benchmarks I now have preliminary numbers. Budget is 5200 varops per weight. Fast ops (compare, zero fill, copy) cost 1 varop per stack byte. SHA256 costs 10 per byte. Everything else costs 2 per byte.

I need to clean up my benchmarks so everyone can run them, and get "on your machine the worst case validation would be seconds, doing OP_". That's concrete and gives us a chance to find any wild machines which are unexpectedly slow, and gives a tangible worst case, which should allow fruitful discussion

I also need to write code to answer "what input size (if any) would cause to exhaust it's varops budget?". This again enables us to think concretely about my thesis (yet to be proven to my satisfaction!) that it's possible to have a budget which allows any reasonable scripts not to worry about it.

Reply to this note

Please Login to reply.

Discussion

Awesome, thank you for your work! What's the expected variance on the performance of these different components on different CPU architectures? Are there going to be larger discrepancies or are CPUs handling most of it the same?

So far I've got the RPI3, RPI5, my Intel laptop and my AMD build machine. Neither of the last two are recent, but I'm not really interested in speed records.

There's some variance: the RPI5 wins at SHA256 for example. The RPI3 loses at everything:) There's real variance in the "fast" ops between RPi and x86. I'll post more when I'm at my desktop.

Importantly, I'm benchmarking the actual opcodes, run through the script interpreter. I really want to benchmark the complete set to make sure there are no surprises...