Hello again again, I obviously forgot the attachments to the previous mail. Doh...
Regards, Adam. Am 20.02.2018 um 08:58 schrieb Adam Reichold: > Hello again, > > Am 18.02.2018 um 23:23 schrieb Adam Reichold: >> >> >> Am 18.02.2018 um 23:08 schrieb Albert Astals Cid: >>> El diumenge, 18 de febrer de 2018, a les 16:55:37 CET, Adam Reichold va >>> escriure: >>>> Hello, >>>> >>>> the attached patch replaced Poppler's internal hash table implementation >>>> GooHash by std::unordered_map found in the C++ standard library since >>>> C++11. This continues Poppler's slow drift towards standard library >>>> containers and removes one of the home-grown data structures with the >>>> main goals of reducing code size and improving the long term >>>> maintainability of the code base. >>> >>> Do you have any benchmarks on "rendering" speed and code size? >> >> Sorry, not at hand. I will try to prepare them during the week. > > I did run Splash rendering benchmarks of this branch against master with > the result of rendering the circa 2400 documents of the TeXLive > documentation present on my machine being: > > Cumulative run time: > Result: 90.95 min ∓ 1.1 % > Reference: 91.57 min ∓ 1.2 % > Deviation: -0.0 % > Cumulative memory usage: > Result: 37.2 MB ∓ 0.7 % > Reference: 37.0 MB ∓ 0.7 % > Deviation: +0.0 % > > (Where result is this patch and the reference is master.) (The > measurement was taken using the perftest script which I proposed here > some time ago for which I'll attach the patch again for reproduceability.) > > I'll also attach the detailed comparison, but the gist seems to be that > if there are significant changes, the run time is reduced but the memory > usage is increased in the majority of cases. But this does not seem to > show up in the cumulative results. > > Best regards, Adam. > > P.S.: One could try to improve the memory usage by tuning the load > factor or calling shrink_to_fit where appropriate. Would you like me to > try to do this? > > P.P.S.: One obvious area for improvement would be better > interoperability between GooString and std::string, i.e. not converting > them as C strings so that the length information does not need to be > recomputed. I will try to prepare this as a separate patch on top of > this one or should I include this here? > > Best regards, Adam. > >> Concerning code size, a release build of libpoppler.so goes from >> >> text data bss dec hex filename >> 2464034 288852 360 2753246 2a02de libpoppler.so.73.0.0 >> >> for the current master to >> >> text data bss dec hex filename >> 2482129 288756 360 2771245 2a492d libpoppler.so.73.0.0 >> >> with the patch applied, i.e. a 0.65% increase in binary size. >> >> >> Please note that in my original message, I was referring only to source >> code size, i.e. >> >> git diff --stat master...remove-goo-hash >> 18 files changed, 168 insertions(+), 803 deletions(-) >> >>> Cheers, >>> Albert >> >> Best regards, Adam. >> >>>> >>>> Best regards, Adam. >>> >>> >>> >>> >>> _______________________________________________ >>> poppler mailing list >>> [email protected] >>> https://lists.freedesktop.org/mailman/listinfo/poppler >>> >> >> >> >> _______________________________________________ >> poppler mailing list >> [email protected] >> https://lists.freedesktop.org/mailman/listinfo/poppler >> > > > > _______________________________________________ > poppler mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/poppler >
From f080d40f1dba236a2d317fc7c9d9c77b5db8654c Mon Sep 17 00:00:00 2001 From: Adam Reichold <[email protected]> Date: Tue, 20 Feb 2018 08:41:04 +0100 Subject: [PATCH] Add simple Python script to measure and comprare rendering performance of Poppler builds. --- perftest/compare.py | 94 +++++++++++++++++++++++++++++++ perftest/measure.py | 139 ++++++++++++++++++++++++++++++++++++++++++++++ perftest/poppler-perftest | 40 +++++++++++++ perftest/util.py | 29 ++++++++++ 4 files changed, 302 insertions(+) create mode 100644 perftest/compare.py create mode 100644 perftest/measure.py create mode 100755 perftest/poppler-perftest create mode 100644 perftest/util.py diff --git a/perftest/compare.py b/perftest/compare.py new file mode 100644 index 00000000..c19f1cab --- /dev/null +++ b/perftest/compare.py @@ -0,0 +1,94 @@ +import pickle +import zlib + +from util import reference, reldev, maxabs + +def collect_stats3(stats, entry): + if stats is None: + stats = (0, 0) + + sum, acc = stats + mean, stdev = entry + stats = (sum + mean, acc + abs(stdev / mean)) + + return stats + +def collect_stats2(stats, entry): + if stats is None: + stats = { 'run_time': None, 'memory_usage': None } + + stats['run_time'] = collect_stats3(stats['run_time'], entry['run_time']) + stats['memory_usage'] = collect_stats3(stats['memory_usage'], entry['memory_usage']) + + return stats + +def collect_stats1(stats, entry, ref_entry): + if stats is None: + stats = { 'results': None, 'ref_results': None } + + stats['results'] = collect_stats2(stats['results'], entry) + stats['ref_results'] = collect_stats2(stats['ref_results'], ref_entry) + + return stats + +def compare(args): + with open(args.results, 'rb') as file: + data = file.read() + data = zlib.decompress(data) + results = pickle.loads(data) + with open(args.reference_results, 'rb') as file: + data = file.read() + data = zlib.decompress(data) + ref_results = pickle.loads(data) + + count = 0 + stats = None + + for document in results.keys() & ref_results.keys(): + entries = results[document] + ref_entries = ref_results[document] + + for page in entries.keys() & ref_entries.keys(): + entry = entries[page] + ref_entry = ref_entries[page] + + count += 1 + stats = collect_stats1(stats, entry, ref_entry) + + run_time_mean, run_time_stdev = entry['run_time'] + ref_run_time_mean, ref_run_time_stdev = ref_entry['run_time'] + run_time_reldev = reldev(run_time_mean, ref_run_time_mean) + + memory_usage_mean, memory_usage_stdev = entry['memory_usage'] + ref_memory_usage_mean, ref_memory_usage_stdev = ref_entry['memory_usage'] + memory_usage_reldev = reldev(memory_usage_mean, ref_memory_usage_mean) + + if maxabs(run_time_reldev, memory_usage_reldev) <= args.threshold: + continue + + print('%s:' % (reference(document, page))) + print('\tRun time:') + print('\t\tResult: %.2f â %.3f s' % (run_time_mean, run_time_stdev)) + print('\t\tReference: %.2f â %.3f s' % (ref_run_time_mean, ref_run_time_stdev)) + print('\t\tDeviation: %.1f %%' % (run_time_reldev * 100.0)) + print('\tMemory usage:') + print('\t\tResult: %.1f â %.2f kB' % (memory_usage_mean / 1024.0, memory_usage_stdev / 1024.0)) + print('\t\tReference: %.1f â %.2f kB' % (ref_memory_usage_mean / 1024.0, ref_memory_usage_stdev / 1024.0)) + print('\t\tDeviation: %.1f %%' % (memory_usage_reldev * 100.0)) + + run_time_sum, ref_run_time_sum = stats['results']['run_time'][0], stats['ref_results']['run_time'][0] + run_time_acc, ref_run_time_acc = stats['results']['run_time'][1] / count, stats['ref_results']['run_time'][1] / count + run_time_reldev = reldev(run_time_sum, ref_run_time_sum) + + memory_usage_sum, ref_memory_usage_sum = stats['results']['memory_usage'][0], stats['ref_results']['memory_usage'][0] + memory_usage_acc, ref_memory_usage_acc = stats['results']['memory_usage'][1] / count, stats['ref_results']['memory_usage'][1] / count + memory_usage_reldev = reldev(memory_usage_sum, ref_memory_usage_sum) + + print('Cumulative run time:') + print('\tResult: %.2f min â %.1f %%' % (run_time_sum / 60, run_time_acc * 100)) + print('\tReference: %.2f min â %.1f %%' % (ref_run_time_sum / 60, ref_run_time_acc * 100)) + print('\tDeviation: %+.1f %%' % (run_time_reldev)) + print('Cumulative memory usage:') + print('\tResult: %.1f MB â %.1f %%' % (memory_usage_sum / 1024 / 1024, memory_usage_acc * 100)) + print('\tReference: %.1f MB â %.1f %%' % (ref_memory_usage_sum / 1024 / 1024, ref_memory_usage_acc * 100)) + print('\tDeviation: %+.1f %%' % (memory_usage_reldev)) diff --git a/perftest/measure.py b/perftest/measure.py new file mode 100644 index 00000000..d5bc5392 --- /dev/null +++ b/perftest/measure.py @@ -0,0 +1,139 @@ +import multiprocessing +import os +import pickle +import re +import statistics +import subprocess +import sys +import time +import zlib + +from util import rewrite, reference, accuracy + +def check_page_count(document): + global utils + + try: + output = subprocess.check_output([ os.path.join(utils, 'pdfinfo'), document ], stderr = subprocess.DEVNULL) + + match = re.search(rb'Pages:\s*(\d+)', output) + + if match is None: + return 0 + + return int(match.group(1)) + except subprocess.CalledProcessError: + return 0 + +def measure_command(command): + global warm_up_iterations, min_iterations, max_iterations, target_accuracy + + for _ in range(warm_up_iterations): + process = subprocess.Popen(command, stdout = subprocess.DEVNULL, stderr = subprocess.DEVNULL) + + status = process.wait() + + if not os.WIFEXITED(status): + return None + + run_times = [] + memory_usages = [] + + for iteration in range(1, max_iterations + 1): + process = subprocess.Popen(command, stdout = subprocess.DEVNULL, stderr = subprocess.DEVNULL) + + _, status, resources = os.wait4(process.pid, 0) + + if not os.WIFEXITED(status): + return False + + run_times.append(resources.ru_utime + resources.ru_stime) + memory_usages.append(resources.ru_maxrss) + + if iteration >= min_iterations and max(accuracy(run_times), accuracy(memory_usages)) <= target_accuracy: + break + + run_time = (statistics.mean(run_times), statistics.stdev(run_times)) + memory_usage = (statistics.mean(memory_usages), statistics.stdev(memory_usages)) + + return (run_time, memory_usage) + +def measure_task(task): + global utils, mode + + document, page = task + + if mode == 'splash': + command = 'pdftoppm' + elif mode == 'cairo': + command = 'pdftocairo' + elif mode == 'text': + command = 'pdftotext' + + command = [ os.path.join(utils, command), document, os.devnull ] + + if page is not None: + command.extend([ '-f', str(page), '-l', str(page) ]) + + return (document, page, measure_command(command)) + +def measure(args): + global utils, mode, warm_up_iterations, min_iterations, max_iterations, target_accuracy + + utils = args.utils + mode = args.mode + warm_up_iterations = args.warm_up_iterations + min_iterations = args.min_iterations + max_iterations = args.max_iterations + target_accuracy = args.target_accuracy + + todo = 0 + + written = rewrite(0, 'Scanning...') + + tasks = [] + + for path, _, files in os.walk(args.documents): + for file in files: + file_path = os.path.join(path, file) + + page_count = check_page_count(file_path) + + if page_count == 0: + continue + + pages = range(1, page_count + 1) if args.pages else [ None ] + + for page in pages: + tasks.append((file_path, page)) + + todo +=1 + if todo % 100 == 0: + written = rewrite(written, 'Found %d...' % todo) + + done = 0 + + written = rewrite(written, '%d/%d (%.1f%%): Measuring...' % (done, todo, 0)) + begin = time.time() + + with multiprocessing.Pool() as pool: + results = {} + + for result in pool.imap(measure_task, tasks): + document, page, (run_time, memory_usage) = result + + entry = results.setdefault(document, {}).setdefault(page, {}) + entry['run_time'] = run_time + entry['memory_usage'] = memory_usage + + done += 1 + if done % max(1, todo // 500) == 0: + written = rewrite(written, '%d/%d (%.1f%%): Measured %s...' % (done, todo, 100 * done / todo, reference(document, page))) + + end = time.time() + rewrite(written, '%d/%d (%.1f%%): Measurement took %s.\n' % (done, todo, 100, time.strftime('%T', time.gmtime(end - begin)))) + + with open(args.results, 'wb') as file: + data = pickle.dumps(results) + data = zlib.compress(data) + file.write(data) diff --git a/perftest/poppler-perftest b/perftest/poppler-perftest new file mode 100755 index 00000000..3269386f --- /dev/null +++ b/perftest/poppler-perftest @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 + +import argparse +import sys + +from measure import measure +from compare import compare + +def main(args): + parser = argparse.ArgumentParser() + subparsers = parser.add_subparsers() + + measure_parser = subparsers.add_parser('measure') + measure_parser.set_defaults(func=measure) + measure_parser.add_argument('--utils', default='../utils') + measure_parser.add_argument('--mode', choices=[ 'splash', 'cairo', 'text' ], default='splash') + measure_parser.add_argument('--pages', action='store_true') + measure_parser.add_argument('--warm_up_iterations', type = int, default=5) + measure_parser.add_argument('--min_iterations', type=int, default=5) + measure_parser.add_argument('--max_iterations', type=int, default=25) + measure_parser.add_argument('--target_accuracy', type=float, default=0.01) + measure_parser.add_argument('documents') + measure_parser.add_argument('results') + + compare_parser = subparsers.add_parser('compare') + compare_parser.set_defaults(func=compare) + compare_parser.add_argument('--threshold', type=float, default=0.05) + compare_parser.add_argument('results') + compare_parser.add_argument('reference_results') + + try: + args = parser.parse_args(args) + args.func(args) + return 0 + except AttributeError: + parser.print_help() + return 1 + +if __name__ == '__main__': + sys.exit(main(sys.argv[1:])) diff --git a/perftest/util.py b/perftest/util.py new file mode 100644 index 00000000..ecfb301e --- /dev/null +++ b/perftest/util.py @@ -0,0 +1,29 @@ +import math +import statistics +import sys + +def rewrite(written, message): + sys.stdout.write('\r' * written + ' ' * written + '\r') + written = sys.stdout.write(message) + sys.stdout.flush() + return written + +def reference(document, page): + if page is not None: + return '%s[%d]' % (document, page) + else: + return document + +def accuracy(values): + try: + mean = statistics.mean(values) + stdev = statistics.stdev(values, mean) + return abs(stdev / mean) + except statistics.StatisticsError: + return math.inf + +def reldev(x, y): + return (x - y) / y + +def maxabs(x, y): + return max(abs(x), abs(y)) -- 2.16.1
/usr/share/texmf/doc/latex/presentations/images/beamer/zedat.pdf:
Run time:
Result: 0.02 ∓ 0.001 s
Reference: 0.02 ∓ 0.002 s
Deviation: 2.1 %
Memory usage:
Result: 10.0 ∓ 0.00 kB
Reference: 9.5 ∓ 0.00 kB
Deviation: 5.7 %
/usr/share/texmf/doc/latex/sciposter/sciposterexample/blocks3op.pdf:
Run time:
Result: 0.04 ∓ 0.001 s
Reference: 0.04 ∓ 0.002 s
Deviation: -3.8 %
Memory usage:
Result: 10.6 ∓ 0.00 kB
Reference: 10.1 ∓ 0.00 kB
Deviation: 5.1 %
/usr/share/texmf/doc/latex/l2picfaq/ctanlion.pdf:
Run time:
Result: 0.10 ∓ 0.002 s
Reference: 0.10 ∓ 0.002 s
Deviation: -3.3 %
Memory usage:
Result: 10.7 ∓ 0.00 kB
Reference: 10.1 ∓ 0.00 kB
Deviation: 6.3 %
/usr/share/texmf/doc/context/sources/general/manuals/start/graphics/cow.pdf:
Run time:
Result: 0.05 ∓ 0.002 s
Reference: 0.05 ∓ 0.002 s
Deviation: -7.0 %
Memory usage:
Result: 10.1 ∓ 0.13 kB
Reference: 9.8 ∓ 0.17 kB
Deviation: 2.9 %
/usr/share/texmf/doc/support/latexindent/latexindent.pdf:
Run time:
Result: 10.30 ∓ 0.023 s
Reference: 9.62 ∓ 0.026 s
Deviation: 7.0 %
Memory usage:
Result: 22.0 ∓ 0.12 kB
Reference: 21.9 ∓ 0.11 kB
Deviation: 0.3 %
/usr/share/texmf/doc/context/sources/general/manuals/start/graphics/fig-page-parameters-en.pdf:
Run time:
Result: 0.21 ∓ 0.001 s
Reference: 0.23 ∓ 0.009 s
Deviation: -6.7 %
Memory usage:
Result: 18.4 ∓ 0.16 kB
Reference: 18.3 ∓ 0.18 kB
Deviation: 0.6 %
/usr/share/texmf/doc/latex/sciposter/sciposterexample/blocks2.pdf:
Run time:
Result: 0.04 ∓ 0.001 s
Reference: 0.04 ∓ 0.001 s
Deviation: -0.8 %
Memory usage:
Result: 9.6 ∓ 0.02 kB
Reference: 10.1 ∓ 0.00 kB
Deviation: -5.5 %
/usr/share/texmf/doc/latex/presentations/images/beamer/beamer2.pdf:
Run time:
Result: 0.08 ∓ 0.001 s
Reference: 0.08 ∓ 0.001 s
Deviation: -2.7 %
Memory usage:
Result: 10.0 ∓ 0.00 kB
Reference: 9.5 ∓ 0.00 kB
Deviation: 5.7 %
/usr/share/texmf/doc/latex/math-into-latex-4/babybeamer10.pdf:
Run time:
Result: 0.18 ∓ 0.001 s
Reference: 0.18 ∓ 0.001 s
Deviation: -0.3 %
Memory usage:
Result: 10.8 ∓ 0.00 kB
Reference: 10.3 ∓ 0.00 kB
Deviation: 5.6 %
/usr/share/texmf/doc/latex/beamer/doc/beamerugthemePittsburgh.pdf:
Run time:
Result: 0.11 ∓ 0.001 s
Reference: 0.11 ∓ 0.001 s
Deviation: -2.0 %
Memory usage:
Result: 10.8 ∓ 0.00 kB
Reference: 10.1 ∓ 0.00 kB
Deviation: 6.2 %
/usr/share/texmf/doc/latex/math-into-latex-4/basem3-1.pdf:
Run time:
Result: 0.02 ∓ 0.001 s
Reference: 0.02 ∓ 0.001 s
Deviation: 1.3 %
Memory usage:
Result: 10.8 ∓ 0.00 kB
Reference: 10.3 ∓ 0.01 kB
Deviation: 5.7 %
/usr/share/texmf/doc/latex/presentations-en/images/beamer/beamer1.pdf:
Run time:
Result: 0.07 ∓ 0.000 s
Reference: 0.08 ∓ 0.003 s
Deviation: -5.2 %
Memory usage:
Result: 10.1 ∓ 0.00 kB
Reference: 9.8 ∓ 0.00 kB
Deviation: 3.1 %
/usr/share/texmf/doc/latex/beamer/doc/beamerugthemeBoadilla.pdf:
Run time:
Result: 0.14 ∓ 0.002 s
Reference: 0.14 ∓ 0.001 s
Deviation: -0.7 %
Memory usage:
Result: 10.7 ∓ 0.00 kB
Reference: 10.2 ∓ 0.00 kB
Deviation: 5.2 %
/usr/share/texmf/doc/plain/present/Pfeil2.pdf:
Run time:
Result: 0.01 ∓ 0.002 s
Reference: 0.02 ∓ 0.001 s
Deviation: -14.0 %
Memory usage:
Result: 9.0 ∓ 0.00 kB
Reference: 9.0 ∓ 0.00 kB
Deviation: 0.3 %
/usr/share/texmf/doc/latex/beamer/doc/beamerugouterthemeshadow.pdf:
Run time:
Result: 0.13 ∓ 0.002 s
Reference: 0.13 ∓ 0.001 s
Deviation: -1.7 %
Memory usage:
Result: 10.7 ∓ 0.00 kB
Reference: 10.2 ∓ 0.00 kB
Deviation: 5.2 %
/usr/share/texmf/doc/latex/beamer/doc/beamerugthemeCambridgeUS.pdf:
Run time:
Result: 0.15 ∓ 0.002 s
Reference: 0.15 ∓ 0.001 s
Deviation: 0.1 %
Memory usage:
Result: 10.7 ∓ 0.00 kB
Reference: 10.2 ∓ 0.00 kB
Deviation: 5.3 %
/usr/share/texmf/doc/latex/math-into-latex-4/basem3-2.pdf:
Run time:
Result: 0.02 ∓ 0.002 s
Reference: 0.02 ∓ 0.001 s
Deviation: 5.7 %
Memory usage:
Result: 10.8 ∓ 0.00 kB
Reference: 10.3 ∓ 0.01 kB
Deviation: 5.7 %
/usr/share/texmf/doc/latex/frontespizio/exampled.pdf:
Run time:
Result: 0.05 ∓ 0.002 s
Reference: 0.06 ∓ 0.002 s
Deviation: -6.4 %
Memory usage:
Result: 16.2 ∓ 0.14 kB
Reference: 16.1 ∓ 0.15 kB
Deviation: 0.2 %
/usr/share/texmf/doc/latex/beamer/doc/beamerugthemeEastLansing.pdf:
Run time:
Result: 0.15 ∓ 0.001 s
Reference: 0.15 ∓ 0.001 s
Deviation: -0.4 %
Memory usage:
Result: 10.8 ∓ 0.00 kB
Reference: 10.1 ∓ 0.00 kB
Deviation: 6.2 %
/usr/share/texmf/doc/generic/tracklang/samples/animals/sample-animals2.pdf:
Run time:
Result: 0.03 ∓ 0.001 s
Reference: 0.04 ∓ 0.002 s
Deviation: -5.8 %
Memory usage:
Result: 16.0 ∓ 0.16 kB
Reference: 16.0 ∓ 0.19 kB
Deviation: 0.4 %
/usr/share/texmf/doc/latex/presentations/images/beamer/beamer1.pdf:
Run time:
Result: 0.08 ∓ 0.001 s
Reference: 0.08 ∓ 0.001 s
Deviation: -2.7 %
Memory usage:
Result: 10.0 ∓ 0.00 kB
Reference: 9.5 ∓ 0.00 kB
Deviation: 5.7 %
/usr/share/texmf/doc/latex/beamer/doc/beameruginnerthemedefault.pdf:
Run time:
Result: 0.14 ∓ 0.001 s
Reference: 0.14 ∓ 0.001 s
Deviation: -1.5 %
Memory usage:
Result: 10.8 ∓ 0.00 kB
Reference: 10.1 ∓ 0.00 kB
Deviation: 6.6 %
/usr/share/texmf/doc/context/documents/general/manuals/tiptrick.pdf:
Run time:
Result: 2.24 ∓ 0.018 s
Reference: 2.26 ∓ 0.003 s
Deviation: -0.6 %
Memory usage:
Result: 25.5 ∓ 1.65 kB
Reference: 19.6 ∓ 0.12 kB
Deviation: 30.0 %
/usr/share/texmf/doc/context/sources/general/manuals/start/graphics/fig-page-areas-en.pdf:
Run time:
Result: 0.25 ∓ 0.002 s
Reference: 0.26 ∓ 0.011 s
Deviation: -5.1 %
Memory usage:
Result: 18.8 ∓ 0.18 kB
Reference: 18.7 ∓ 0.15 kB
Deviation: 0.6 %
/usr/share/texmf/doc/latex/math-into-latex-4/babybeamer6mod2.pdf:
Run time:
Result: 0.15 ∓ 0.001 s
Reference: 0.15 ∓ 0.001 s
Deviation: 1.0 %
Memory usage:
Result: 10.8 ∓ 0.00 kB
Reference: 10.3 ∓ 0.00 kB
Deviation: 5.6 %
/usr/share/texmf/doc/latex/beamer/doc/beamerugthemeLuebeck.pdf:
Run time:
Result: 0.14 ∓ 0.001 s
Reference: 0.14 ∓ 0.001 s
Deviation: -1.9 %
Memory usage:
Result: 10.7 ∓ 0.00 kB
Reference: 10.1 ∓ 0.00 kB
Deviation: 6.6 %
/usr/share/texmf/doc/latex/presentations/images/beamer/FUlogo.pdf:
Run time:
Result: 0.02 ∓ 0.001 s
Reference: 0.02 ∓ 0.001 s
Deviation: -0.1 %
Memory usage:
Result: 10.0 ∓ 0.00 kB
Reference: 9.5 ∓ 0.00 kB
Deviation: 5.7 %
/usr/share/texmf/doc/latex/frontespizio/fakelogo.pdf:
Run time:
Result: 0.02 ∓ 0.001 s
Reference: 0.02 ∓ 0.001 s
Deviation: -6.2 %
Memory usage:
Result: 10.7 ∓ 0.01 kB
Reference: 10.0 ∓ 0.00 kB
Deviation: 6.6 %
/usr/share/texmf/doc/latex/presentations/images/beamer/fu-berlin.pdf:
Run time:
Result: 0.02 ∓ 0.001 s
Reference: 0.02 ∓ 0.001 s
Deviation: -0.9 %
Memory usage:
Result: 10.0 ∓ 0.00 kB
Reference: 9.5 ∓ 0.00 kB
Deviation: 5.7 %
/usr/share/texmf/doc/latex/sciposter/sciposterexample/blocks1.pdf:
Run time:
Result: 0.04 ∓ 0.001 s
Reference: 0.04 ∓ 0.001 s
Deviation: -2.1 %
Memory usage:
Result: 10.6 ∓ 0.00 kB
Reference: 10.1 ∓ 0.00 kB
Deviation: 5.3 %
/usr/share/texmf/doc/latex/math-into-latex-4/babybeamer3.pdf:
Run time:
Result: 0.10 ∓ 0.001 s
Reference: 0.10 ∓ 0.001 s
Deviation: 0.7 %
Memory usage:
Result: 10.8 ∓ 0.00 kB
Reference: 10.3 ∓ 0.00 kB
Deviation: 5.6 %
/usr/share/texmf/doc/context/third/pgfplots/pgfplotsexample-context.pdf:
Run time:
Result: 0.07 ∓ 0.003 s
Reference: 0.06 ∓ 0.000 s
Deviation: 5.8 %
Memory usage:
Result: 16.6 ∓ 0.14 kB
Reference: 16.4 ∓ 0.11 kB
Deviation: 0.8 %
/usr/share/texmf/doc/xelatex/quran/defaulttext.pdf:
Run time:
Result: 0.02 ∓ 0.002 s
Reference: 0.02 ∓ 0.002 s
Deviation: 4.9 %
Memory usage:
Result: 9.9 ∓ 0.00 kB
Reference: 9.3 ∓ 0.00 kB
Deviation: 6.4 %
/usr/share/texmf/doc/latex/feupphdteses/Figures/uporto-feup.pdf:
Run time:
Result: 0.03 ∓ 0.002 s
Reference: 0.03 ∓ 0.003 s
Deviation: -4.7 %
Memory usage:
Result: 9.5 ∓ 0.00 kB
Reference: 10.0 ∓ 0.00 kB
Deviation: -5.2 %
/usr/share/texmf/doc/latex/titlepages/titlepages.pdf:
Run time:
Result: 4.42 ∓ 0.019 s
Reference: 4.49 ∓ 0.027 s
Deviation: -1.4 %
Memory usage:
Result: 18.3 ∓ 0.12 kB
Reference: 19.4 ∓ 0.98 kB
Deviation: -5.7 %
/usr/share/texmf/doc/latex/math-into-latex-4/babybeamer5.pdf:
Run time:
Result: 0.18 ∓ 0.002 s
Reference: 0.18 ∓ 0.001 s
Deviation: 0.4 %
Memory usage:
Result: 10.8 ∓ 0.00 kB
Reference: 10.3 ∓ 0.00 kB
Deviation: 5.7 %
/usr/share/texmf/doc/generic/tracklang/samples/animals/sample-animals-babel.pdf:
Run time:
Result: 0.04 ∓ 0.002 s
Reference: 0.04 ∓ 0.000 s
Deviation: 5.5 %
Memory usage:
Result: 16.0 ∓ 0.14 kB
Reference: 15.8 ∓ 0.02 kB
Deviation: 1.4 %
/usr/share/texmf/doc/latex/cnbwp/graph18.pdf:
Run time:
Result: 0.06 ∓ 0.001 s
Reference: 0.06 ∓ 0.001 s
Deviation: -0.5 %
Memory usage:
Result: 10.3 ∓ 0.00 kB
Reference: 9.6 ∓ 0.00 kB
Deviation: 7.5 %
/usr/share/texmf/doc/generic/lecturer/LecturerDemo-SimplePresentation.pdf:
Run time:
Result: 0.42 ∓ 0.002 s
Reference: 0.43 ∓ 0.002 s
Deviation: -1.1 %
Memory usage:
Result: 11.3 ∓ 0.10 kB
Reference: 10.7 ∓ 0.10 kB
Deviation: 5.4 %
/usr/share/texmf/doc/xelatex/quran/uthmanitext.pdf:
Run time:
Result: 0.02 ∓ 0.001 s
Reference: 0.02 ∓ 0.001 s
Deviation: 0.2 %
Memory usage:
Result: 9.9 ∓ 0.00 kB
Reference: 9.3 ∓ 0.00 kB
Deviation: 6.4 %
/usr/share/texmf/doc/latex/milog/milog-example.pdf:
Run time:
Result: 0.23 ∓ 0.002 s
Reference: 0.23 ∓ 0.001 s
Deviation: 1.1 %
Memory usage:
Result: 26.9 ∓ 0.99 kB
Reference: 17.1 ∓ 0.14 kB
Deviation: 57.4 %
/usr/share/texmf/doc/latex/presentations/images/beamer/beamer0.pdf:
Run time:
Result: 0.08 ∓ 0.001 s
Reference: 0.08 ∓ 0.001 s
Deviation: -1.8 %
Memory usage:
Result: 10.0 ∓ 0.00 kB
Reference: 9.5 ∓ 0.00 kB
Deviation: 5.7 %
/usr/share/texmf/doc/latex/presentations/images/beamer/beamernavsymbols.pdf:
Run time:
Result: 0.02 ∓ 0.001 s
Reference: 0.02 ∓ 0.002 s
Deviation: -0.9 %
Memory usage:
Result: 10.1 ∓ 0.00 kB
Reference: 9.5 ∓ 0.00 kB
Deviation: 5.8 %
/usr/share/texmf/doc/latex/beamer/doc/beamerugthemeHannover.pdf:
Run time:
Result: 0.12 ∓ 0.001 s
Reference: 0.12 ∓ 0.001 s
Deviation: -1.2 %
Memory usage:
Result: 10.7 ∓ 0.00 kB
Reference: 10.2 ∓ 0.00 kB
Deviation: 5.2 %
/usr/share/texmf/doc/latex/cjk/examples/pdf/GB.pdf:
Run time:
Result: 0.09 ∓ 0.002 s
Reference: 0.10 ∓ 0.001 s
Deviation: -5.3 %
Memory usage:
Result: 17.0 ∓ 0.14 kB
Reference: 16.8 ∓ 0.05 kB
Deviation: 1.0 %
/usr/share/texmf/doc/latex/draftcopy/draftcopy.pdf:
Run time:
Result: 1.39 ∓ 0.011 s
Reference: 1.41 ∓ 0.012 s
Deviation: -1.2 %
Memory usage:
Result: 23.5 ∓ 1.37 kB
Reference: 26.0 ∓ 0.25 kB
Deviation: -9.6 %
/usr/share/texmf/doc/latex/translation-europecv-de/Beispiele/at.pdf:
Run time:
Result: 0.03 ∓ 0.001 s
Reference: 0.03 ∓ 0.001 s
Deviation: 3.0 %
Memory usage:
Result: 10.6 ∓ 0.00 kB
Reference: 9.6 ∓ 0.00 kB
Deviation: 9.9 %
/usr/share/texmf/doc/support/ltximg/ltximg-doc.pdf:
Run time:
Result: 0.36 ∓ 0.001 s
Reference: 0.31 ∓ 0.015 s
Deviation: 14.6 %
Memory usage:
Result: 17.6 ∓ 0.06 kB
Reference: 17.5 ∓ 0.09 kB
Deviation: 0.7 %
/usr/share/texmf/doc/generic/tracklang/samples/animals/sample-animals-de-poly.pdf:
Run time:
Result: 0.03 ∓ 0.001 s
Reference: 0.03 ∓ 0.001 s
Deviation: -6.1 %
Memory usage:
Result: 15.9 ∓ 0.16 kB
Reference: 15.7 ∓ 0.15 kB
Deviation: 0.7 %
/usr/share/texmf/doc/generic/lecturer/LecturerDemo-SquaresOfAs.pdf:
Run time:
Result: 0.63 ∓ 0.003 s
Reference: 0.64 ∓ 0.002 s
Deviation: -1.8 %
Memory usage:
Result: 15.8 ∓ 1.05 kB
Reference: 14.5 ∓ 0.89 kB
Deviation: 9.3 %
/usr/share/texmf/doc/latex/sciposter/sciposterexample/blocks3rec.pdf:
Run time:
Result: 0.04 ∓ 0.001 s
Reference: 0.04 ∓ 0.001 s
Deviation: -3.6 %
Memory usage:
Result: 10.6 ∓ 0.00 kB
Reference: 10.1 ∓ 0.00 kB
Deviation: 5.4 %
/usr/share/texmf/doc/latex/math-into-latex-4/babybeamer9.pdf:
Run time:
Result: 0.10 ∓ 0.001 s
Reference: 0.10 ∓ 0.001 s
Deviation: -0.3 %
Memory usage:
Result: 10.8 ∓ 0.00 kB
Reference: 10.3 ∓ 0.00 kB
Deviation: 5.6 %
/usr/share/texmf/doc/latex/correctmathalign/eqnarray-org.pdf:
Run time:
Result: 0.02 ∓ 0.001 s
Reference: 0.02 ∓ 0.001 s
Deviation: -1.0 %
Memory usage:
Result: 10.1 ∓ 0.00 kB
Reference: 9.5 ∓ 0.00 kB
Deviation: 5.8 %
/usr/share/texmf/doc/latex/beamer/doc/beamerugouterthemetree.pdf:
Run time:
Result: 0.12 ∓ 0.001 s
Reference: 0.13 ∓ 0.001 s
Deviation: -2.2 %
Memory usage:
Result: 10.7 ∓ 0.00 kB
Reference: 10.1 ∓ 0.00 kB
Deviation: 6.1 %
/usr/share/texmf/doc/latex/math-into-latex-4/babybeamer7.pdf:
Run time:
Result: 0.31 ∓ 0.002 s
Reference: 0.31 ∓ 0.002 s
Deviation: 1.1 %
Memory usage:
Result: 10.8 ∓ 0.00 kB
Reference: 10.3 ∓ 0.00 kB
Deviation: 5.7 %
/usr/share/texmf/doc/latex/sciposter/sciposterexample/blocks3.pdf:
Run time:
Result: 0.04 ∓ 0.000 s
Reference: 0.04 ∓ 0.001 s
Deviation: -2.8 %
Memory usage:
Result: 10.6 ∓ 0.00 kB
Reference: 10.1 ∓ 0.00 kB
Deviation: 5.2 %
/usr/share/texmf/doc/latex/beamer/doc/beamerugcolorthemedefault.pdf:
Run time:
Result: 0.11 ∓ 0.001 s
Reference: 0.11 ∓ 0.000 s
Deviation: -0.4 %
Memory usage:
Result: 10.7 ∓ 0.00 kB
Reference: 10.1 ∓ 0.00 kB
Deviation: 6.1 %
/usr/share/texmf/doc/context/documents/general/manuals/units-mkiv.pdf:
Run time:
Result: 1.37 ∓ 0.013 s
Reference: 1.36 ∓ 0.013 s
Deviation: 0.3 %
Memory usage:
Result: 22.1 ∓ 0.87 kB
Reference: 17.4 ∓ 0.12 kB
Deviation: 26.7 %
/usr/share/texmf/doc/support/texosquery/texosquery.pdf:
Run time:
Result: 9.81 ∓ 0.881 s
Reference: 10.69 ∓ 0.075 s
Deviation: -8.2 %
Memory usage:
Result: 19.2 ∓ 0.12 kB
Reference: 19.0 ∓ 0.09 kB
Deviation: 1.0 %
/usr/share/texmf/doc/generic/knuth/errata/errata.pdf:
Run time:
Result: 12.54 ∓ 0.101 s
Reference: 12.69 ∓ 0.044 s
Deviation: -1.1 %
Memory usage:
Result: 18.9 ∓ 0.19 kB
Reference: 16.1 ∓ 0.14 kB
Deviation: 17.4 %
/usr/share/texmf/doc/latex/beamer/doc/beamerugthemeBerlin.pdf:
Run time:
Result: 0.14 ∓ 0.001 s
Reference: 0.15 ∓ 0.001 s
Deviation: -2.9 %
Memory usage:
Result: 10.7 ∓ 0.00 kB
Reference: 10.1 ∓ 0.00 kB
Deviation: 6.1 %
Cumulative run time:
Result: 90.95 min ∓ 1.1 %
Reference: 91.57 min ∓ 1.2 %
Deviation: -0.0 %
Cumulative memory usage:
Result: 37.2 MB ∓ 0.7 %
Reference: 37.0 MB ∓ 0.7 %
Deviation: +0.0 %
signature.asc
Description: OpenPGP digital signature
_______________________________________________ poppler mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/poppler
