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 flanders host lenny
bash-4.4 gcc configure 32.4 16.7
bash-4.4 gcc make 65.7 23.8
dash-0.5.9.1 gcc configure 5.7 3.3
dash-0.5.9.1 gcc make 6.7 2.9
oil-0.9.0 clang configure 1.5 0.7
oil-0.9.0 clang _bin/oil.ovm-dbg 17.2 6.0
oil-0.9.0 clang _bin/oil.ovm 48.6 14.4
oil-0.9.0 gcc configure 1.5 0.6
oil-0.9.0 gcc _bin/oil.ovm-dbg 22.8 6.8
oil-0.9.0 gcc _bin/oil.ovm 51.5 20.5
oil-native-0.9.0 clang _bin/osh_eval.dbg 61.9 11.9
oil-native-0.9.0 clang _bin/osh_eval.opt.stripped 137.2 36.6
oil-native-0.9.0 gcc _bin/osh_eval.dbg 52.1 15.2
oil-native-0.9.0 gcc _bin/osh_eval.opt.stripped 113.6 33.9

Native Binary Size

binary compiler host flanders host lenny
osh_eval.dbg clang 8,924,752 9,117,720
osh_eval.opt.stripped clang 1,555,312 1,604,448
osh_eval.dbg gcc 8,228,304 8,306,168
osh_eval.opt.stripped gcc 1,371,288 1,337,968

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
flanders _tmp/ovm-build/bin/clang/oil.ovm 4,464,568 3,332,304 1,132,264
flanders _tmp/ovm-build/bin/clang/oil.ovm-dbg 6,370,672 3,332,304 3,038,368
flanders _tmp/ovm-build/bin/gcc/oil.ovm 4,484,608 3,332,304 1,152,304
flanders _tmp/ovm-build/bin/gcc/oil.ovm-dbg 5,999,816 3,332,304 2,667,512
lenny _tmp/ovm-build/bin/clang/oil.ovm 4,445,740 3,317,644 1,128,096
lenny _tmp/ovm-build/bin/clang/oil.ovm-dbg 6,352,236 3,317,644 3,034,592
lenny _tmp/ovm-build/bin/gcc/oil.ovm 4,591,228 3,317,644 1,273,584
lenny _tmp/ovm-build/bin/gcc/oil.ovm-dbg 6,381,252 3,317,644 3,063,608

Host and Compiler Details

host label host id
flanders flanders-63f04b74
lenny lenny-c758ab9d
compiler label compiler id
gcc gcc-816edb3d
clang clang-768eb1ae
gcc gcc-1c62c53f