Date: Mon, 21 Aug 2023 00:17:20 +0500
Hi
It is a kind request to please comment on the merit, plausibility,
usefulness, and interest in my proposal.
I will resay the bottom line. This improves compilation-speed by 25-40% in
the case of header-files to header-unit replacement approach on top of
speed-up achieved by the conventional compilation approach.
In the case of modules, it improves the compilation-speed by 3-5%.
I will be very grateful.
Best
Hassan Sajjad
On Mon, Aug 14, 2023, 04:51 Hassan Sajjad <hassan.sajjad069_at_[hidden]>
wrote:
> Hi.
>
> Thank you so much for explaining the solution. It is a happy news. With
> this consensus adoption, my build-system achieves full standard compliance
> without any modifications required. This is however less optimal compared
> to solution 5 that I proposed. Depending on different factors, I conjecture
> that my solution will be up to *40%* faster compared to the current
> consensus. The compilation speed-up will be more visible in clean builds
> using C++20 modules / header-units. Here I explain the reasoning behind
> this: https://github.com/HassanSajjad-302/solution5.
>
> Best,
> Hassan Sajjad
>
> On Wed, Aug 2, 2023 at 9:10 PM Daniel Ruoso <daniel_at_[hidden]> wrote:
>
>> On Wed, Aug 2, 2023, 11:52 Hassan Sajjad <hassan.sajjad069_at_[hidden]>
>> wrote:
>>
>>> https://youtu.be/_LGR0U5Opdg?t=3148
>>>
>>> How this example is to be compiled by the build-system after the new
>>> consensus. During the scanning, build-system can not supply the dependency
>>> header-units, as it does not know them beforehand. The scanner will error
>>> out because of the unavailability of the header-unit.
>>>
>>
>> The dependency scanning has to emulate the import by finding the header
>> file and starting a new preprocessor state to do it, and then report the
>> entire dependency graph of the header units used by that translation unit.
>>
>> Daniel
>>
>>>
It is a kind request to please comment on the merit, plausibility,
usefulness, and interest in my proposal.
I will resay the bottom line. This improves compilation-speed by 25-40% in
the case of header-files to header-unit replacement approach on top of
speed-up achieved by the conventional compilation approach.
In the case of modules, it improves the compilation-speed by 3-5%.
I will be very grateful.
Best
Hassan Sajjad
On Mon, Aug 14, 2023, 04:51 Hassan Sajjad <hassan.sajjad069_at_[hidden]>
wrote:
> Hi.
>
> Thank you so much for explaining the solution. It is a happy news. With
> this consensus adoption, my build-system achieves full standard compliance
> without any modifications required. This is however less optimal compared
> to solution 5 that I proposed. Depending on different factors, I conjecture
> that my solution will be up to *40%* faster compared to the current
> consensus. The compilation speed-up will be more visible in clean builds
> using C++20 modules / header-units. Here I explain the reasoning behind
> this: https://github.com/HassanSajjad-302/solution5.
>
> Best,
> Hassan Sajjad
>
> On Wed, Aug 2, 2023 at 9:10 PM Daniel Ruoso <daniel_at_[hidden]> wrote:
>
>> On Wed, Aug 2, 2023, 11:52 Hassan Sajjad <hassan.sajjad069_at_[hidden]>
>> wrote:
>>
>>> https://youtu.be/_LGR0U5Opdg?t=3148
>>>
>>> How this example is to be compiled by the build-system after the new
>>> consensus. During the scanning, build-system can not supply the dependency
>>> header-units, as it does not know them beforehand. The scanner will error
>>> out because of the unavailability of the header-unit.
>>>
>>
>> The dependency scanning has to emulate the import by finding the header
>> file and starting a new preprocessor state to do it, and then report the
>> entire dependency graph of the header units used by that translation unit.
>>
>> Daniel
>>
>>>
Received on 2023-08-20 19:17:35