Exemple #1
0
def commit_ref_db_val_from_raw_val(commit_db_key_val_list):
    '''serialize and compress a list of db_key/db_value pairs for commit storage

    Parameters
    ----------
    commit_db_key_val_list : iterable of 2-tuples
        Iterable collection binary encoded db_key/db_val pairs.

    Returns
    -------
    bytes
        Serialized and compressed representation of the object.
    '''
    serialized_db_list = msgpack.packb(
        tuple(commit_db_key_val_list), use_bin_type=True)

    zlibpacked = blosc.compress(
        serialized_db_list,
        cname='zlib',
        clevel=9,
        shuffle=blosc.SHUFFLE,
        typesize=1)

    print(blosc.get_cbuffer_sizes(zlibpacked))

    return zlibpacked
Exemple #2
0
 def test_get_cbuffer_sizes(self):
     s = b'0123456789' * 100000
     blosc.set_blocksize(2**16)
     c = blosc.compress(s, typesize=1)
     t = blosc.get_cbuffer_sizes(c)
     self.assertEqual(t[0], 1000000)
     # One cannot be sure of the exact compressed bytes, so round to KB
     self.assertEqual(t[1] // 2**10, 4354 // 2**10)
     self.assertEqual(t[2], 2**16)
Exemple #3
0
 def test_get_cbuffer_sizes(self):
     s = b'0123456789' * 100000
     blosc.set_blocksize(2**16)
     c = blosc.compress(s, typesize=1)
     t = blosc.get_cbuffer_sizes(c)
     self.assertEqual(t[0], 1000000)
     # One cannot be sure of the exact compressed bytes, so round to KB
     self.assertEqual(t[1] // 2**10, 4354 // 2**10)
     self.assertEqual(t[2], 2**16)
Exemple #4
0
 def test_get_cbuffer_sizes(self):
     s = b'0123456789' * 100000
     blosc.set_blocksize(2**16)
     c = blosc.compress(s, typesize=1)
     t = blosc.get_cbuffer_sizes(c)
     self.assertEqual(t, (1000000, 4354, 2**16))