[Scons-users] Anyone depending on having per directory SConsign files

Steve Hill (Wireless) Steve.Hill1 at viavisolutions.com
Thu Nov 26 02:53:01 EST 2020


Hi Bill,

Yes, we do use this – but the use-case is a little complex…

It started when we were still running with a 32-bit version of Python. Since the code to write back the SConsign assembles it in memory first, and our SConsign was many hundreds of MB in size, it was sometimes causing an out-of-memory exception.

Hence, what I did was to create a patched version of the DirFile class that wrote back a file per directory but named with a hash of the directory name and stored in a single sub-directory below the SConstruct, and patched SCons with that class. I then used SConsignFile(None) to invoke the new behaviour.

This solved the out-of-memory issue and, even when we moved to a 64-bit version of Python, it was a performance improvement since, if a dev was only building a small proportion of the overall codebase (a common use-case – just running the unit-test suite for a single source file when TDDing, for instance), writing back a few relatively small files was often much quicker than writing back a several hundred MB file.

Cheers,

S.


From: Scons-users <scons-users-bounces at scons.org> On Behalf Of Bill Deegan
Sent: 25 November 2020 18:50
To: SCons users mailing list <scons-users at scons.org>
Subject: [Scons-users] Anyone depending on having per directory SConsign files

EXTERNAL EMAIL: Do not click links or open attachments unless you know and trust the sender.

Greetings,

We continue to prune old code and remove unused and deprecated logic to make SCons easier to maintain.

We're wondering if anyone uses the per directory SConsign file which is enabled by


# Stores signatures in a separate .sconsign file

# in each directory.

SConsignFile(None)

Please speak up now if you depend on this and explain your use case, otherwise we're going to start the deprecation cycle  for this functionality.

-Bill
SCons Project Co-Manager
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20201126/4da6e00a/attachment.html>


More information about the Scons-users mailing list