Thanks for your interest! I had to rerun everything since so much has been changing in base (yeah #13412!) recently, but now I've got some new numbers. (Remember, this still isn't as "lite" as I think it can be made and still be a very useful system)
Julia Version 0.5.0-dev+9834 > Commit 7f205e5 (2016-01-30 03:20 UTC) > Platform Info: > System: Darwin (x86_64-apple-darwin15.4.0) > CPU: Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz > > ✔ /j/julia-lite [spj/lite|✔] > Built doing: > git clone https://github.com/ScottPJones/julia julia-lite ; git checkout > spj/lite ; cd julia-lite ; time make > real 28m58.903s > user 26m5.807s > sys 2m11.073s > usr directory -> 167 MB > maxrss() right after start: 113.6 MB > -rw-r--r-- 1 scott staff 23541200 Jan 30 00:07 sys.o > make clean ; make -> real 5m9.700s user 5m3.185s sys 0m4.809s > ✔ /j/julia-full [master|✔] > Built doing: > git clone https://github.com/ScottPJones/julia julia-full ; cd julia-full > ; time make > real 44m17.359s > user 72m7.969s > sys 10m52.074s usr directory -> 272.4 MB > maxrss() right after start: 189 MB > -rw-r--r-- 1 scott staff 37088452 Jan 30 00:56 sys.o > make clean -> make real 5m43.646s user 5m39.142s sys 0m4.167s After a make clean, the full build was about 11% slower, most of the time was actually spent building LLVM on the "Lite" system, and LLVM + all of the big libraries such as BLAS, LAPACK, etc. took most all of the time for a normal build. On Friday, January 29, 2016 at 11:02:33 PM UTC-5, Jeff Bezanson wrote: > > This is interesting, and a good starting point for refactoring our > large Base library. Any fun statistics, e.g. build time and system > image size for the minimal version? > > > On Fri, Jan 29, 2016 at 3:00 PM, Scott Jones <scott.pa...@gmail.com > <javascript:>> wrote: > > I've updated the branch again (after a tracking down and working around > an > > issue introduced with #13412), > > had to get that great jb/function PR in! > > All unit tests pass. > > > > On Thursday, January 21, 2016 at 9:02:50 PM UTC-5, Scott Jones wrote: > >> > >> This is still a WIP, and can definitely use some more work in 1) > testing > >> on other platforms 2) better disentangling of documentation 3) advice > on how > >> better to accomplish it's goals. 4) testing with different subsets of > >> functionality turned on (I've tested just with BUILD_FULL disabled > ("lite" > >> version), or enabled (same as master) so far. > >> > >> This branch (spj/lite in ScottPJones repository, > >> https://github.com/ScottPJones/julia/tree/spj/lite) by default will > build a > >> "lite" version of Julia, and by putting > >> override BUILD_xxx = 1 > >> lines in Make.user, different functionality can be built back in (such > as > >> BigInt, BigFloat, LinAlg, Float16, Mmap, Threads, ...). See Make.inc > for > >> the full list. > >> > >> I've also made it so that all unit tests pass (that don't use disabled > >> functionality). > >> (the hard part there was that testing can be spread all over the place, > >> esp. for BigInt, BigFloat, Complex, and Rational types). > >> > >> It will also not build libraries such as arpack, lapack, openblas, > fftw, > >> suitesparse, mpfr, gmp, depending on what BUILD_* options have been > set. > >> > >> This is only a first step, the real goal is to be able to have a > minimal > >> useful core, that can have the other parts easily added, in such a way > that > >> they still appear to have > >> been defined completely in Base. > >> One place where I think this can be very useful is for building minimal > >> versions of Julia to run on things like the Raspberry Pi. > >> > >> -Scott > >> > >> > > >