Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.20.0
    • Fix Version/s: 0.21.0
    • Component/s: conf
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      HADOOP-4187 introduced extra calls to Class.forName in ReflectionUtils.setConf. This caused a fairly large performance regression. Attached is a microbenchmark that shows the following timings (ms) for 100M constructions of new instances:

      Explicit construction (new Test): around ~1.6sec
      Using Test.class.newInstance: around ~2.6sec
      ReflectionUtils on 0.18.3: ~8.0sec
      ReflectionUtils on 0.20.0: ~200sec

      This illustrates the ~80x slowdown caused by HADOOP-4187.

      1. hadoop-6133-0.20.patch
        2 kB
        Todd Lipcon
      2. hadoop-6133-trunk.txt
        2 kB
        Todd Lipcon
      3. hadoop-6133-trunk.txt
        2 kB
        Todd Lipcon
      4. Test.java
        2 kB
        Todd Lipcon

        Issue Links

          Activity

          Todd Lipcon created issue -
          Todd Lipcon made changes -
          Field Original Value New Value
          Attachment Test.java [ 12412926 ]
          Todd Lipcon made changes -
          Attachment hadoop-6133-0.20.patch [ 12412928 ]
          Todd Lipcon made changes -
          Affects Version/s 0.20.0 [ 12313438 ]
          Component/s conf [ 12310711 ]
          Todd Lipcon made changes -
          Attachment hadoop-6133-trunk.txt [ 12416013 ]
          Todd Lipcon made changes -
          Status Open [ 1 ] Patch Available [ 10002 ]
          Chris Douglas made changes -
          Status Patch Available [ 10002 ] Open [ 1 ]
          Todd Lipcon made changes -
          Attachment hadoop-6133-trunk.txt [ 12418836 ]
          Todd Lipcon made changes -
          Status Open [ 1 ] Patch Available [ 10002 ]
          Chris Douglas made changes -
          Status Patch Available [ 10002 ] Resolved [ 5 ]
          Hadoop Flags [Reviewed]
          Resolution Fixed [ 1 ]
          Todd Lipcon made changes -
          Fix Version/s 0.21.0 [ 12313563 ]
          Fix Version/s 0.22.0 [ 12314296 ]
          Tom White made changes -
          Fix Version/s 0.22.0 [ 12314296 ]
          Tom White made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Robert Joseph Evans made changes -
          Link This issue breaks HADOOP-8632 [ HADOOP-8632 ]

            People

            • Assignee:
              Todd Lipcon
              Reporter:
              Todd Lipcon
            • Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development