[jamming] KJam Beta 0.31 Released with performance comparison.
rafael at oroboro.com
Wed Jun 21 15:38:43 PDT 2006
I'm getting a great deal positive interest in KJam from a technical
perspective. The only negative reaction I'm getting from people is the
lack of clarity about licensing. I'm looking onto
the licensing issues, but I want to make sure I don't make a mistake and
limit the licensing options later. I'd like to find a way to give a KJam
'free' license for use with 'free' software, and
still be able to offer KJam commercially.
I will run larger test cases and report on those. Thank you for the
test data generator.
KJam is highly portable - especially to any reasonably POSIX system.
All the OS specific code is segregated into a small set of files. The
most complex porting task would be
in the process and thread management code ( the code which issues build
commands, and implements the built-in shell ).
"Per target viewpathing" is a bunch of jargony buzzwords that appeal
to people who talk about build systems. Basically it means that there is
a clear separation in the KJam ( and Jam ) language between the name of
a target and the location of the file it refers to. A 'viewpath' is the
abstraction used to find a resource in a file system. Per target means
we can set such an abstraction per target. For what its worth the
viewpathing in KJam is somewhat more flexible than what is available in Jam.
Kai Backman wrote:
> Hi Rafael,
> Thanks for sharing the numbers with the list. As probably a lot of
> other people,
> I'm quite interested in the development of KJam and I do have some
> - It looks very much like your licensing will be proprietary. I'm fine
> with that,
> except it does limit the applicability of KJam quite a bit.
> the main project I'm working on at the moment, is open source and can thus
> not realistically use KJam. Many of the features you have included look
> interesting and it would be a pity to have to clone them for the more
> openly licensed version. In any case, it will make things a lot clearer
> once you decide what the long term licensing policy will be. :-)
> - The test cases you have are quite small. OpenOffice.org consists of
> 23 000
> cxx and hxx files and probably over 100k targets in total. As Jam seems
> to be a last resort for people who have run out of other options, it
> might make
> sense to make your test cases slightly larger. The preview limit of 250
> targets is simply not enough to exercise the type of functionality I can
> imagine many would be interested in. I've included a simple test data
> generator I've used myself, it would be great if you could provide
> some benchmarks against the default setting (30k source files, 60k
> - Platform support seems also a bit lacking at the moment. Without source
> it's also quite difficult to tell how hard a port would be. OO.o
> currently builds
> on Win32, Linux (intel/sparc), Solaris (intel/sparc), Mac OS X
> FreeBSD and quite a few I'm forgetting. Do you have plans for supporting
> these platforms and a backup plan in case an user wants to build on a
> non-supported platform?
> - What does "It has per target viewpathing. " mean?
> Let me know if the tgz archive is lost and I'll email it to you
> directly. Thanks again
> for sharing the data.
> Take care and stay in touch,
> On 6/16/06, *rafael baptista* <rafael at oroboro.com
> <mailto:rafael at oroboro.com>> wrote:
> Hi, I just wanted to let people know that I have released a new
> of KJam, a build tool inspired by Jam.
> It has some a long way since I first announced it here a few months
> back. As usual, I am interested in feedback
> about it. Comments from our growing community of beta users drives
> of our continuing development.
> You can find out more about KJam here: http://www.oroboro.com/kjam
> Kjam is designed to support large projects and has support for
> distributed builds on a network of build servers,
> supports batched builds, and has a built-in shell.
> I have also released some performance numbers comparing KJam, Jam and
> Gnu Make and MSBuild. Performance
> for KJam and Jam is similar - though for large projects KJam is
> significantly faster. Both Jam and KJam are
> much faster than MSBuild or Gnu Make - sometimes by as much as 20x.
> The performance numbers are available here:
> -Rafael Baptista
> jamming mailing list - jamming at perforce.com
> <mailto:jamming at perforce.com>
> Kai Backman, Software Engineer, kaib at google.com <mailto:kaib at google.com>
More information about the jamming