From 58aa762e5cdb8c9c0a1efcbc8bbbf22fda351b1d Mon Sep 17 00:00:00 2001 From: Lukasz Langa Date: Tue, 1 Nov 2016 12:02:34 -0700 Subject: [PATCH] 0.9.2, updated README and benchmarks --- README.rst | 32 ++++++++++++++++++++++++++------ src/bitrot.py | 4 ++-- 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/README.rst b/README.rst index 003fa67..33adb44 100644 --- a/README.rst +++ b/README.rst @@ -27,15 +27,32 @@ a folder after moving it to another drive. Performance ----------- -Obviously depends on how fast the underlying drive is. No rigorous -performance tests have been done. For informational purposes, a typical -5400 RPM laptop hard drive scanning a 60+ GB music library takes around -15 minutes. On an OCZ Vertex 3 SSD drive ``bitrot`` is able to scan -a 100 GB Aperture library in under 10 minutes. Both tests on HFS+. +Obviously depends on how fast the underlying drive is. Since bandwidth +for checksum calculations is greater than your drive's data transfer +rate, even when comparing mobile CPUs vs. SSD drives, the script is +single-threaded. + +No rigorous performance tests have been done. Scanning a ~1000 files +totalling ~4 GB takes 20 seconds on a 2015 Macbook Air (SM0256G SSD). +This is with cold disk cache. + +Some other tests back from 2013: a typical 5400 RPM laptop hard drive +scanning a 60+ GB music library took around 15 minutes. On an OCZ +Vertex 3 SSD drive ``bitrot`` was able to scan a 100 GB Aperture library +in under 10 minutes. Both tests on HFS+. + +If you'd like to contribute some more rigorous eenchmarks or any +performance improvements, I'm accepting pull requests! :) Change Log ---------- +0.9.2 +~~~~~ + +* bugfix: one place in the code incorrectly hardcoded UTF-8 as the + filesystem encoding + 0.9.1 ~~~~~ @@ -155,4 +172,7 @@ Authors Glued together by `Ɓukasz Langa `_. Multiple improvements by `Yang Zhang `_, `Jean-Louis -Fuchs `_ and `Phil Lundrigan `_. +Fuchs `_, `Phil Lundrigan +`_, `Ben Shepherd +`_. diff --git a/src/bitrot.py b/src/bitrot.py index 24ef718..48337fb 100644 --- a/src/bitrot.py +++ b/src/bitrot.py @@ -40,9 +40,9 @@ import tempfile import time -DEFAULT_CHUNK_SIZE = 16384 +DEFAULT_CHUNK_SIZE = 16384 # block size in HFS+; 4X the block size in ext4 DOT_THRESHOLD = 200 -VERSION = (0, 9, 1) +VERSION = (0, 9, 2) IGNORED_FILE_SYSTEM_ERRORS = {errno.ENOENT, errno.EACCES} FSENCODING = sys.getfilesystemencoding()