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 33.4 13.9
bash-4.4 gcc make 65.8 23.9
dash-0.5.9.1 gcc configure 6.0 2.8
dash-0.5.9.1 gcc make 7.4 2.8
oil-0.8.3 clang configure 1.6 0.6
oil-0.8.3 clang _bin/oil.ovm-dbg 14.8 4.9
oil-0.8.3 clang _bin/oil.ovm 45.9 14.2
oil-0.8.3 gcc configure 1.6 0.6
oil-0.8.3 gcc _bin/oil.ovm-dbg 18.5 6.6
oil-0.8.3 gcc _bin/oil.ovm 52.2 17.9
oil-native-0.8.3 clang _bin/osh_eval.dbg 54.0 14.3
oil-native-0.8.3 clang _bin/osh_eval.opt.stripped 106.6 31.8
oil-native-0.8.3 gcc _bin/osh_eval.dbg 45.3 15.5
oil-native-0.8.3 gcc _bin/osh_eval.opt.stripped 90.2 29.4

Native Binary Size

binary compiler host flanders host lisa
osh_eval.dbg clang 8,100,880 8,100,880
osh_eval.opt.stripped clang 1,265,984 1,265,984
osh_eval.dbg gcc 7,616,744 7,616,744
osh_eval.opt.stripped gcc 1,102,488 1,102,488

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,234,605 3,106,597 1,128,008
flanders _tmp/ovm-build/bin/clang/oil.ovm-dbg 6,124,613 3,106,597 3,018,016
flanders _tmp/ovm-build/bin/gcc/oil.ovm 4,254,613 3,106,597 1,148,016
flanders _tmp/ovm-build/bin/gcc/oil.ovm-dbg 5,758,141 3,106,597 2,651,544
lisa _tmp/ovm-build/bin/clang/oil.ovm 4,234,613 3,106,597 1,128,016
lisa _tmp/ovm-build/bin/clang/oil.ovm-dbg 6,124,621 3,106,597 3,018,024
lisa _tmp/ovm-build/bin/gcc/oil.ovm 4,254,621 3,106,597 1,148,024
lisa _tmp/ovm-build/bin/gcc/oil.ovm-dbg 5,758,149 3,106,597 2,651,552

Host and Compiler Details

host label host id
flanders flanders-1f35df1a
lisa lisa-1f35df1a
compiler label compiler id
gcc gcc-816edb3d
clang clang-768eb1ae