[Scons-users] build time

Brady Johnson bradyallenjohnson at gmail.com
Tue Jul 10 03:18:11 EDT 2012


ok, thanks. I didnt get a chance to answer yesterday regarding using the
Python multiprocessing module. Those were excellent points brought up about
sharing the data, etc.

Regards,

Brady

On Mon, Jul 9, 2012 at 7:52 PM, William Deegan <bill at baddogconsulting.com>wrote:


> Brady,

> On Jul 9, 2012, at 12:28 AM, Brady Johnson wrote:

>

> Bill,

>

> Sorry for not answering, I thought the question was directed to Tom

> Tanner. Personally, I dont have many builders with involved Python logic.

> Looking at it from the point of view you just mentioned, it makes sense

> that the GIL shouldnt have that much impact, but I guess it would be better

> to test it.

>

>

>

> If you move any python based builders to scripts which can be invoked you

> will see your parallelism go up.

> I've made this mistake in the past.

> In general on larges builds I'll see all my cpu's pegged by using -J from

> start to end of the build barring dependencies as described before with

> dependency trees which get wide, and then narrow..

>

> -Bill

>

>

> Regards,

>

> Brady

>

> On Mon, Jul 9, 2012 at 12:21 AM, William Deegan <bill at baddogconsulting.com

> > wrote:

>

>> Russel,

>>

>> On Jul 7, 2012, at 4:30 AM, Russel Winder wrote:

>>

>> > On Sat, 2012-07-07 at 12:07 +0200, Brady Johnson wrote:

>> >> What would be cool would be for SCons to be able to use the Python

>> >> multiprocessing module instead of threads. The API is very similar by

>> >> design, so it shouldnt be too difficult to change. Then all available

>> >> CPUs/cores could be used without having to deal with the GIL. And maybe

>> >> this would be too much, but if it were configurable, that would just be

>> >> awesome.

>> >>

>> >> Thoughts, anyone?

>> >

>> > This would require setting the SCons Python floor to 2.6 – well it could

>> > be done with 2.5 as there is a backport of multiprocessing to 2.5, but I

>> > think 2.6 would be a better option. The problem is that there are a lot

>> > of 2.4 users out there who are unwilling and/or unable to upgrade.

>> >

>> > There are many options.

>> >

>> > 1. Up the floor anyway and only allow SCons updates to be used by people

>> > runing 2.6 or higher.

>> >

>> > 2. Do nothing and continue to use 2.4 as the floor.

>> >

>> > 3. Use the PyPy with STM instead of a GIL.

>> >

>> > 4. Ensure all actions get spawned via ctypes of some such so they are

>> > not running Python bytecodes and thus not constrained by GIL.

>> >

>> > 5. Rewrite SCons in Python 3 an make some real progress whilst really

>> > annoying people stuck on Python 2.4 :-)

>>

>> As I understand it, the GIL only becomes a problem for SCons if you have

>> builders which are python logic. If you change such that they are scripts

>> run from the command line, then the GIL no longer comes into play.

>>

>> Also important to keep in mind that depending on the specifics of a build

>> there may be only so much parallelism which would be possible.

>> (Think 100 sources files each build 2 libraries which then build a

>> program, which then is run to generate source files...)

>>

>> Thus my question (unanswered) to Brady if he had any python builder

>> logic...

>>

>> -Bill

>> _______________________________________________

>> Scons-users mailing list

>> Scons-users at scons.org

>> http://four.pairlist.net/mailman/listinfo/scons-users

>>

>

> _______________________________________________

> Scons-users mailing list

> Scons-users at scons.org

> http://four.pairlist.net/mailman/listinfo/scons-users

>

>

>

> _______________________________________________

> Scons-users mailing list

> Scons-users at scons.org

> http://four.pairlist.net/mailman/listinfo/scons-users

>

>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://four.pairlist.net/pipermail/scons-users/attachments/20120710/b953faab/attachment.htm>


More information about the Scons-users mailing list