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 36.0 14.8
bash-4.4 gcc make 81.9 26.4
dash-0.5.9.1 gcc configure 6.5 2.9
dash-0.5.9.1 gcc make 9.3 3.3
oil-0.8.4 clang configure 1.7 0.7
oil-0.8.4 clang _bin/oil.ovm-dbg 25.0 5.4
oil-0.8.4 clang _bin/oil.ovm 54.1 15.8
oil-0.8.4 gcc configure 2.1 0.6
oil-0.8.4 gcc _bin/oil.ovm-dbg 20.9 6.9
oil-0.8.4 gcc _bin/oil.ovm 64.5 20.2
oil-native-0.8.4 clang _bin/osh_eval.dbg 58.6 16.0
oil-native-0.8.4 clang _bin/osh_eval.opt.stripped 126.1 36.1
oil-native-0.8.4 gcc _bin/osh_eval.dbg 55.8 17.6
oil-native-0.8.4 gcc _bin/osh_eval.opt.stripped 110.5 33.8

Native Binary Size

binary compiler host flanders host lisa
osh_eval.dbg clang 8,222,472 8,222,472
osh_eval.opt.stripped clang 1,294,688 1,294,688
osh_eval.dbg gcc 7,723,256 7,723,256
osh_eval.opt.stripped gcc 1,131,224 1,131,224

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,296,490 3,164,386 1,132,104
flanders _tmp/ovm-build/bin/clang/oil.ovm-dbg 6,187,834 3,164,386 3,023,448
flanders _tmp/ovm-build/bin/gcc/oil.ovm 4,316,498 3,164,386 1,152,112
flanders _tmp/ovm-build/bin/gcc/oil.ovm-dbg 5,821,682 3,164,386 2,657,296
lisa _tmp/ovm-build/bin/clang/oil.ovm 4,296,498 3,164,386 1,132,112
lisa _tmp/ovm-build/bin/clang/oil.ovm-dbg 6,187,842 3,164,386 3,023,456
lisa _tmp/ovm-build/bin/gcc/oil.ovm 4,316,506 3,164,386 1,152,120
lisa _tmp/ovm-build/bin/gcc/oil.ovm-dbg 5,821,690 3,164,386 2,657,304

Host and Compiler Details

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