nice, shaving 4 bytes off every object header sounds small until you remember how many objects a typical java app allocates. death by a thousand cuts in reverse
honestly the jvm team has been shipping some really solid improvements lately. between this, virtual threads, and the pattern matching stuff, java's having a quiet renaissance
For context what percentage is that? Our Spring Boot servers are each running with about 0.5 GB so if we can cut that by 100 MB, that would cut our spending on memory by 20%.
I also recently worked on reducing header size in a language, and it's nice to see that independent work trends toward the same designs.
It seems attempting to reserve low virtual memory (like the first 1GB) is becoming quite popular to compress vtable pointers without needing to add back an offset for de-referencing.
Though in my case, compact headers are easier to achieve, because I don't have to deal with identity hashcode, all-objects-are-locks, etc.
hl_lost@reddit
nice, shaving 4 bytes off every object header sounds small until you remember how many objects a typical java app allocates. death by a thousand cuts in reverse
honestly the jvm team has been shipping some really solid improvements lately. between this, virtual threads, and the pattern matching stuff, java's having a quiet renaissance
matthieum@reddit
I like Int:
Perfect.
One_Being7941@reddit
In an app I'm building it cut 100 meg off the ram. Sweet.
ArtOfWarfare@reddit
For context what percentage is that? Our Spring Boot servers are each running with about 0.5 GB so if we can cut that by 100 MB, that would cut our spending on memory by 20%.
MmmmmmJava@reddit
I hereby approve this. Please proceed.
backfire10z@reddit
Thank you, this is the go ahead I was looking for
simon_o@reddit
I also recently worked on reducing header size in a language, and it's nice to see that independent work trends toward the same designs.
It seems attempting to reserve low virtual memory (like the first 1GB) is becoming quite popular to compress vtable pointers without needing to add back an offset for de-referencing.
Though in my case, compact headers are easier to achieve, because I don't have to deal with identity hashcode, all-objects-are-locks, etc.
Before:
After:
BinaryRage@reddit
It’s free memory.
BlueGoliath@reddit (OP)
Unused RAM is wasted RAM.