Skip to content
  • Ben Boeckel's avatar
    vtkDataArray: split implementation into separate files · 4030949c
    Ben Boeckel authored
    Array dispatching significantly increases compile time. Using `clang`,
    the prior `vtkDataArray.cxx` took almost 5 minutes to compile. By
    splitting out the implementations into separate files, overall
    compilation time is now 77 seconds on the same hardware (with 14
    workers).
    
    Sample timings (sample size of 1):
    
    Time to complete CommonCore:
    
    Before:  08:06.120
    After:   05:03.382
    
    Individual objects:
    
    Before:
    
       04:51.551   vtkDataArray.cxx.o
    
    After:
    
       00:01.746   vtkDataArray.cxx.o
       00:02.764   vtkDataArray_ScalarRange.cxx.o
       00:02.931   vtkDataArray_VectorRange.cxx.o
       00:02.955   vtkDataArray_FiniteScalarRange.cxx.o
       00:03.026   vtkDataArray_FiniteVectorRange.cxx.o
       00:08.553   vtkDataArray_InterpolateTuple_weights.cxx.o
       00:10.235   vtkDataArray_InsertTuples_array_idlist_range.cxx.o
       00:10.800   vtkDataArray_InterpolateTuple_time.cxx.o
       00:34.192   vtkDataArray_CopyComponent.cxx.o
       00:39.109   vtkDataArray_DeepCopy.cxx.o
       01:04:...
    4030949c