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

Performance improvement of DomainValidator by change the regular expression

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1.4.0 Release
    • Fix Version/s: 1.4.0 Release
    • Component/s: Routines
    • Labels:
      None
    • Environment:

      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

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: