diff options
author | Lars Wirzenius <liw@liw.fi> | 2011-07-31 14:04:53 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2011-07-31 14:04:53 +0100 |
commit | 0e31f91bf83de06bb96a5c694857ccda9bed434e (patch) | |
tree | ea377170ae3b5dae2dbda5044354421514fe59b8 /idpath-speed | |
parent | a2f3932e68ab95ee9b9fcab8e7b967cce6fb5277 (diff) | |
download | larch-0e31f91bf83de06bb96a5c694857ccda9bed434e.tar.gz |
Add speed tester for IdPath.
Diffstat (limited to 'idpath-speed')
-rwxr-xr-x | idpath-speed | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/idpath-speed b/idpath-speed new file mode 100755 index 0000000..42257a7 --- /dev/null +++ b/idpath-speed @@ -0,0 +1,48 @@ +#!/usr/bin/python +# Copyright 2010 Lars Wirzenius +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + + +import os +import sys +import time + +import obnamlib + + +def main(): + n = int(sys.argv[1]) + dirname = sys.argv[2] + depth = int(sys.argv[3]) + bits = int(sys.argv[4]) + skip = int(sys.argv[5]) + + idpath = obnamlib.IdPath(dirname, depth, bits, skip) + start = time.time() + for i in xrange(n): + path = idpath.convert(i) + dirname = os.path.dirname(path) + if not os.path.exists(dirname): + os.makedirs(dirname) + with open(path, 'w'): + pass + end = time.time() + + duration = end - start + speed = n / duration + print '%d ids, %.1f seconds, %.1f ids/s' % (n, duration, speed) + +if __name__ == '__main__': + main() |