String.subSequence and CR#6924259: Remove offset and count fields from java.lang.String (original) (raw)

Mike Duigou mike.duigou at oracle.com
Fri Jun 22 22:15:40 UTC 2012


I've made a test implementation of subSequence() utilizing an inner class with offset and count fields to try to understand all the parts that would be impacted. My observations thus far:

At this point I wonder if this is a feature worth pursuing.

Mike

On Jun 3 2012, at 13:44 , Peter Levart wrote:

On Thursday, May 31, 2012 03:22:35 AM mike.duigou at oracle.com wrote:

Changeset: 2c773daa825d Author: mduigou Date: 2012-05-17 10:06 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2c773daa825d

6924259: Remove offset and count fields from java.lang.String Summary: Removes the use of shared character array buffers by String along with the two fields needed to support the use of shared buffers. Wow, that's quite a change. So .substring() is not O(1) any more? Doesn't this have impact on the performance of parsers and such that rely on the performance caracteristics of the .substring() ? Have you considered then implementing .subSequence() not in terms of just delegating to .substring() but returning a special CharSequence view over the chars of the sub-sequence?



More information about the core-libs-dev mailing list