Uploaded image for project: 'Commons Validator'
  1. Commons Validator
  2. VALIDATOR-252

Performance improvement of DomainValidator by change the regular expression

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.4.0 Release
    • 1.4.0 Release
    • Routines
    • None
    • Windows 2000 Professional, Pentium4 2.4GHz, RAM:512M, Eclipse 3.3m Junit 3.8.1

    Description

      It seemed to take very long time to match the regular expression when long TLD (consists of around 30-characters over TLD) was specified for DomainValidator, this exponential performance will make it appear that the program has hung.

      The match time improves if it is possible to change DOMAIN_LABEL_REGEX from using

      (?:) to (?>)
      

      as follows.

      DOMAIN_LABEL_REGEX = "\\p{Alnum}(?>[\\p{Alnum}-]*\\p{Alnum})*"
      

      (All unit tests in DomainValidatorTest are succeed even if it changes as shown in the above-mentioned.)

      Attachments

        1. DomainValidator.java.diff
          1 kB
          Makoto Uchino

        Activity

          People

            bens Ben Speakmon
            makoml Makoto Uchino
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: