Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-13291 Lift the scan ceiling
  3. HBASE-13307

Making methods under ScannerV2#next inlineable, faster

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.1.0, 2.0.0
    • Scanners
    • None
    • Reviewed
    • Made methods smaller under Scanner#next so inlinable and compilable (was getting 'too big to compile' from hotspot). Use of unsafe to parse shorts rather than use BB#getShort... faster, etc.

    Description

      See parent issue for patch and evidence.

      I was looking at graphs of our scan and found that methods were 'too big' to be inlined (looking at jvm compilation and inlining output flags – see parent for list). Changing method size helped some. Let me commit the resultant patch.

      Attachments

        1. 13307.txt
          7 kB
          Michael Stack
        2. traces.8.svg
          326 kB
          Michael Stack
        3. traces.9.svg
          336 kB
          Michael Stack
        4. 13307v2.branch-1.txt
          17 kB
          Michael Stack
        5. 13307v3.branch-1.txt
          20 kB
          Michael Stack
        6. 13307v4.branch-1.txt
          27 kB
          Michael Stack
        7. 13307v5.branch-1.txt
          20 kB
          Michael Stack
        8. 13307v6.branch-1.txt
          19 kB
          Michael Stack
        9. next.png
          9 kB
          Michael Stack
        10. cpu.png
          10 kB
          Michael Stack
        11. gc.png
          15 kB
          Michael Stack
        12. 13307v6.txt
          17 kB
          Michael Stack
        13. 13307v7.txt
          22 kB
          Michael Stack

        Issue Links

          Activity

            People

              stack Michael Stack
              stack Michael Stack
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: