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 broome host lenny
bash-4.4 gcc configure 27.8 16.4
bash-4.4 gcc make 38.1 26.9
dash-0.5.9.1 gcc configure 4.9 3.1
dash-0.5.9.1 gcc make 5.2 3.4
oil-0.10.0 clang configure 1.3 0.7
oil-0.10.0 clang _bin/oil.ovm-dbg 8.8 6.3
oil-0.10.0 clang _bin/oil.ovm 20.9 16.0
oil-0.10.0 gcc configure 1.3 0.7
oil-0.10.0 gcc _bin/oil.ovm-dbg 12.2 8.3
oil-0.10.0 gcc _bin/oil.ovm 28.9 23.8
oil-native-0.10.0 clang _bin/osh_eval.dbg 16.2 13.7
oil-native-0.10.0 clang _bin/osh_eval.opt.stripped 48.6 43.0
oil-native-0.10.0 gcc _bin/osh_eval.dbg 21.0 19.0
oil-native-0.10.0 gcc _bin/osh_eval.opt.stripped 46.7 42.6

Native Binary Size

binary compiler host broome host lenny
osh_eval.dbg clang 9,436,464 9,436,464
osh_eval.opt.stripped clang 1,651,312 1,651,312
osh_eval.dbg gcc 8,586,464 8,586,464
osh_eval.opt.stripped gcc 1,388,960 1,388,960

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
broome _tmp/ovm-build/bin/clang/oil.ovm 4,530,832 3,402,776 1,128,056
broome _tmp/ovm-build/bin/clang/oil.ovm-dbg 6,442,136 3,402,776 3,039,360
broome _tmp/ovm-build/bin/gcc/oil.ovm 4,672,224 3,402,776 1,269,448
broome _tmp/ovm-build/bin/gcc/oil.ovm-dbg 6,467,656 3,402,776 3,064,880
lenny _tmp/ovm-build/bin/clang/oil.ovm 4,530,840 3,402,776 1,128,064
lenny _tmp/ovm-build/bin/clang/oil.ovm-dbg 6,442,352 3,402,776 3,039,576
lenny _tmp/ovm-build/bin/gcc/oil.ovm 4,672,232 3,402,776 1,269,456
lenny _tmp/ovm-build/bin/gcc/oil.ovm-dbg 6,467,352 3,402,776 3,064,576

Host and Compiler Details

host label host id
broome broome-d80ab850
lenny lenny-761a4bee
compiler label compiler id
gcc gcc-1c62c53f
clang clang-768eb1ae