[ http://issues.apache.org/jira/browse/DERBY-731?page=all ]
Daniel John Debrunner closed DERBY-731:
---------------------------------------
Resolution: Fixed
> org.apache.derby.impl.sql.compile.StringSlice is an inefficient way to do
> substring
> -----------------------------------------------------------------------------------
>
> Key: DERBY-731
> URL: http://issues.apache.org/jira/browse/DERBY-731
> Project: Derby
> Type: Improvement
> Components: SQL, Performance
> Reporter: Daniel John Debrunner
> Assignee: Daniel John Debrunner
> Priority: Trivial
> Fix For: 10.2.0.0
>
> StringSlicer is a class that is basically implementing String.substring()
> with an optional trim in an inefficient manner.
> It creates a char array from the original string and uses this new array to
> create sub strings. This means one allocation
> and copy for the original char array and another allocation and copy for
> every subsequent slice operation.
> String.substring performs the same functionality but it can create
> sub-strings without the character array allocation
> and copy by re-using the character arrray hidden within the original string.
> I've been running tests with a additional code in StringSlicer that compares
> its output with that of String.substring with
> no differences. One minor annoyance is that StringSlicer uses an inclusive
> end offset while String.substring uses an
> exclusive end offset.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira