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