From 61254360821b4935eac134bd87bc5f0f8b648bc6 Mon Sep 17 00:00:00 2001 From: Maxim Samsonov Date: Wed, 22 Nov 2023 17:56:27 +0300 Subject: [PATCH] Finalized benchmarking results (#6) --- .gitignore | 3 ++ lib/tebako/benchmarking/cli.rb | 60 +++++++++++++++------ results/RESULTS.adoc | 17 ++++++ results/img/metanorma-benchmarking.jpg | Bin 0 -> 100892 bytes results/raw/results.xlsx | Bin 35451 -> 42989 bytes tebako-benchmarking.gemspec | 1 + tests/metanorma-test/Gemfile | 25 +++++++++ tests/metanorma-test/metanorma-test-run.rb | 40 ++++++++++++++ 8 files changed, 130 insertions(+), 16 deletions(-) create mode 100644 results/img/metanorma-benchmarking.jpg create mode 100644 tests/metanorma-test/Gemfile create mode 100755 tests/metanorma-test/metanorma-test-run.rb diff --git a/.gitignore b/.gitignore index 45a43de..ff4c02c 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,6 @@ Gemfile.lock .tebako *-test-package +site-* +relaton/ +iev/ diff --git a/lib/tebako/benchmarking/cli.rb b/lib/tebako/benchmarking/cli.rb index 92d408b..c8f635f 100755 --- a/lib/tebako/benchmarking/cli.rb +++ b/lib/tebako/benchmarking/cli.rb @@ -40,8 +40,12 @@ module Benchmarking class Cli < Thor package_name "Tebako benchmarking" - class_option :repetitions, type: :array, aliases: "-r", required: false, - desc: "Repetitions to run (array of positive integers)", default: ["1"] + class_option :repetitions, + type: :array, aliases: "-r", + required: false, + desc: "Repetitions to run (array of numbers or 'I' for a single run of original application)", + default: ["1"] + class_option :verbose, type: :boolean, aliases: "-v", default: false, desc: "Print benchmarking data for each repetition value" @@ -55,7 +59,7 @@ def compare exit 1 if (repetitions = preprocess).nil? cmd1 = options["first"] cmd2 = options["second"] - exit 1 if repetitions[0] != 1 && !(Tebako::Benchmarking.test_cmd(cmd1) && Tebako::Benchmarking.test_cmd(cmd2)) + exit 1 if repetitions[0] > 1 && !(Tebako::Benchmarking.test_cmd(cmd1) && Tebako::Benchmarking.test_cmd(cmd2)) do_compare(cmd1, cmd2, repetitions, options["verbose"]) end @@ -66,7 +70,7 @@ def compare def measure exit 1 if (repetitions = preprocess).nil? cmd = options["cmd"] - exit 1 unless repetitions[0] == 1 || Tebako::Benchmarking.test_cmd(cmd) + exit 1 if repetitions[0] > 1 && Tebako::Benchmarking.test_cmd(cmd) mea = iterate(cmd, repetitions, options["verbose"]) print_results(mea) @@ -106,12 +110,14 @@ def options end def preprocess + return [0] if options["repetitions"] == ["I"] + repetitions = options["repetitions"].map(&:to_i) repetitions.sort! return repetitions unless repetitions[0] < 1 - puts "Repetitions must be positive integers" + puts "Repetitions must be positive integers or I (for a single run of original application)" nil end @@ -136,8 +142,10 @@ def print_comparison_headers(cmd1, cmd2) def print_comparison(cmd1, cmd2, mea1, mea2) rows = mea1.keys.zip(mea1.values, mea2.values).map do |r, m1, m2| - format("%-15s| %-#{cmd1.length}s| %-#{cmd2.length}s", key: r, value1: m1["total"], - value2: m2["total"]) + format("%-15s| %-#{cmd1.length}s| %-#{cmd2.length}s", + key: (r.zero? ? 1 : r), + value1: m1["total"], + value2: m2["total"]) end puts print_comparison_headers(cmd1, cmd2) @@ -147,7 +155,9 @@ def print_comparison(cmd1, cmd2, mea1, mea2) def print_results(mea) header = format("%-15s %-15s", key: "Repetitions", value: "Total time") separator = "-" * header.length - rows = mea.map { |r, m| format("%-15s %-20s", key: r, value: m["total"]) } + rows = mea.map do |r, m| + format("%-15s %-20s", key: (r.zero? ? 1 : r), value: m["total"]) + end puts puts header @@ -177,23 +187,41 @@ def err_parse(msg, output) ERROR_MESSAGE end - def measure(package, repetitions, verbose) - print "Collecting data for '#{package}' with #{repetitions} repetitions ... " - stdout_str, stderr_str, status = do_measure(package, repetitions, verbose) + def measure(package, rpt, verbose) + print "Collecting data for '#{package}' with #{rp_print_v(rpt)} repetition#{rp_print_e(rpt)} ... " + stdout_str, stderr_str, status = do_measure(package, rpt, verbose) + mtr = nil if status.success? puts "OK" - metrics = parse_time_output(stderr_str) - metrics["total"] = metrics["user"].to_f + metrics["sys"].to_f - print_map_as_table(metrics) if verbose + mtr = metrics(stderr_str, verbose) else puts "Failed" err_bench(stdout_str, stderr_str) end - status.success? ? metrics : nil + mtr + end + + def rp_print_v(repetitions) + repetitions.zero? ? 1 : repetitions + end + + def rp_print_e(repetitions) + repetitions < 2 ? "" : "s" + end + + def metrics(stderr_str, verbose) + metrics = parse_time_output(stderr_str) + metrics["total"] = metrics["user"].to_f + metrics["sys"].to_f + print_map_as_table(metrics) if verbose + metrics end def do_measure(package, repetitions, verbose) - cmd = "#{package} #{repetitions} > /dev/null" + cmd = if repetitions.zero? + "#{package} > /dev/null" + else + "#{package} #{repetitions} > /dev/null" + end Open3.capture3("/usr/bin/time", verbose ? "-lp" : "-p", "sh", "-c", cmd) end diff --git a/results/RESULTS.adoc b/results/RESULTS.adoc index 1e7f0cf..ad3e81a 100644 --- a/results/RESULTS.adoc +++ b/results/RESULTS.adoc @@ -2,6 +2,12 @@ = Benchmarking results +== Executive summary +* Peformance of tebako package does not change comparing to original application +* Tebako package introduces additional time that is consumed during initialization. This time depends on the application size and the size of its native extensions, +it dows not depend on complexity of the data processed by the application or any other volatile factors +* In our tests additional time mentioned above varies from 0.03 seconds for 'Hello, world" script to 3 seconds for metanorma application + == "Hello, world!" script ``` puts "Hello! This is simple benchmarking test." @@ -131,6 +137,17 @@ The test shows that Tebako package takes extra time to setup native extension be image::vectory-benchmarking.jpg[vectory benchmarking results] + +== https://metanorma.org[metanorma application] + +Metanorma application benchmarking included execution of utility commands: ```metanorma help```, ```metanorma version``` and generation of sample sites (ietf, ieee, iec, iso, iho) using +``` +metanorma site generate samples -c samples/metanorma.yml -o site- --agree-to-terms +``` + + +image::metanorma-benchmarking.jpg[metanorma benchmarking results] + == Execution environment ``` diff --git a/results/img/metanorma-benchmarking.jpg b/results/img/metanorma-benchmarking.jpg new file mode 100644 index 0000000000000000000000000000000000000000..25c56ee9ba54ee9ae0617f6d24f3ba269200ff9a GIT binary patch literal 100892 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 delta 15186 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 0.1.0" spec.add_dependency "emf2svg", "~> 1.4.3" + spec.add_dependency "metanorma-cli", "~> 1.8.8" spec.add_dependency "tebako", "~> 0.5.5" spec.add_dependency "tebako-runtime", "~> 0.2.1" spec.add_dependency "thor", "~> 1.2" diff --git a/tests/metanorma-test/Gemfile b/tests/metanorma-test/Gemfile new file mode 100644 index 0000000..dc9c695 --- /dev/null +++ b/tests/metanorma-test/Gemfile @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +source "https://rubygems.org" + +# rubocop:disable Gemspec/DevelopmentDependencies +gem "iso-639", "<= 0.2.10" # https://github.com/metanorma/packed-mn/issues/26 + +gem "ffi" +# nokogiry asks for psych >= 4 +# psych 5 does not support --enable-bundled-libyaml configuration option +# that is required by tebako +# we set "psych ~> 4" temporarily until +# https://github.com/tamatebako/tebako/issues/93 is fixed +gem "psych", "~> 4" +gem "rake" +gem "sassc" +gem "seven-zip" + +group :development do + gem "byebug" +end + +gem "metanorma-cli", "= 1.8.8" + +# rubocop:enable Gemspec/DevelopmentDependencies diff --git a/tests/metanorma-test/metanorma-test-run.rb b/tests/metanorma-test/metanorma-test-run.rb new file mode 100755 index 0000000..02725e2 --- /dev/null +++ b/tests/metanorma-test/metanorma-test-run.rb @@ -0,0 +1,40 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +require "rubygems" +require "openssl" +require "open-uri" +require "net/https" + +require "jing" +require "optout" + +# Limit Relaton to concurrent fetches of 1 +ENV["RELATON_FETCH_PARALLEL"] = "1" + +unless Gem.win_platform? # because on windows we use aibika + # This code was bundled with ruby-packer/tebako hack but is not related + class Jing + def self.option_builder + @@option_builder + end + end + + class Optout + def []=(name, value) + @options[name] = value + end + end + + Jing.option_builder[:jar] = Optout::Option.create(:jar, "-jar", + index: 1, + validator: Optout::File.exists, + default: Jing::DEFAULT_JAR) +end + +# explicitly load all dependent gems +# ruby packer cannot use gem load path correctly. +require "metanorma/cli" + +# start up the CLI +Metanorma::Cli.start(ARGV)