Skip to content

README small improvement#321

Closed
Breus wants to merge 1 commit into
masterfrom
readme-update
Closed

README small improvement#321
Breus wants to merge 1 commit into
masterfrom
readme-update

Conversation

@Breus

@Breus Breus commented Jun 12, 2026

Copy link
Copy Markdown
Owner

No description provided.

@Breus Breus enabled auto-merge (squash) June 12, 2026 08:19
@github-actions

Copy link
Copy Markdown

Note

These results are affected by shared workloads on GitHub runners. Use the results only to detect possible regressions, but always rerun on a more stable machine before drawing conclusions!
Regressions/improvements are highlighted when the difference exceeds 3.0%.

Benchmark results

BaselineBenchmark

Method characters jsonSize maskedKeyProbability master (ops/s) PR (ops/s) change master alloc (B/op) PR alloc (B/op) alloc change
jacksonParseAndMask unicode 1kb 0.1 39,495 38,304 🔴 -3.0% 58,368.1 58,424.1 ⚪ +0.1%
writeFile unicode 1kb 0.1 5,694 4,826 🔴 -15.2% 5,920.4 5,920.5 ⚪ +0.0%
Full results — BaselineBenchmark
Method characters jsonSize maskedKeyProbability master (ops/s) PR (ops/s) change master alloc (B/op) PR alloc (B/op) alloc change
countBytes unicode 1kb 0.1 2,749,771 2,761,410 ⚪ +0.4% 0.0010 0.0010 ⚪ +0.0%
jacksonParseAndMask unicode 1kb 0.1 39,495 38,304 🔴 -3.0% 58,368.1 58,424.1 ⚪ +0.1%
jacksonParseOnly unicode 1kb 0.1 85,035 84,937 ⚪ -0.1% 17,616.0 17,704.0 ⚪ +0.5%
regexReplace unicode 1kb 0.1 4,107 4,147 ⚪ +1.0% 53,048.6 53,048.6 ⚪ -0.0%
writeFile unicode 1kb 0.1 5,694 4,826 🔴 -15.2% 5,920.4 5,920.5 ⚪ +0.0%

InstanceCreationBenchmark

No significant changes (all within 3.0%).

Full results — InstanceCreationBenchmark
Method numberOfTargetKeys master (ops/s) PR (ops/s) change master alloc (B/op) PR alloc (B/op) alloc change
jsonMasker 1000 1,592 1,573 ⚪ -1.2% 1,637,212 1,637,212 ⚪ -0.0%

JsonMaskerBenchmark

Method characters jsonPath jsonSize maskedKeyProbability master (ops/s) PR (ops/s) change master alloc (B/op) PR alloc (B/op) alloc change
jsonMaskerBytes unicode false 1kb 0.1 461,044 432,079 🔴 -6.3% 2,272.0 2,272.0 ⚪ +0.0%
jsonMaskerBytes unicode true 1kb 0.1 420,188 447,800 🟢 +6.6% 2,024.0 2,024.0 ⚪ -0.0%
Full results — JsonMaskerBenchmark
Method characters jsonPath jsonSize maskedKeyProbability master (ops/s) PR (ops/s) change master alloc (B/op) PR alloc (B/op) alloc change
jsonMaskerByteArrayStreams unicode false 1kb 0.1 246,988 248,960 ⚪ +0.8% 10,840.0 10,840.0 ⚪ +0.0%
jsonMaskerByteArrayStreams unicode true 1kb 0.1 245,855 247,963 ⚪ +0.9% 12,184.0 12,184.0 ⚪ +0.0%
jsonMaskerBytes unicode false 1kb 0.1 461,044 432,079 🔴 -6.3% 2,272.0 2,272.0 ⚪ +0.0%
jsonMaskerBytes unicode true 1kb 0.1 420,188 447,800 🟢 +6.6% 2,024.0 2,024.0 ⚪ -0.0%
jsonMaskerString unicode false 1kb 0.1 235,134 236,959 ⚪ +0.8% 10,176.0 10,176.0 ⚪ +0.0%
jsonMaskerString unicode true 1kb 0.1 217,559 211,155 ⚪ -2.9% 10,944.0 10,944.0 ⚪ +0.0%

LargeKeySetInstanceCreationBenchmark

Method keyLength numberOfTargetKeys master (ops/s) PR (ops/s) change master alloc (B/op) PR alloc (B/op) alloc change
jsonMasker 100 1000 135.23 130.87 🔴 -3.2% 32,372,226 32,372,251 ⚪ +0.0%
Full results — LargeKeySetInstanceCreationBenchmark
Method keyLength numberOfTargetKeys master (ops/s) PR (ops/s) change master alloc (B/op) PR alloc (B/op) alloc change
jsonMasker 100 1000 135.23 130.87 🔴 -3.2% 32,372,226 32,372,251 ⚪ +0.0%

