tmio / tuweni

Tuweni is a set of libraries and other tools to aid development of blockchain and other decentralized software in Java and other JVM languages. It includes a low-level bytes library, serialization and deserialization codecs (e.g. RLP), various cryptography functions and primatives, and lots of other helpful utilities.
https://tuweni.tmio.io
Apache License 2.0
4 stars 4 forks source link

Reduce argument allocations for checkArgument to reduce gc pressure. #104

Closed david-ry4n closed 5 days ago

david-ry4n commented 1 week ago

PR description

The checkArgument( boolean, String, ... ) causes a large number of Integer and int[] to be created temporarily on the heap which causes gc pressure. This PR adds overloads which reduces object allocations to 0 for these method calls.

Fixed Issue(s)

ahamlat commented 1 week ago

You will need to run spotless.

macfarla commented 1 week ago

@atoulme improvement for memory allocation - are you accepting PRs into this project?

macfarla commented 1 week ago

looks like the GPG signing key has expired @atoulme

atoulme commented 1 week ago

I'll take a look.

david-ry4n commented 5 days ago

@atoulme would it be possible to get write access for me and a few others on this repo? Would like to get this change merged and be able to do releases when required.

macfarla commented 5 days ago

@atoulme this PR includes groupid change in build.gradle which is going to cause issues when publishing