String concatenation got a big overhaul in JDK 9 with JEP 280, bringing throughput improvements at the cost of startup, warmup and footprint overheads. This video goes through the current implementation, discusses some past efforts at getting things up to speed, and a few workarounds we’ve recently had to implement to avoid resource starvation issues when expressions get too complex. It then outlines a prototype which stays true to the spirit of JEP 280 while solving most of these edge issues. All the while improving significantly over the current baseline on startup, footprint and warmup metrics across the board.
Resources
• Indify String Concatenation ➤
• String Templates (Preview) ➤
• Class-File API (2nd Preview) ➤
• JDK23 String Concat Fix ➤
• String Concatenation, Redux ➤
• Project Leyden ➤
• PR - Consolidate and streamline String concat code shapes ➤
• PR - Efficient hidden class-based string concatenation strategy ➤
• Inside Java ➤
• ➤
• JVMLS ➤