speed_test_uint64_array.c 739 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #include <msgpack.h>
  2. void test()
  3. {
  4. uint64_t test_u64 = 0xFFF0000000000001LL;
  5. size_t size = 10000000;
  6. msgpack_sbuffer buf;
  7. msgpack_packer * pk;
  8. size_t upk_pos = 0;
  9. msgpack_unpacked msg;
  10. msgpack_sbuffer_init(&buf);
  11. pk = msgpack_packer_new(&buf, msgpack_sbuffer_write);
  12. msgpack_pack_array(pk, size);
  13. {
  14. size_t idx = 0;
  15. for (; idx < size; ++idx)
  16. msgpack_pack_uint64(pk, test_u64);
  17. }
  18. msgpack_packer_free(pk);
  19. msgpack_unpacked_init(&msg);
  20. while (msgpack_unpack_next(&msg, buf.data, buf.size, &upk_pos) == MSGPACK_UNPACK_SUCCESS) {
  21. }
  22. msgpack_sbuffer_destroy(&buf);
  23. }
  24. int main(void)
  25. {
  26. int i = 0;
  27. for (; i < 10; ++i) test();
  28. return 0;
  29. }