-
Notifications
You must be signed in to change notification settings - Fork 0
2. Performance
A secret not to tell: Frameworks nowadays try to do everything for everyone, but each additional functionality adds up also more entropy. This often means more complexity, more heap memory usage, less portability and less performance...
Here a different path is chosen: only functionalities who most people use in a "common use-case" scenario are supported, and are as optimized as possible. Why use a nuclear power plant when you only need to light a bulb?
Specific and more rare requirements should follow the inheritance route, or use other complex alternatives (luckly the minimalcode code is so minimal that is trivial to make an adapter).
The code of all benchmarks is available in the minimalcode-benchmark project, for public review.
Alternative libraries with similar functionality:
Get Benchmarks: nanoseconds required for each operation (lower is better)
Operation | Apache | Azekosky | MinimalCode | Jodd | Spring |
---|---|---|---|---|---|
Get Simple | 238,67 | 181,38 | 18,81 | 247,03 | 61,31 |
Get Nested | 791,44 | 495,83 | 135,55 | 319,31 | 228,86 |
Get Indexed | 168,06 | 289,93 | 26,69 | 279,19 | 285,70 |
Get Mapped | 174,81 | 284,32 | 28,00 | 329,47 | 880,14 |
Get Total | 1.372,98 | 1.251,45 | 209,04 | 1.175,00 | 1.456,01 |
Set Benchmarks: nanoseconds required for each operation (lower is better)
Operation | Apache | Azekosky | MinimalCode | Jodd | Spring |
---|---|---|---|---|---|
Set Simple | 252,83 | 377,42 | 22,10 | 275,18 | 773,88 |
Set Nested | 815,71 | 706,83 | 143,24 | 381,56 | 955,95 |
Set Indexed | 170,56 | 497,18 | 23,27 | 409,03 | 2.328,39 |
Set Mapped | 184,83 | 537,32 | 24,89 | 366,04 | 3.086,70 |
Set Total | 1.423,93 | 2.118,74 | 213,50 | 1.431,81 | 7.144,91 |