def run(): import blosc import blosc.toplevel blosc.print_versions() suite = unittest.TestLoader().loadTestsFromTestCase(TestCodec) # If in the future we split this test file in several, the auto-discover # might be interesting # suite = unittest.TestLoader().discover(start_dir='.', pattern='test*.py') suite.addTests(unittest.TestLoader().loadTestsFromModule(blosc.toplevel)) unittest.TextTestRunner(verbosity=2).run(suite)
""" Small benchmark that compares a plain NumPy array copy against compression through different compressors in Blosc. """ from __future__ import print_function import numpy as np import time import blosc import ctypes N = int(1e8) clevel = 5 Nexp = np.log10(N) blosc.print_versions() print("Creating NumPy arrays with 10**%d int64/float64 elements:" % Nexp) arrays = ((np.arange(N, dtype=np.int64), "the arange linear distribution"), (np.linspace(0, 1000, N), "the linspace linear distribution"), (np.random.random_integers(0, 1000, N), "the random distribution") ) in_ = arrays[0][0] # cause page faults here out_ = np.full(in_.size, fill_value=0, dtype=in_.dtype) t0 = time.time() #out_ = np.copy(in_) out_ = ctypes.memmove(out_.__array_interface__['data'][0], in_.__array_interface__['data'][0], N*8) tcpy = time.time() - t0
""" Small benchmark that compares a plain NumPy array copy against compression through different compressors in Blosc. """ from __future__ import print_function import numpy as np import time import blosc N = 1e8 clevel = 5 Nexp = np.log10(N) blosc.print_versions() print("Creating a large NumPy array with 10**%d int64 elements:" % Nexp) in_ = np.arange(N, dtype=np.int64) # the trivial linear distribution #in_ = np.linspace(0, 100, N) # another linear distribution #in_ = np.random.random_integers(0, 100, N) # random distribution print(" ", in_) tic = time.time() out_ = np.copy(in_) toc = time.time() print(" Time for copying array with np.copy(): %.3f s" % (toc-tic,)) print() for cname in blosc.compressor_list(): print("Using *** %s *** compressor::" % cname)