diff options
author | Lars Wirzenius <liw@liw.fi> | 2011-07-18 22:56:08 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2011-07-18 22:56:08 +0100 |
commit | fb7c5d3dd14d7352ab06987ab62bcb149558f7e8 (patch) | |
tree | 91866d7aa9af64e8d503827e4f0da6a0b2e52d81 | |
parent | c18199bf960e79962678660ec097630bf15dc6fb (diff) | |
parent | 798907adbd1a00ab1f327e7bf680794c219fec3c (diff) | |
download | seivot-fb7c5d3dd14d7352ab06987ab62bcb149558f7e8.tar.gz |
Add feature to run benchmarks on existing directory, not generated data.
-rwxr-xr-x | seivot | 22 |
1 files changed, 20 insertions, 2 deletions
@@ -324,6 +324,9 @@ class Seivot(cliapp.Application): '(%default)', metavar='SIZE', default=1024) + self.settings.string(['use-existing'], + 'use exiting DIR for initial generation', + metavar='DIR') self.settings.bytesize(['file-size'], 'size of files to create', default=16*1024) self.settings.string(['obnam-branch'], @@ -377,8 +380,15 @@ class Seivot(cliapp.Application): self.report = Report(prog) - self.generate_live_data(self.live_data, self.settings['initial-data']) - self.measure(prog.backup, 0, self.settings['initial-data']) + if self.settings['use-existing']: + os.rmdir(self.live_data) + shutil.copytree(self.settings['use-existing'], self.live_data, + symlinks=True) + amount = self.file_sizes(self.live_data) + else: + amount = self.settings['initial-data'] + self.generate_live_data(self.live_data, amount) + self.measure(prog.backup, 0, amount) for i in range(1, generations): self.generate_live_data(self.live_data, @@ -408,6 +418,14 @@ class Seivot(cliapp.Application): runcmd(['genbackupdata', where, '--create', str(size), '--file-size', str(self.settings['file-size'])]) + def file_sizes(self, dirname): + bytes = 0 + for dirname, subdirs, basenames in os.walk(dirname): + for filename in [os.path.join(dirname, x) for x in basenames]: + if os.path.isfile(filename): + bytes += os.path.getsize(filename) + return bytes + def measure(self, func, nth_gen, new_data, **kwargs): logging.info('Measuring %s gen %d' % (func.__name__, nth_gen)) print 'Measuring %s generation %s' % (func.__name__, nth_gen) |