OVM Build Performance

Source code: oil/benchmarks/osh-parser.sh

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.8
bash-4.4 gcc make 37.7 25.8
dash-0.5.9.1 gcc configure 5.0 3.1
dash-0.5.9.1 gcc make 5.3 3.1
oil-0.14.0 clang configure 1.4 0.8
oil-0.14.0 clang _bin/oil.ovm-dbg 10.3 7.0
oil-0.14.0 clang _bin/oil.ovm 24.8 19.0
oil-0.14.0 gcc configure 1.4 0.9
oil-0.14.0 gcc _bin/oil.ovm-dbg 11.5 7.5
oil-0.14.0 gcc _bin/oil.ovm 28.4 21.3
oils-for-unix-0.14.0 clang oils_cpp 13.9 10.7
oils-for-unix-0.14.0 clang oils_cpp.stripped 37.3 30.7
oils-for-unix-0.14.0 gcc oils_cpp 16.2 13.0
oils-for-unix-0.14.0 gcc oils_cpp.stripped 37.9 31.9

Native Binary Size

binary compiler host broome host lenny
oils_cpp clang 5,619,744 5,619,744
oils_cpp.stripped clang 1,235,360 1,235,360
oils_cpp gcc 6,687,344 6,687,344
oils_cpp.stripped gcc 1,098,008 1,098,008

OVM Binary Size

The oil binary has two portions:

host label path num bytes bytecode size native code size
broome _tmp/ovm-build/bin/clang/oil.ovm 4,565,253 3,465,933 1,099,320
broome _tmp/ovm-build/bin/clang/oil.ovm-dbg 6,294,549 3,465,933 2,828,616
broome _tmp/ovm-build/bin/gcc/oil.ovm 4,723,221 3,465,933 1,257,288
broome _tmp/ovm-build/bin/gcc/oil.ovm-dbg 6,479,797 3,465,933 3,013,864
lenny _tmp/ovm-build/bin/clang/oil.ovm 4,565,261 3,465,933 1,099,328
lenny _tmp/ovm-build/bin/clang/oil.ovm-dbg 6,294,437 3,465,933 2,828,504
lenny _tmp/ovm-build/bin/gcc/oil.ovm 4,723,229 3,465,933 1,257,296
lenny _tmp/ovm-build/bin/gcc/oil.ovm-dbg 6,479,493 3,465,933 3,013,560

Host and Compiler Details

host label host id
broome broome-7a69aabc
lenny lenny-76afa3e0
compiler label compiler id
gcc gcc-1c62c53f
clang clang-dc55b135