OVM Build Performance

Time in Seconds by Host and Compiler

We measure the build speed of bash and dash for comparison.

src dir compiler label action host broome host spring
bash-4.4 gcc configure 27.1 26.6
bash-4.4 gcc make 39.0 39.7
dash-0.5.9.1 gcc configure 4.7 4.7
dash-0.5.9.1 gcc make 5.4 5.4
oil-0.9.4 clang configure 1.3 1.3
oil-0.9.4 clang _bin/oil.ovm-dbg 9.4 9.4
oil-0.9.4 clang _bin/oil.ovm 23.1 22.6
oil-0.9.4 gcc configure 1.3 1.3
oil-0.9.4 gcc _bin/oil.ovm-dbg 12.6 12.4
oil-0.9.4 gcc _bin/oil.ovm 31.8 31.3
oil-native-0.9.4 clang _bin/osh_eval.dbg 17.7 17.9
oil-native-0.9.4 clang _bin/osh_eval.opt.stripped 52.1 51.7
oil-native-0.9.4 gcc _bin/osh_eval.dbg 22.8 22.6
oil-native-0.9.4 gcc _bin/osh_eval.opt.stripped 50.8 50.3

Native Binary Size

binary compiler host broome host spring
osh_eval.dbg clang 9,209,000 9,209,000
osh_eval.opt.stripped clang 1,621,056 1,621,056
osh_eval.dbg gcc 8,383,160 8,383,160
osh_eval.opt.stripped gcc 1,350,544 1,350,544

OVM Binary Size

The oil binary has two portions:

  1. Architecture-independent bytecode.zip
  2. Architecture- and compiler- dependent native code (_build/oil/ovm*)

host label path num bytes bytecode size native code size
broome _tmp/ovm-build/bin/clang/oil.ovm 4,474,745 3,346,657 1,128,088
broome _tmp/ovm-build/bin/clang/oil.ovm-dbg 6,386,089 3,346,657 3,039,432
broome _tmp/ovm-build/bin/gcc/oil.ovm 4,620,233 3,346,657 1,273,576
broome _tmp/ovm-build/bin/gcc/oil.ovm-dbg 6,411,353 3,346,657 3,064,696
spring _tmp/ovm-build/bin/clang/oil.ovm 4,474,745 3,346,657 1,128,088
spring _tmp/ovm-build/bin/clang/oil.ovm-dbg 6,386,089 3,346,657 3,039,432
spring _tmp/ovm-build/bin/gcc/oil.ovm 4,620,233 3,346,657 1,273,576
spring _tmp/ovm-build/bin/gcc/oil.ovm-dbg 6,411,353 3,346,657 3,064,696

Host and Compiler Details

host label host id
broome broome-d80ab850
spring spring-d80ab850
compiler label compiler id
gcc gcc-1c62c53f
clang clang-768eb1ae