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.5 16.5
bash-4.4 gcc make 57.4 23.7
dash-0.5.9.1 gcc configure 5.6 3.4
dash-0.5.9.1 gcc make 7.4 2.8
oil-0.8.12 clang configure 1.8 0.7
oil-0.8.12 clang _bin/oil.ovm-dbg 14.5 5.3
oil-0.8.12 clang _bin/oil.ovm 42.1 13.9
oil-0.8.12 gcc configure 1.6 0.8
oil-0.8.12 gcc _bin/oil.ovm-dbg 18.0 6.7
oil-0.8.12 gcc _bin/oil.ovm 49.9 19.1
oil-native-0.8.12 clang _bin/osh_eval.dbg 53.6 10.7
oil-native-0.8.12 clang _bin/osh_eval.opt.stripped 114.9 32.6
oil-native-0.8.12 gcc _bin/osh_eval.dbg 48.3 14.1
oil-native-0.8.12 gcc _bin/osh_eval.opt.stripped 99.4 32.2

Native Binary Size

binary compiler host flanders host lenny
osh_eval.dbg clang 8,900,816 9,092,560
osh_eval.opt.stripped clang 1,557,008 1,602,048
osh_eval.dbg gcc 8,201,816 8,279,704
osh_eval.opt.stripped gcc 1,368,920 1,339,696

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,451,437 3,319,173 1,132,264
flanders _tmp/ovm-build/bin/clang/oil.ovm-dbg 6,357,549 3,319,173 3,038,376
flanders _tmp/ovm-build/bin/gcc/oil.ovm 4,471,477 3,319,173 1,152,304
flanders _tmp/ovm-build/bin/gcc/oil.ovm-dbg 5,986,693 3,319,173 2,667,520
lenny _tmp/ovm-build/bin/clang/oil.ovm 4,432,608 3,304,512 1,128,096
lenny _tmp/ovm-build/bin/clang/oil.ovm-dbg 6,339,104 3,304,512 3,034,592
lenny _tmp/ovm-build/bin/gcc/oil.ovm 4,578,096 3,304,512 1,273,584
lenny _tmp/ovm-build/bin/gcc/oil.ovm-dbg 6,368,120 3,304,512 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