Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-8699

Use fixed byte array in HeapPointWriter

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 8.x, master (9.0)
    • Component/s: None
    • Labels:
      None
    • Lucene Fields:
      New

      Description

       

      {heapPointWriter}

       is always created with the same init size and max size. It might make sense to change the implementation to use a byte array instead of a growable structure as it has now. This seems to improve performance:

       

      Approach Index time (sec): Dev Index Time (sec): Base Index Time: Diff Force merge time (sec): Dev Force Merge time (sec): Base Force Merge Time: Diff Index size (GB): Dev Index size (GB): Base Index Size: Diff Reader heap (MB): Dev Reader heap (MB): Base Reader heap: Diff
      points 122.1s 147.0s -17% 51.9s 70.5s -26% 0.55 0.55 0% 1.57 1.57 0%
      shapes 211.1s 244.6s -14% 121.1s 135.0s -10% 1.29 1.29 0% 1.61 1.61 0%
      geo3d 154.2s 186.6s -17% 63.4s 82.8s -23% 0.75 0.75 0% 1.58 1.58 0%

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                ivera Ignacio Vera
                Reporter:
                ivera Ignacio Vera
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 2h
                  2h