mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-03-19 21:18:23 +01:00
38 lines
664 B
C
38 lines
664 B
C
#include <msgpack.h>
|
|
#include <assert.h>
|
|
|
|
void test()
|
|
{
|
|
uint64_t test_u64 = 0xFFF0000000000001LL;
|
|
size_t size = 10000000;
|
|
msgpack_sbuffer buf;
|
|
msgpack_sbuffer_init(&buf);
|
|
|
|
msgpack_packer * pk = msgpack_packer_new(&buf, msgpack_sbuffer_write);
|
|
|
|
msgpack_pack_array(pk, size);
|
|
{
|
|
int idx = 0;
|
|
for (; idx < size; ++idx)
|
|
msgpack_pack_uint64(pk, test_u64);
|
|
}
|
|
msgpack_packer_free(pk);
|
|
|
|
|
|
size_t upk_pos = 0;
|
|
msgpack_unpacked msg;
|
|
msgpack_unpacked_init(&msg);
|
|
|
|
while (msgpack_unpack_next(&msg, buf.data, buf.size, &upk_pos)) {
|
|
}
|
|
|
|
msgpack_sbuffer_destroy(&buf);
|
|
}
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
int i = 0;
|
|
for (; i < 10; ++i) test();
|
|
return 0;
|
|
}
|