firefox-x11 & matplotlib

Ryan Schmidt ryandesign at macports.org
Thu Jun 17 15:28:30 PDT 2010


On Jun 17, 2010, at 16:33, Instruct ICC wrote:

> Also, I found out something interesting last night while trying to build all the components separately from multiple Terminals.  MacPorts is smart enough to lock files, so any Terminal would block until the file was unlocked or perform the next step even if another Terminal had started the install.

Not entirely:

http://trac.macports.org/ticket/19935


> My machine was starved for processes.  It would be cool if a new strategy was implemented by MacPorts to spawn multiple threads of building all the dependencies to run in parallel instead of serially.  The existing locking mechanism would sort it out.  I bet build/install times would be shorter.  Even single core machines would benefit.  I don't know how you'd sync the logging of what steps are happening though -- Maybe just preface each log like so:
> 
> [Thread 1: ]--->  Computing dependencies for firefox-x11
> [Thread 1: ]--->  Dependencies to be installed: xulrunner gconf dbus-glib dbus policykit libcanberra libnotify
> [Thread 1: ]--->  Spawning threads: xulrunner gconf dbus-glib dbus policykit libcanberra libnotify
> [Thread 2: ]--->  Computing dependencies for xulrunner
> [Thread 3: ]--->  Computing dependencies for gconf
> [Thread 4: ]--->  Computing dependencies for dbus-glib
> [Thread 5: ]--->  Computing dependencies for dbus
> [Thread 6: ]--->  Computing dependencies for policykit
> [Thread 7: ]--->  Computing dependencies for libcanberra
> [Thread 8: ]--->  Computing dependencies for libnotify
> [Thread 1: ]--->  Building dbus
> etc.

I can see that there might be a benefit. In fact I personally do start multiple installations in parallel myself quite often (manually). I doubt we'll be making such a major change to how MacPorts works, however.




More information about the macports-users mailing list