|
|
|
|
|
by moru0011
4053 days ago
|
|
pointless. Its the number of objects not the size of primitive fields (e.g. the char array) which hurts GC and consumes memory. This proposal will save <10% on an average short string instance but probably waste performance. |
|
But I agree with you on the performance side. My impression is that a lot of Java applications are simple data pumps. They read data from a database and send it to a client. It's hard to see how this JEP helps in that case:
- read bytes from the network (probably UTF-8)
- convert bytes to Java Strings
- compress Java String (ASCII, Latin-1, UTF-8) new
- "render" String to Writer (HTML, XML, JSON, ...)
- decompress Java String for Writer new
- encode to again UTF-8 for OutputStream/browser
In this case this would increase allocation rates and increase CPU load for a potentially smaller old gen.
The only real way to optimize this would be to redesign the String class to be encoding aware and update the Writer classes accordingly. This is unlikely to happen and would hurt other use cases.