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 lisa
bash-4.4 gcc configure 31.7 14.4
bash-4.4 gcc make 66.0 24.4
dash-0.5.9.1 gcc configure 6.0 2.9
dash-0.5.9.1 gcc make 7.4 2.9
oil-0.8.6 clang configure 1.6 0.6
oil-0.8.6 clang _bin/oil.ovm-dbg 18.5 5.0
oil-0.8.6 clang _bin/oil.ovm 44.3 14.7
oil-0.8.6 gcc configure 1.5 0.6
oil-0.8.6 gcc _bin/oil.ovm-dbg 16.6 6.3
oil-0.8.6 gcc _bin/oil.ovm 49.1 18.6
oil-native-0.8.6 clang _bin/osh_eval.dbg 55.5 15.8
oil-native-0.8.6 clang _bin/osh_eval.opt.stripped 120.7 36.8
oil-native-0.8.6 gcc _bin/osh_eval.dbg 50.1 16.8
oil-native-0.8.6 gcc _bin/osh_eval.opt.stripped 108.7 35.8

Native Binary Size

binary compiler host flanders host lisa
osh_eval.dbg clang 8,672,712 8,672,712
osh_eval.opt.stripped clang 1,503,632 1,503,632
osh_eval.dbg gcc 8,018,272 8,018,272
osh_eval.opt.stripped gcc 1,319,640 1,319,640

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,318,871 3,186,751 1,132,120
flanders _tmp/ovm-build/bin/clang/oil.ovm-dbg 6,210,511 3,186,751 3,023,760
flanders _tmp/ovm-build/bin/gcc/oil.ovm 4,338,895 3,186,751 1,152,144
flanders _tmp/ovm-build/bin/gcc/oil.ovm-dbg 5,844,415 3,186,751 2,657,664
lisa _tmp/ovm-build/bin/clang/oil.ovm 4,318,879 3,186,751 1,132,128
lisa _tmp/ovm-build/bin/clang/oil.ovm-dbg 6,210,519 3,186,751 3,023,768
lisa _tmp/ovm-build/bin/gcc/oil.ovm 4,338,903 3,186,751 1,152,152
lisa _tmp/ovm-build/bin/gcc/oil.ovm-dbg 5,844,423 3,186,751 2,657,672

Host and Compiler Details

host label host id
flanders flanders-9d0956ac
lisa lisa-9d0956ac
compiler label compiler id
gcc gcc-816edb3d
clang clang-768eb1ae