Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
HV 6 Memory and performance improvements #814
Note 2: the order of the commits displayed below is not exactly the one I have in my branch - the order of the HV-1439 commits is more consistent in my branch.
It's a big one. I started working on the different subjects separately but as I touched the same code and had the same issues, I had to cherry-pick some of the commits in other branches and finally ended up joining the efforts in one branch. The commits are well isolated and should be easily understandable by reading the commit comment and the code.
There are several things here:
These are memory footprint improvements. The idea was mostly to reduce the size of the metadata. The example reported by Stuart is kinda extreme: see https://github.com/keycloak/keycloak/blob/master/model/jpa/src/main/java/org/keycloak/models/jpa/entities/RealmEntity.java .
6.0 was already better than 5.x as I introduce the
All in all, we reduced the
I'll post something on the list about some other things I'd like to discuss.
The benchmarks were a bit painful to use when you wanted to compare closely 2 versions and switch from one to the other.
I pushed some clean ups to them.
I also removed the iterative benchmarks which were useless.
Some runtime performance improvements
Nothing big but a few things I noticed while benchmarking and it definitely improved the performances.
Quite a lot of parsing/metadata building improvements
The situation was quite bad here so I made quite a lot of improvements to reduce the startup cost of HV.
A small fix required by the other changes.