RFR (S) CR 8006627/8007398: Improve performance of Long.toUnsignedString0, Integer.toUnsignedString0, UUID(String) and UUID.toString (original) (raw)

Ulf Zibis Ulf.Zibis at CoSoCo.de
Wed Feb 13 01:24:12 UTC 2013


Am 13.02.2013 00:30, schrieb Mike Duigou:

Hi Steven;

I have updated the patch for Java 8. There's somewhat less code sharing and a bit of refactoring than your last version but the performance should be about the same or a little better. http://cr.openjdk.java.net/~mduigou/JDK-8007398/0/webrev/

Couldn't you use String(buf, true) for all to(Unsigned)String(...) methods ?

Instead of calculating the mask each time, you could use: 309 private static String toUnsignedString(int i, int shift, int mask) {

Additionally in e.g. Integer.toString(int i, int radix) you could provide the fast version with: 134 /* Use the faster version */ 135 switch (radix) { 136 case 2: return toString(i, 1, 0x1); 136 case 4: return toString(i, 2, 0x3); 136 case 8: return toString(i, 3, 0x7); 136 case 10: return toString(i); 136 case 16: return toString(i, 4, 0xF); 136 case 32: return toString(i, 5, 0x1F); 137 }

-Ulf



More information about the core-libs-dev mailing list