Closed dcoutts closed 1 month ago
The main question is about how we want to treat the RocksDB benchmark. Is it worth keeping it in sync?
I think it is, yes. I think it's a useful reference point.
I'll do the syncing of the rocksdb benchmark as a follow-up.
Add the pipelined mode to the WP8 benchmark.
This is a bit awkward because to work with the real implementation it requires the duplicate action, which isn't implemented yet. So we can't get performance results for this yet.
I've tested the pipelined mode with the model implementation and that works fine, but I don't want to include that in the benchmark code because it pulls in too many other dependencies.
So to test the pipelined (and sequential) versions I've included a dynamic check that the results are the same as a simple pure reference function. This is enabled by --check. Hopefully the presence of the observation/output doesn't have much of a performance impact when it is disabled. Casual benchmark runs indicated the cost was less than the run-to-run variation.
The PR starts with a bunch of tidying up, including the patch from #271.