compile time of code using long tuples

Jonathan Wakely jwakely.gcc@gmail.com
Fri May 13 18:24:01 GMT 2022


On Fri, 13 May 2022, 19:16 Jonathan Wakely, <jwakely.gcc@gmail.com> wrote:

>
>
> On Fri, 13 May 2022, 19:13 Foelsche, Peter, <Peter_Foelsche@mentor.com>
> wrote:
>
>> I'm the author of some software which dumps out C++ code to be compiled
>> with g++.
>> This code sometimes contains many different and many long tuples. I
>> deduced that long tuples cause rather long compile times.
>> I already wrote some compression, which collects identical entries in
>> such a tuple and moves them into an array.
>> But this compression reduces (run-time) performance.
>> I already wrote different tuple implementations, and one of the compiles
>> much faster than the regular provided std::tuple.
>> What could be the criterium for such a tuple implementation, which makes
>> g++ take more or less compile time assuming the same code using this tuple?
>>
>
> Identical object layout on all targets, meaning size, alignment,
> base-class order, etc. It needs to be ABI-compatible.
>

I interpreted the question as asking what would be needed to replace the
existing std::tuple. I guess you mean what aspects of the implementation
affect compile time.

The number of template instantiations, and the number of overload
candidates for name lookup are probably important.


More information about the Gcc-help mailing list