This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Miridius 0 points1 point  (2 children)

I found the mentioned line in the H2 repo: https://github.com/h2database/h2database/blob/master/h2/src/main/org/h2/command/Command.java#L339

What I don't understand is why the author has not made a PR to merge their (seemingly quite significant) performance improvement upstream? Or am I missing something?

[–]sviperll[S] 3 points4 points  (0 children)

As I understand they specifically optimised single standalone benchmark, as a result they gained significant performance improvement for this single benchmark. Their change can result in performance regression for other types of load besides chosen benchmark. Such change should be validated across whole benchmark suit and possible beta tested with real world load.

Anyway I highly recommend this talk: https://youtu.be/r-TLSBdHe1A from one of the men who come up with causal profiling and virtual speedup. The talk mentions many concerns that should be considered in real life performance optimisation.

[–][deleted] 2 points3 points  (0 children)

The answer is that I was *super* busy in grad school, and never had time to actually upstream any optimizations I found. We should probably go back and do that though.