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