[Scons-users] SCons very slow on GitHub actions
Bill Deegan
bill at baddogconsulting.com
Mon Apr 28 16:05:54 EDT 2025
What have you tried thus far?
Have you run with : --debug=time ?
I'm on vacation at the moment, so don't have a bunch of time or resources
to take a look at this until later in the week.
Is this a commercial project? or open source and free?
How complicated is setting up a win11 machine to do your build?
Any reason to limit yourself to python 3.11?
There have been gains in performance with 3.12 and 3.13 as far as I know.
Might be worth moving forward if you can?
-Bill
On Mon, Apr 28, 2025 at 9:31 AM Leonard de Ruijter <alderuijter at gmail.com>
wrote:
> Hello Bill,
>
>
> I'm using this as an example of the real issue.
>
> For NVDA (https://github.com/nvaccess/nvda/), which is a bigger project,
> the reading script files phase takes more than two minutes.
>
> There's also osara: https://github.com/jcsteh/osara/pull/1235
>
> In the linked pull request, I performed some tests to improve build times,
> with no avail yet. I will try the environment variable as suggested.
>
>
> Regards,
>
>
> Leonard
> On 4/28/2025 8:31 PM, Bill Deegan wrote:
>
> Is the scons-examples repo your actual issue?
> Or are you just using this as an example of your real issue?
> If so, please explain.
>
> On Mon, Apr 28, 2025 at 8:30 AM Bill Deegan <bill at baddogconsulting.com>
> wrote:
>
>> Curious. Have you tried to compare the runtimes of each of the examples?
>> I wouldn't be surprised if one of the examples shows a much larger
>> difference in runtime than the others
>>
>> Ok. I took a look.
>> Chances are the tests which are missing:
>>
>> # Skip initializing any tools in the DefaultEnvironment
>> # as we're not using it.
>> DefaultEnvironment(tools=[])
>>
>> Are the ones taking much longer on Windows.
>> This is because when SCons starts up it initializes the
>> DefaultEnvironment(), in particular MSVC initialization is low.
>> The above code tell's SCons basically we're not going to use it, so don't
>> initialize it.
>>
>> There's also some logic to cache the MSVC initialization which could be
>> turned on.
>>
>> Add this to your github actions .yml file:
>> env:
>> SCONS_CACHE_MSVC_CONFIG: 1
>>
>> In general the scons-examples are meant to be simple examples of
>> different SCons usage.
>> Not the most optimized for build time, as for some users this isn't an
>> issue for a simple build.
>> (especially if they're not on windows)
>>
>> I just made a PR with these changes.
>> https://github.com/SCons/scons-examples/pull/8
>>
>> I'll merge them, and then you can rebase/merge into your PR and let us
>> know if that improves things.
>>
>>
>> -Bill
>>
>> On Mon, Apr 28, 2025 at 5:57 AM Mats Wichmann <mats at wichmann.us> wrote:
>>
>>> On 4/28/25 07:42, Leonard de Ruijter wrote:
>>> > Dear Mats,
>>> >
>>> >
>>> > Thanks for your quick reply.
>>> >
>>> > You can find comparison times in https://github.com/LeonarddeR/scons-
>>> > examples/actions/runs/14706591575
>>> >
>>> > This uses the workflow file found in https://github.com/SCons/scons-
>>> > examples/pull/7
>>>
>>> as an aside, I see several of the packaging examples are broken. We
>>> moved most of these out of the manpage a while back to better align
>>> where things were done. I've seen that tag attribute error before...
>>> suppose I should go poke at those again someday.
>>> _______________________________________________
>>> Scons-users mailing list
>>> Scons-users at scons.org
>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>
>>
> _______________________________________________
> Scons-users mailing listScons-users at scons.orghttps://pairlist4.pair.net/mailman/listinfo/scons-users
>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20250428/27e042d1/attachment-0001.htm>
More information about the Scons-users
mailing list