Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6840246

Lightweight implementation of String.split for simple use case

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 7
    • Fix Version/s: 7
    • Component/s: core-libs
    • Labels:
    • Subcomponent:
    • Resolved In Build:
      b71
    • CPU:
      generic
    • OS:
      generic

      Description

      String.split(regex, limit) uses regex as the implementation and returns java.util.regex.Pattern.compile(regex).split(this, limit).

      A simple use of String.split (e.g. the regex is just one character-delimiter) will need to initialize the regex engine and load many regex classes that is pretty heavy-weight.

      Most of the String.split calls from the JRE implementation are the simple case e.g. regex parameter is "=", ":", ",", "\0", "\\|"

      We can implement a lightweight version of String.split for these simple regex to avoid loading the regex engine. Alternatively, if feasible, implement a lightweight version of the regex support so that String.replaceAll, String.replaceFirst, String.replace(CharSequence, CharSequence), and String.matches can take advantage of such optimization.

        Attachments

          Activity

            People

            • Assignee:
              sherman Xueming Shen
              Reporter:
              mchung Mandy Chung
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Imported:
                Indexed: