WillAyd opened a new issue, #45332:
URL: https://github.com/apache/arrow/issues/45332

   ### Describe the enhancement requested
   
   When reviewing the output of ClangBuildAnalyzer, it appears that the 
`arrow/array/data.h` header is considered to be the most expensive include:
   
   ```
   **** Expensive headers:
   205021 ms: /home/willayd/clones/arrow/cpp/src/arrow/array/data.h (included 
168 times, avg 1220 ms), included via:
     27x: array.h array_base.h 
     11x: array_base.h 
     6x: api_scalar.h datum.h 
     6x: function.h kernel.h exec.h 
     5x: <direct include>
     5x: builder_primitive.h builder_base.h array_base.h 
     ...
   
   158726 ms: /home/willayd/clones/arrow/cpp/src/arrow/array/array_base.h 
(included 168 times, avg 944 ms), included via:
     28x: array.h 
     11x: <direct include>
     6x: api_scalar.h datum.h scalar.h extension_type.h 
     6x: function.h kernel.h exec.h expression.h datum.h scalar.h 
extension_type.h 
     5x: builder_primitive.h builder_base.h 
     5x: gtest.h array.h 
     ...
   
   121366 ms: /home/willayd/clones/arrow/cpp/src/arrow/type.h (included 202 
times, avg 600 ms), included via:
     13x: array.h array_base.h data.h statistics.h 
     12x: array.h array_base.h data.h cassert 
     9x: array_base.h data.h statistics.h 
     6x: api_scalar.h datum.h data.h cassert statistics.h 
     5x: data.h statistics.h 
     5x: builder_primitive.h builder_base.h array_base.h data.h cassert 
     ...
   ```
   
   According to iwyu, there are a dozen or so instances where inclusion of that 
header can be replaced with a forward declaration of `ArrayData`, which should 
help reduce build time
   
   ### Component(s)
   
   C++


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to