Hi,
after opening #21394 I thought I ran some benchmarks again on a project with a large amount of configuration properties. We've used https://github.com/martinvisser/config-properties-example in the past for this.
When doing so, I get the following results:
RC1 | Snapshot | |
---|---|---|
5.218 | 5.639 | |
5.737 | 5.917 | |
5.417 | 5.696 | |
5.439 | 5.739 | |
5.111 | 5.786 | |
5.133 | 5.854 | |
5.134 | 5.677 | |
5.335 | 6.680 | |
5.227 | 6.011 | |
5.250 | 5.778 | |
Mean | 5.300 | 5.878 |
Range | 0.626 | 1.041 |
As you can see, the latest snapshot is about half a second slower than RC1. I'm not quite sure yet if this can be only traced back to the new hashCode calculation that was introduced in #20625, so I thought I better open an issue to investigate.
Cheers, Christoph
Comment From: dreis2211
After #21394 was merged I see roughly the same numbers, so it didn't really improve things.
Comment From: dreis2211
Further investigation shows the following differences between RC1 and current snapshot builds:
This seems to be related to https://github.com/spring-projects/spring-boot/commit/b4963d2463188153a9dd2e34af6b48dc5b47be51 or the work done in #20625 or a combination of both. But I can't pinpoint it, yet.
Comment From: philwebb
Thanks for spotting this.
Comment From: philwebb
@dreis2211 I've pushed something that I think will make a difference. Could you try your sample app again and see if things have improved?
Comment From: dreis2211
@philwebb We're good. It's even better than in 2.2.7 now. Thanks a lot.
RC1 | Snapshot | |
---|---|---|
5.641 | 4.242 | |
6.445 | 4.123 | |
5.592 | 4.270 | |
6.138 | 4.537 | |
5.471 | 4.185 | |
5.846 | 4.149 | |
6.517 | 4.206 | |
6.522 | 4.198 | |
5.442 | 4.187 | |
5.664 | 4.164 | |
Mean | 5.928 | 4.226 |
Range | 1.080 | 0.414 |
2.3.0 | 2.2.7 | |
---|---|---|
4.314 | 5.196 | |
4.016 | 5.895 | |
4.195 | 6.808 | |
4.117 | 6.681 | |
4.229 | 6.490 | |
4.102 | 6.702 | |
4.080 | 6.766 | |
4.025 | 6.771 | |
4.084 | 6.563 | |
4.082 | 6.223 | |
Mean | 4.124 | 6.409 |
Range | 0.298 | 1.612 |
Comment From: mbhave
@dreis2211 Out of curiosity, did you do a local build to get the latest snapshot? Asking because I don't think repo.spring.io has this change yet due to a failed build.
Comment From: dreis2211
I did, @mbhave
Comment From: mbhave
thanks for confirming!