72_lz4.py 738 B

123456789101112131415161718192021222324252627282930313233
  1. try:
  2. import lz4
  3. except ImportError:
  4. print('lz4 is not enabled, skipping test...')
  5. exit()
  6. def test(data: bytes):
  7. compressed = lz4.compress(data)
  8. decompressed = lz4.decompress(compressed)
  9. assert data == decompressed
  10. if len(data) == 0:
  11. return 0
  12. return len(compressed) / len(data)
  13. test(b'')
  14. test(b'hello world')
  15. import random
  16. def gen_data():
  17. values = []
  18. for i in range(random.randint(0, 10000)):
  19. values.append(i % 256)
  20. return bytes(values)
  21. for i in range(100):
  22. ratio = test(gen_data())
  23. # print(f'compression ratio: {ratio:.2f}')
  24. # test 64MB random data (require 1GB list[int] buffer)
  25. rnd = [random.randint(0, 255) for _ in range(1024*1024*1024//16)]
  26. test(bytes(rnd))