From 07b3b28d341d6037d2b0ffe30707dec2bcd16b3d Mon Sep 17 00:00:00 2001 From: stefanocasazza Date: Thu, 22 Jun 2017 15:15:36 +0200 Subject: [PATCH] sync --- src/ulib/net/server/plugin/usp/mfortune.usp | 2 +- src/ulib/net/server/plugin/usp/update.usp | 25 ++++++++++++++++--- .../FrameworkBenchmarks/ULib/src/mfortune.usp | 2 +- .../FrameworkBenchmarks/ULib/src/update.usp | 25 ++++++++++++++++--- 4 files changed, 44 insertions(+), 10 deletions(-) diff --git a/src/ulib/net/server/plugin/usp/mfortune.usp b/src/ulib/net/server/plugin/usp/mfortune.usp index 85d87332..99d896f9 100644 --- a/src/ulib/net/server/plugin/usp/mfortune.usp +++ b/src/ulib/net/server/plugin/usp/mfortune.usp @@ -98,7 +98,7 @@ for (i = 0, ++n; i < n; ++i) ptr += sz; u_put_unalignedp64(ptr, U_MULTICHAR_CONSTANT64('<','/','t','d','>','<','/','t')); - u_put_unalignedp16(ptr+8, U_MULTICHAR_CONSTANT16('d','>')); + u_put_unalignedp16(ptr+8, U_MULTICHAR_CONSTANT16('r','>')); ptr += 10; } diff --git a/src/ulib/net/server/plugin/usp/update.usp b/src/ulib/net/server/plugin/usp/update.usp index 0dfd23c8..bfd1c8e6 100644 --- a/src/ulib/net/server/plugin/usp/update.usp +++ b/src/ulib/net/server/plugin/usp/update.usp @@ -94,7 +94,12 @@ while (true) } #ifdef AS_cpoll_cppsp_DO -USP_PUTS_CHAR('['); +(void) UClientImage_Base::wbuffer->reserve(36U * num_queries); + +char* s = UClientImage_Base::wbuffer->data(); +char* ptr = UClientImage_Base::wbuffer->pend(); + +*ptr++ = '['; #endif if (bpgsql) pvworld_update->sort(World::cmp_obj); @@ -120,18 +125,30 @@ while (true) } #ifdef AS_cpoll_cppsp_DO - USP_PRINTF("{\"id\":%u,\"randomNumber\":%u}", pworld->id, pworld->randomNumber); + u_put_unalignedp32(ptr, U_MULTICHAR_CONSTANT32('{','"','i','d')); + u_put_unalignedp16(ptr+4, U_MULTICHAR_CONSTANT16('"',':')); + + ptr = u_num2str32(pworld->id, ptr+6); + + u_put_unalignedp64(ptr, U_MULTICHAR_CONSTANT64(',','"','r','a','n','d','o','m')); + u_put_unalignedp64(ptr+8, U_MULTICHAR_CONSTANT64('N','u','m','b','e','r','"',':')); + + ptr = u_num2str32(pworld->randomNumber, ptr+16); + + *ptr++ = '}'; #endif if (++i == num_queries) break; #ifdef AS_cpoll_cppsp_DO - USP_PUTS_CHAR(','); + *ptr++ = ','; #endif } #ifdef AS_cpoll_cppsp_DO -USP_PUTS_CHAR(']'); +*ptr++ = ']'; + +UClientImage_Base::wbuffer->size_adjust(ptr - s); #else USP_OBJ_JSON_stringify(*pvworld_update); #endif diff --git a/tests/examples/benchmark/FrameworkBenchmarks/ULib/src/mfortune.usp b/tests/examples/benchmark/FrameworkBenchmarks/ULib/src/mfortune.usp index 85d87332..99d896f9 100644 --- a/tests/examples/benchmark/FrameworkBenchmarks/ULib/src/mfortune.usp +++ b/tests/examples/benchmark/FrameworkBenchmarks/ULib/src/mfortune.usp @@ -98,7 +98,7 @@ for (i = 0, ++n; i < n; ++i) ptr += sz; u_put_unalignedp64(ptr, U_MULTICHAR_CONSTANT64('<','/','t','d','>','<','/','t')); - u_put_unalignedp16(ptr+8, U_MULTICHAR_CONSTANT16('d','>')); + u_put_unalignedp16(ptr+8, U_MULTICHAR_CONSTANT16('r','>')); ptr += 10; } diff --git a/tests/examples/benchmark/FrameworkBenchmarks/ULib/src/update.usp b/tests/examples/benchmark/FrameworkBenchmarks/ULib/src/update.usp index 0dfd23c8..bfd1c8e6 100644 --- a/tests/examples/benchmark/FrameworkBenchmarks/ULib/src/update.usp +++ b/tests/examples/benchmark/FrameworkBenchmarks/ULib/src/update.usp @@ -94,7 +94,12 @@ while (true) } #ifdef AS_cpoll_cppsp_DO -USP_PUTS_CHAR('['); +(void) UClientImage_Base::wbuffer->reserve(36U * num_queries); + +char* s = UClientImage_Base::wbuffer->data(); +char* ptr = UClientImage_Base::wbuffer->pend(); + +*ptr++ = '['; #endif if (bpgsql) pvworld_update->sort(World::cmp_obj); @@ -120,18 +125,30 @@ while (true) } #ifdef AS_cpoll_cppsp_DO - USP_PRINTF("{\"id\":%u,\"randomNumber\":%u}", pworld->id, pworld->randomNumber); + u_put_unalignedp32(ptr, U_MULTICHAR_CONSTANT32('{','"','i','d')); + u_put_unalignedp16(ptr+4, U_MULTICHAR_CONSTANT16('"',':')); + + ptr = u_num2str32(pworld->id, ptr+6); + + u_put_unalignedp64(ptr, U_MULTICHAR_CONSTANT64(',','"','r','a','n','d','o','m')); + u_put_unalignedp64(ptr+8, U_MULTICHAR_CONSTANT64('N','u','m','b','e','r','"',':')); + + ptr = u_num2str32(pworld->randomNumber, ptr+16); + + *ptr++ = '}'; #endif if (++i == num_queries) break; #ifdef AS_cpoll_cppsp_DO - USP_PUTS_CHAR(','); + *ptr++ = ','; #endif } #ifdef AS_cpoll_cppsp_DO -USP_PUTS_CHAR(']'); +*ptr++ = ']'; + +UClientImage_Base::wbuffer->size_adjust(ptr - s); #else USP_OBJ_JSON_stringify(*pvworld_update); #endif