main.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import json
  2. import collections
  3. import matplotlib.pyplot as plt
  4. f = open("./serial_merkle_time.json")
  5. def load_data(path):
  6. f = open(path)
  7. data = json.load(f)
  8. data = {int(k):v for k,v in data.items()}
  9. od = collections.OrderedDict(sorted(data.items()))
  10. coins = list(od.keys())
  11. seconds = [ v.get("secs") + (v.get("nanos") / 1e9) for v in od.values()]
  12. return coins, seconds
  13. plt.title(f"Serialize/Deserialize merkle tree benchmark")
  14. coins, seconds = load_data("./serial_merkle_time.json")
  15. plt.plot(coins, seconds, label='serializing')
  16. coins, seconds = load_data("./deserial_merkle_time.json")
  17. plt.plot(coins, seconds, label='deserializing')
  18. plt.legend()
  19. plt.ylabel(f"time in seconds")
  20. plt.xlabel("number of coins")
  21. plt.savefig("serial_desrial_merkle_time.png")
  22. #plt.title(f"Serialize/Deserialize nullifiers vector benchmark")
  23. #coins, seconds = load_data("./serial_null_time.json")
  24. #plt.plot(coins, seconds, label='serializing')
  25. #coins, seconds = load_data("./deserial_null_time.json")
  26. #plt.plot(coins, seconds, label='deserializing')
  27. #
  28. #plt.legend()
  29. #plt.ylabel(f"time in seconds")
  30. #plt.xlabel("number of coins")
  31. #plt.savefig("serial_desrial_null_time.png")