[Scons-dev] SCons performance investigations

Bill Deegan bill at baddogconsulting.com
Thu Jul 27 11:57:26 EDT 2017


Russel,

You're forgetting (I think) that SCons does implement (some) of
AutoConf/AutoMake's functionality.  Could it be better/more complete? Of
course. Is it usable (and used)? very much so.

Here's how I see the next two releases:
3.0 - PY2/3 compat, VS 2017, some minor performance improvements.
Post 3.0 - Migrate to GitHub
3.1 - Focus on performance. I think (per the email/wiki page), there's lots
of opportunities to speed up SCons, without losing it's SCons'ness..  (If
we swap out sconsign implementations we will need to have the version
string be 4.0 as we're breaking compatibility)

Of course everything depends on how much time/effort the community (and
myself) are able to provide towards improving SCons.

Things I'd really like to see happen in the not too distant future:
* Revamp platform/toolchain - Right now it's left to the user to implement
logic to say, if I have these 3 tools, then use all of them, otherwise use
these tools.  Think mingw vs msvc on win32 for example
* Add support for components - For example a library can specify what
include paths, defines, libraries, compiler flags would be used by programs
(or components) which use itself.  Parts provides some of this I beleive.
I would want this as an available API, but not mandatory to use SCons
* Handle pulling components from repos.. cmake,gradle, etc can do this, I
think it's pretty darn useful especially where you may have a project with
many repos and you focus on just one.
* Taskmaster improvements (see the need for speed wiki page, and also
comments by Jason about Greg Noel's TaskmasterNG which Greg (who's long
since left the project worked on, but never contributed, or shared sources
with anyone).

Most of these bullets are in the nice to have.
I think improving performance is in the must have as it's the top complaint
I hear about SCons.

-Bill

On Thu, Jul 27, 2017 at 4:22 AM, Russel Winder <russel at winder.org.uk> wrote:

> On Tue, 2017-07-25 at 20:07 +0000, Jason Kenny wrote:
> > > >
> […]
> > Scons, make, ninja, msbuild are items to compare. The idea of comparing
> > CMake, Meson or autotools to SCons in incorrect. There is a big
> difference
> > in a "generator" and a build system and a build manager (ie stuff like
> > buildbot). I keep hearing how CMake is taking off and everyone is moving
> to
> > it.... which is really saying it is better cross platform build file
> > generator than automake.
>
> SCons slightly bridges the gap between Make, Ninja, Tup on the one hand and
> CMake and Meson on the other – I have no experience of all the Windows
> stuff.
>
> Certainly CMake, and Meson, are getting increased traction in the native
> build
> space, though Autotools and Make have a huge "install base". There is also
> Bazel, Gradle, a whole host of build systems. I notice an increasing
> number of
> people complaining about the CMake specification language. Meson
> implements a
> DSL on Python rather than using Python which is sometimes annoying – but
> you
> can hack and execute code if need be.
>
> SCons is caught in the middle a bit having started purely as a Make
> replacement and not keeping up with Ninja and Tup in build performance and
> not
> keeping up with Autotools, Meson, Reggae, and CMake of being meta build
> systems. We should also not ignore all the language specific package
> handling
> and build systems such as Cargo, Dub, and Gradle.
>
> I guess the core question is "Where is SCons going?"
>
> Currently for me SCons is the tool for the cases where there isn't
> another. So
> for the moment I use SCons always for XeLaTeX builds and sometimes for D
> builds, otherwise I am no longer using SCons because there is now a better
> or
> more appropriate tool for each code base.
>
> One of the biggest hurdles is CLion requiring CMake for C++ projects.
>
> Another issue is of course the inertia behind people sticking with Make and
> Autotools.
>
> […]
>
> --
> Russel.
> ============================================================
> =================
> Dr Russel Winder      t: +44 20 7585 2200   voip:
> sip:russel.winder at ekiga.net
> 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel at winder.org.uk
> London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
> _______________________________________________
> Scons-dev mailing list
> Scons-dev at scons.org
> https://pairlist2.pair.net/mailman/listinfo/scons-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20170727/82e57a0f/attachment.html>


More information about the Scons-dev mailing list