21 | | Profiler output: |
| 21 | [[Image(flamegraph_isStripEmpty.png, 100%, title="Utils#isStripEmpty, Java 8")]] |
| 22 | Utils#isStripEmpty, Java 8 |
| 23 | |
| 24 | Allocations: |
| 25 | * Utils#isStripEmpty: 112 MB |
| 26 | * Arrays#copyOf: 57 MB |
| 27 | * AbstractPrimitive#getKeys: 25 MB |
| 28 | * String[]: 4 MB |
| 29 | |
| 30 | [[Image(flamegraph_isBlank_Java8.png, 100%, title="Utils#isBlank, Java 8")]] |
| 31 | Utils#isBlank, Java 8 |
| 32 | |
| 33 | Allocations: |
| 34 | * Arrays#copyOf: 61 MB |
| 35 | * AbstractPrimitive#getKeys: 3.5 MB |
| 36 | * String[]: 2.3 MB |
| 37 | |
| 38 | [[Image(flamegraph_isBlank_Java17.png, 100%, title="Utils#isBlank, Java 17")]] |
| 39 | Utils#isBlank, Java 17 |
| 40 | |
| 41 | Allocations: |
| 42 | * Arrays#copyOf: 21 MB |
| 43 | * AbstractPrimitive#getKeys: 43 MB |
| 44 | * String[]: 12 MB |
| 45 | |
| 46 | |
| 47 | There is a bit of jitter, but the primary cost of AbstractPrimitive#put is from `Utils#isStripEmpty`. |