StreamTypeBenchmark

Method jsonSize streamInputType streamOutputType master (ops/s) PR (ops/s) change master alloc (B/op) PR alloc (B/op) alloc change
jsonMaskerStreams 1kb ByteArrayStream ByteArrayStream 238,513 246,863 🟢 +3.5% 12,184.0 12,184.0 ⚪ +0.0%
Full results — StreamTypeBenchmark
Method jsonSize streamInputType streamOutputType master (ops/s) PR (ops/s) change master alloc (B/op) PR alloc (B/op) alloc change
jsonMaskerStreams 1kb ByteArrayStream ByteArrayStream 238,513 246,863 🟢 +3.5% 12,184.0 12,184.0 ⚪ +0.0%
jsonMaskerStreams 1kb ByteArrayStream FileStream 5,046 4,917 ⚪ -2.6% 9,208.5 9,208.5 ⚪ +0.0%
jsonMaskerStreams 1kb FileStream ByteArrayStream 91,562 90,764 ⚪ -0.9% 12,336.0 12,320.0 ⚪ -0.1%
jsonMaskerStreams 1kb FileStream FileStream 4,577 4,703 ⚪ +2.8% 9,392.5 9,392.5 ⚪ -0.0%

ValueMaskerBenchmark

Method characters jsonSize maskedKeyProbability master (ops/s) PR (ops/s) change master alloc (B/op) PR alloc (B/op) alloc change
maskWithRawValueFunction unicode 1kb 0.1 610,385 582,097 🔴 -4.6% 1,632.0 1,632.0 ⚪ +0.0%
maskWithTextValueFunction unicode 1kb 0.1 535,418 513,307 🔴 -4.1% 1,776.0 1,776.0 ⚪ +0.0%
Full results — ValueMaskerBenchmark
Method characters jsonSize maskedKeyProbability master (ops/s) PR (ops/s) change master alloc (B/op) PR alloc (B/op) alloc change
maskWithRawValueFunction unicode 1kb 0.1 610,385 582,097 🔴 -4.6% 1,632.0 1,632.0 ⚪ +0.0%
maskWithStatic unicode 1kb 0.1 653,200 658,687 ⚪ +0.8% 1,272.0 1,272.0 ⚪ +0.0%
maskWithTextValueFunction unicode 1kb 0.1 535,418 513,307 🔴 -4.1% 1,776.0 1,776.0 ⚪ +0.0%
Raw output (PR @ 718a8f5)
Benchmark                                                           (characters)  (jsonPath)  (jsonSize)  (keyLength)  (maskedKeyProbability)  (numberOfTargetKeys)  (streamInputType)  (streamOutputType)   Mode  Cnt         Score       Error   Units
BaselineBenchmark.countBytes                                             unicode         N/A         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4   2761409.828 ± 10851.948   ops/s
BaselineBenchmark.jacksonParseAndMask                                    unicode         N/A         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4     38304.093 ±   576.484   ops/s
BaselineBenchmark.jacksonParseOnly                                       unicode         N/A         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4     84936.776 ±  2270.961   ops/s
BaselineBenchmark.regexReplace                                           unicode         N/A         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4      4146.713 ±   231.875   ops/s
BaselineBenchmark.writeFile                                              unicode         N/A         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4      4826.097 ±  1310.159   ops/s
InstanceCreationBenchmark.jsonMasker                                         N/A         N/A         N/A          N/A                     N/A                  1000                N/A                 N/A  thrpt    4      1573.224 ±    38.871   ops/s
JsonMaskerBenchmark.jsonMaskerByteArrayStreams                           unicode       false         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4    248960.240 ±  7462.847   ops/s
JsonMaskerBenchmark.jsonMaskerByteArrayStreams                           unicode        true         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4    247962.688 ±  7935.632   ops/s
JsonMaskerBenchmark.jsonMaskerBytes                                      unicode       false         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4    432078.647 ±  5807.887   ops/s
JsonMaskerBenchmark.jsonMaskerBytes                                      unicode        true         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4    447799.970 ±  9360.619   ops/s
JsonMaskerBenchmark.jsonMaskerString                                     unicode       false         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4    236959.230 ±  2092.470   ops/s
JsonMaskerBenchmark.jsonMaskerString                                     unicode        true         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4    211155.235 ±  1550.983   ops/s
LargeKeySetInstanceCreationBenchmark.jsonMasker                              N/A         N/A         N/A          100                     N/A                  1000                N/A                 N/A  thrpt    4       130.867 ±     3.939   ops/s
StreamTypeBenchmark.jsonMaskerStreams                                        N/A         N/A         1kb          N/A                     N/A                   N/A    ByteArrayStream     ByteArrayStream  thrpt    4    246863.139 ±  4160.505   ops/s
StreamTypeBenchmark.jsonMaskerStreams                                        N/A         N/A         1kb          N/A                     N/A                   N/A    ByteArrayStream          FileStream  thrpt    4      4916.667 ±   446.929   ops/s
StreamTypeBenchmark.jsonMaskerStreams                                        N/A         N/A         1kb          N/A                     N/A                   N/A         FileStream     ByteArrayStream  thrpt    4     90764.361 ±  4262.339   ops/s
StreamTypeBenchmark.jsonMaskerStreams                                        N/A         N/A         1kb          N/A                     N/A                   N/A         FileStream          FileStream  thrpt    4      4703.384 ±  1763.892   ops/s
ValueMaskerBenchmark.maskWithRawValueFunction                            unicode         N/A         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4    582097.072 ± 11485.316   ops/s
ValueMaskerBenchmark.maskWithStatic                                      unicode         N/A         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4    658686.520 ± 20104.626   ops/s
ValueMaskerBenchmark.maskWithTextValueFunction                           unicode         N/A         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4    513306.686 ±  9317.482   ops/s
Raw output (master @ 550a7d4)
Benchmark                                                           (characters)  (jsonPath)  (jsonSize)  (keyLength)  (maskedKeyProbability)  (numberOfTargetKeys)  (streamInputType)  (streamOutputType)   Mode  Cnt         Score       Error   Units
BaselineBenchmark.countBytes                                             unicode         N/A         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4   2749771.069 ± 84869.400   ops/s
BaselineBenchmark.jacksonParseAndMask                                    unicode         N/A         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4     39494.506 ±   477.600   ops/s
BaselineBenchmark.jacksonParseOnly                                       unicode         N/A         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4     85035.309 ±  2480.731   ops/s
BaselineBenchmark.regexReplace                                           unicode         N/A         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4      4107.175 ±    54.372   ops/s
BaselineBenchmark.writeFile                                              unicode         N/A         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4      5693.765 ±  4292.461   ops/s
InstanceCreationBenchmark.jsonMasker                                         N/A         N/A         N/A          N/A                     N/A                  1000                N/A                 N/A  thrpt    4      1591.732 ±    32.501   ops/s
JsonMaskerBenchmark.jsonMaskerByteArrayStreams                           unicode       false         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4    246988.081 ± 29494.622   ops/s
JsonMaskerBenchmark.jsonMaskerByteArrayStreams                           unicode        true         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4    245855.153 ±  6496.015   ops/s
JsonMaskerBenchmark.jsonMaskerBytes                                      unicode       false         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4    461044.481 ±  5176.755   ops/s
JsonMaskerBenchmark.jsonMaskerBytes                                      unicode        true         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4    420187.667 ±  7394.723   ops/s
JsonMaskerBenchmark.jsonMaskerString                                     unicode       false         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4    235133.909 ±  8477.467   ops/s
JsonMaskerBenchmark.jsonMaskerString                                     unicode        true         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4    217559.470 ±  2055.316   ops/s
LargeKeySetInstanceCreationBenchmark.jsonMasker                              N/A         N/A         N/A          100                     N/A                  1000                N/A                 N/A  thrpt    4       135.228 ±     4.034   ops/s
StreamTypeBenchmark.jsonMaskerStreams                                        N/A         N/A         1kb          N/A                     N/A                   N/A    ByteArrayStream     ByteArrayStream  thrpt    4    238513.349 ±  2723.078   ops/s
StreamTypeBenchmark.jsonMaskerStreams                                        N/A         N/A         1kb          N/A                     N/A                   N/A    ByteArrayStream          FileStream  thrpt    4      5045.584 ±   542.745   ops/s
StreamTypeBenchmark.jsonMaskerStreams                                        N/A         N/A         1kb          N/A                     N/A                   N/A         FileStream     ByteArrayStream  thrpt    4     91561.687 ±   760.263   ops/s
StreamTypeBenchmark.jsonMaskerStreams                                        N/A         N/A         1kb          N/A                     N/A                   N/A         FileStream          FileStream  thrpt    4      4576.895 ±   677.800   ops/s
ValueMaskerBenchmark.maskWithRawValueFunction                            unicode         N/A         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4    610385.150 ±  9088.567   ops/s
ValueMaskerBenchmark.maskWithStatic                                      unicode         N/A         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4    653199.880 ± 15088.976   ops/s
ValueMaskerBenchmark.maskWithTextValueFunction                           unicode         N/A         1kb          N/A                     0.1                   N/A                N/A                 N/A  thrpt    4    535417.784 ±  5087.020   ops/s

@Breus Breus closed this Jun 12, 2026
auto-merge was automatically disabled June 12, 2026 08:39

Pull request was closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant