From e41dc6e96fe9ca5960d449d1479713cb537682c4 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Thu, 14 Jan 2021 20:19:10 +0100 Subject: [PATCH] use zeros for benchmarks --- src/borg/archiver.py | 3 ++- src/borg/testsuite/benchmark.py | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/borg/archiver.py b/src/borg/archiver.py index 2fe47056d..37f62fb52 100644 --- a/src/borg/archiver.py +++ b/src/borg/archiver.py @@ -453,9 +453,10 @@ class Archiver: def test_files(path, count, size, random): path = os.path.join(path, 'borg-test-data') os.makedirs(path) + z_buff = None if random else memoryview(zeros)[:size] if size <= len(zeros) else b'\0' * size for i in range(count): fname = os.path.join(path, 'file_%d' % i) - data = b'\0' * size if not random else os.urandom(size) + data = z_buff if not random else os.urandom(size) with SyncFile(fname, binary=True) as fd: # used for posix_fadvise's sake fd.write(data) yield path diff --git a/src/borg/testsuite/benchmark.py b/src/borg/testsuite/benchmark.py index 1e70a101f..f3ec06f2a 100644 --- a/src/borg/testsuite/benchmark.py +++ b/src/borg/testsuite/benchmark.py @@ -11,6 +11,7 @@ import os import pytest from .archiver import changedir, cmd +from ..constants import zeros @pytest.fixture @@ -34,12 +35,13 @@ def repo(request, cmd, repo_url): @pytest.fixture(scope='session', params=["zeros", "random"]) def testdata(request, tmpdir_factory): count, size = 10, 1000*1000 + assert size <= len(zeros) p = tmpdir_factory.mktemp('data') data_type = request.param if data_type == 'zeros': # do not use a binary zero (\0) to avoid sparse detection def data(size): - return b'0' * size + return memoryview(zeros)[:size] elif data_type == 'random': def data(size): return os.urandom(size)