I've seen a small following in "memoized build systems" as an
alternative to the traditional approach of building a dependency tree,
but these projects are still emerging and its difficult finding
information on this approach.  Does anyone have real world experience
of the strengths/weaknesses of these systems in large projects
compared to the more well known systems like cmake and its current
generators?  One concern is how parallelism would be handled, but
apparently there is some support for that.

mem
  http://srp.github.com/mem/getting-started.html
  https://github.com/srp/mem/blob/master/doc/source/mem.rst
  - memoization

fbuild
  https://github.com/felix-lang/fbuild/
  
https://github.com/felix-lang/fbuild/raw/master/docs/introducing-fbuild.markdown
  
http://www.reddit.com/r/programming/comments/8wezu/fbuild_01_build_system_released_with_cross/
  - memoization, parallelism (is used to build the felix language)
  http://news.ycombinator.com/item?id=2105894
  "I believe the key insight that we all independently made is that we
can use the procedural execution stack for the dependency tree, and
cache the function arguments and results to avoid work duplication. I
believe this helps someone reason about what's going on in the build
system compared to the declarative make systems because you can easily
trace the inputs and outputs of some dependency."

wonderbuild
  
http://retropaganda.info/~bohan/work/sf/psycle/branches/bohan/wonderbuild/wonderbuild/README
  
http://retropaganda.info/~bohan/work/sf/psycle/branches/bohan/wonderbuild/benchmarks/time.xml
  - memoization, fast, parallelism

memoize
  http://benno.id.au/blog/2008/06/06/memoize-build-framework

fabricate
  http://code.google.com/p/fabricate/
  http://code.google.com/p/fabricate/wiki/HowItWorks
  - finds dependencies automatically
  - "inspired by Bill McCloskey's memoize, but fabricate works under
Windows as well by using file access times instead of strace if strace
is not available on your file system"
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to