speed_test_uint32_array.c 686 B

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