vtkDataArray: split implementation into separate files
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:424 vtkDataArray_SetTuple_array.cxx.o
01:05.916 vtkDataArray_GetTuples_ids.cxx.o
01:07.637 vtkDataArray_InsertTuples_array_idlist.cxx.o
01:11.574 vtkDataArray_InsertTuples_array_range.cxx.o
01:17.122 vtkDataArray_GetTuples_range.cxx.o
Edited by Ben Boeckel