Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-11907

Use the joni byte[] regex engine in place of j.u.regex in RegexStringComparator

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 0.98.7, 0.99.1
    • None
    • None
    • Reviewed
    • Hide
      The RegexStringComparator comparator now include an optional EngineType constructor parameter. Use EngineType.JONI to select the joni regex engine, which can be twice as fast as the Java regex engine and will be more efficient, producing less object churn while scanning, because it operates natively on byte arrays. RegexStringComparator still uses the Java regex engine by default.
      Show
      The RegexStringComparator comparator now include an optional EngineType constructor parameter. Use EngineType.JONI to select the joni regex engine, which can be twice as fast as the Java regex engine and will be more efficient, producing less object churn while scanning, because it operates natively on byte arrays. RegexStringComparator still uses the Java regex engine by default.

    Description

      The joni regex engine (https://github.com/jruby/joni), a Java port of Oniguruma regexp library done by the JRuby project, is:

      • MIT licensed
      • Designed to work with byte[] arguments instead of String
      • Capable of handling UTF8 encoding
      • Regex syntax compatible
      • Interruptible
      • About twice as fast as j.u.regex
      • Has JRuby's jcodings library as a dependency, also MIT licensed

      Attachments

        1. HBASE-11907.patch
          31 kB
          Andrew Kyle Purtell
        2. HBASE-11907.patch
          31 kB
          Andrew Kyle Purtell
        3. HBASE-11907.patch
          33 kB
          Andrew Kyle Purtell
        4. HBASE-11907.patch
          33 kB
          Andrew Kyle Purtell
        5. 11907-1.0.addendum
          0.9 kB
          Ted Yu

        Activity

          People

            apurtell Andrew Kyle Purtell
            apurtell Andrew Kyle Purtell
            Votes:
            0 Vote for this issue
            Watchers:
            11 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: