On baro I've managed to get statistics on the bootstrapped Tachyon. I measured 2 versions of Tachyon:
TV -- Tachyon compiled by V8 (64 bit version) TTV -- Tachyon compiled by TV (also in 64 bit version)
The execution time and space used for compiling the Tachyon source code by these compilers were as follows.
TV compiling the Tachyon source code:
Compiling Tachyon: 403.425 s, 21104.470703125 MB allocated time=82% alloc=71% -- Machine code generation time=43% alloc=9% -- Linear scan time=17% alloc=3% -- Resolution time=12% alloc=36% -- IR to ASM translation time=2% alloc=7% -- Computing live intervals time=1% alloc=2% -- Operand assignment time=1% alloc=3% -- Assembly time=0% alloc=2% -- Number instructions time=0% alloc=1% -- Computing fixed intervals time=0% alloc=0% -- Order blocks time=14% alloc=20% -- IR lowering time=7% alloc=10% -- comm elim time=2% alloc=2% -- opt patterns pass 1 time=1% alloc=1% -- const prop time=1% alloc=1% -- opt patterns pass 2 time=1% alloc=4% -- inlining/transform time=0% alloc=0% -- r/w analysis time=1% alloc=5% -- IR generation time=0% alloc=1% -- Machine code linking time=0% alloc=0% -- Parsing
TTV Tachyon compiling the Tachyon source code:
Compiling Tachyon: 4737 s, 47687 MB allocated time=57% alloc=41% -- IR lowering time=46% alloc=23% -- comm elim time=3% alloc=5% -- opt patterns pass 1 time=2% alloc=2% -- const prop time=1% alloc=2% -- opt patterns pass 2 time=1% alloc=6% -- inlining/transform time=0% alloc=0% -- r/w analysis time=37% alloc=48% -- Machine code generation time=25% alloc=26% -- IR to ASM translation time=5% alloc=4% -- Linear scan time=4% alloc=2% -- Resolution time=0% alloc=1% -- Computing live intervals time=0% alloc=2% -- Assembly time=0% alloc=0% -- Operand assignment time=0% alloc=1% -- Computing fixed intervals time=0% alloc=0% -- Number instructions time=0% alloc=0% -- Order blocks time=3% alloc=7% -- IR generation time=0% alloc=1% -- Machine code linking time=0% alloc=1% -- Parsing
So on this "benchmark", Tachyon compiles the source code to x86_64 code which runs 11.7 times slower than the one produced by V8 and which takes 2.6 times the space that the V8 generated code takes.
Moreover, it takes 79 minutes to compile Tachyon with Tachyon. It is hard to say how much time V8 takes to compile Tachyon, given that probably not all parts of Tachyon actually get compiled to machine code. But my guess is that for the parts that do get compiled to machine code the time is probably a few seconds. Does someone know how to measure the V8 compilation time?
Marc