muduo日志2

Logger



LogStream类图



FixedBuffer类图



Logger类图




Impl类图






  1. LogStream的测试程序1  logstream_test.cc  
  2.   
  3. #include <muduo/base/LogStream.h>  
  4.   
  5. #include <limits>  
  6. #include <stdint.h>  
  7.   
  8. //#define BOOST_TEST_MODULE LogStreamTest  
  9. #define BOOST_TEST_MAIN  
  10. #define BOOST_TEST_DYN_LINK  
  11. #include <boost/test/unit_test.hpp>  
  12.   
  13. using muduo::string;  
  14.   
  15. BOOST_AUTO_TEST_CASE(testLogStreamBooleans)  
  16. {  
  17.   muduo::LogStream os;  
  18.   const muduo::LogStream::Buffer& buf = os.buffer();  
  19.   BOOST_CHECK_EQUAL(buf.asString(), string(""));  
  20.   os << true;  
  21.   BOOST_CHECK_EQUAL(buf.asString(), string("1"));  
  22.   os << '\n';  
  23.   BOOST_CHECK_EQUAL(buf.asString(), string("1\n"));  
  24.   os << false;  
  25.   BOOST_CHECK_EQUAL(buf.asString(), string("1\n0"));  
  26. }  
  27.   
  28. BOOST_AUTO_TEST_CASE(testLogStreamIntegers)  
  29. {  
  30.   muduo::LogStream os;  
  31.   const muduo::LogStream::Buffer& buf = os.buffer();  
  32.   BOOST_CHECK_EQUAL(buf.asString(), string(""));  
  33.   os << 1;  
  34.   BOOST_CHECK_EQUAL(buf.asString(), string("1"));  
  35.   os << 0;  
  36.   BOOST_CHECK_EQUAL(buf.asString(), string("10"));  
  37.   os << -1;  
  38.   BOOST_CHECK_EQUAL(buf.asString(), string("10-1"));  
  39.   os.resetBuffer();  
  40.   
  41.   os << 0 << " " << 123 << 'x' << 0x64;  
  42.   BOOST_CHECK_EQUAL(buf.asString(), string("0 123x100"));  
  43. }  
  44.   
  45. BOOST_AUTO_TEST_CASE(testLogStreamIntegerLimits)  
  46. {  
  47.   muduo::LogStream os;  
  48.   const muduo::LogStream::Buffer& buf = os.buffer();  
  49.   os << -2147483647;  
  50.   BOOST_CHECK_EQUAL(buf.asString(), string("-2147483647"));  
  51.   os << static_cast<int>(-2147483647 - 1);  
  52.   BOOST_CHECK_EQUAL(buf.asString(), string("-2147483647-2147483648"));  
  53.   os << ' ';  
  54.   os << 2147483647;  
  55.   BOOST_CHECK_EQUAL(buf.asString(), string("-2147483647-2147483648 2147483647"));  
  56.   os.resetBuffer();  
  57.   
  58.   os << std::numeric_limits<int16_t>::min();  
  59.   BOOST_CHECK_EQUAL(buf.asString(), string("-32768"));  
  60.   os.resetBuffer();  
  61.   
  62.   os << std::numeric_limits<int16_t>::max();  
  63.   BOOST_CHECK_EQUAL(buf.asString(), string("32767"));  
  64.   os.resetBuffer();  
  65.   
  66.   os << std::numeric_limits<uint16_t>::min();  
  67.   BOOST_CHECK_EQUAL(buf.asString(), string("0"));  
  68.   os.resetBuffer();  
  69.   
  70.   os << std::numeric_limits<uint16_t>::max();  
  71.   BOOST_CHECK_EQUAL(buf.asString(), string("65535"));  
  72.   os.resetBuffer();  
  73.   
  74.   os << std::numeric_limits<int32_t>::min();  
  75.   BOOST_CHECK_EQUAL(buf.asString(), string("-2147483648"));  
  76.   os.resetBuffer();  
  77.   
  78.   os << std::numeric_limits<int32_t>::max();  
  79.   BOOST_CHECK_EQUAL(buf.asString(), string("2147483647"));  
  80.   os.resetBuffer();  
  81.   
  82.   os << std::numeric_limits<uint32_t>::min();  
  83.   BOOST_CHECK_EQUAL(buf.asString(), string("0"));  
  84.   os.resetBuffer();  
  85.   
  86.   os << std::numeric_limits<uint32_t>::max();  
  87.   BOOST_CHECK_EQUAL(buf.asString(), string("4294967295"));  
  88.   os.resetBuffer();  
  89.   
  90.   os << std::numeric_limits<int64_t>::min();  
  91.   BOOST_CHECK_EQUAL(buf.asString(), string("-9223372036854775808"));  
  92.   os.resetBuffer();  
  93.   
  94.   os << std::numeric_limits<int64_t>::max();  
  95.   BOOST_CHECK_EQUAL(buf.asString(), string("9223372036854775807"));  
  96.   os.resetBuffer();  
  97.   
  98.   os << std::numeric_limits<uint64_t>::min();  
  99.   BOOST_CHECK_EQUAL(buf.asString(), string("0"));  
  100.   os.resetBuffer();  
  101.   
  102.   os << std::numeric_limits<uint64_t>::max();  
  103.   BOOST_CHECK_EQUAL(buf.asString(), string("18446744073709551615"));  
  104.   os.resetBuffer();  
  105.   
  106.   int16_t a = 0;  
  107.   int32_t b = 0;  
  108.   int64_t c = 0;  
  109.   os << a;  
  110.   os << b;  
  111.   os << c;  
  112.   BOOST_CHECK_EQUAL(buf.asString(), string("000"));  
  113. }  
  114.   
  115. BOOST_AUTO_TEST_CASE(testLogStreamFloats)  
  116. {  
  117.   muduo::LogStream os;  
  118.   const muduo::LogStream::Buffer& buf = os.buffer();  
  119.   
  120.   os << 0.0;  
  121.   BOOST_CHECK_EQUAL(buf.asString(), string("0"));  
  122.   os.resetBuffer();  
  123.   
  124.   os << 1.0;  
  125.   BOOST_CHECK_EQUAL(buf.asString(), string("1"));  
  126.   os.resetBuffer();  
  127.   
  128.   os << 0.1;  
  129.   BOOST_CHECK_EQUAL(buf.asString(), string("0.1"));  
  130.   os.resetBuffer();  
  131.   
  132.   os << 0.05;  
  133.   BOOST_CHECK_EQUAL(buf.asString(), string("0.05"));  
  134.   os.resetBuffer();  
  135.   
  136.   os << 0.15;  
  137.   BOOST_CHECK_EQUAL(buf.asString(), string("0.15"));  
  138.   os.resetBuffer();  
  139.   
  140.   double a = 0.1;  
  141.   os << a;  
  142.   BOOST_CHECK_EQUAL(buf.asString(), string("0.1"));  
  143.   os.resetBuffer();  
  144.   
  145.   double b = 0.05;  
  146.   os << b;  
  147.   BOOST_CHECK_EQUAL(buf.asString(), string("0.05"));  
  148.   os.resetBuffer();  
  149.   
  150.   double c = 0.15;  
  151.   os << c;  
  152.   BOOST_CHECK_EQUAL(buf.asString(), string("0.15"));  
  153.   os.resetBuffer();  
  154.   
  155.   os << a+b;  
  156.   BOOST_CHECK_EQUAL(buf.asString(), string("0.15"));  
  157.   os.resetBuffer();  
  158.   
  159.   BOOST_CHECK(a+b != c);  
  160.   
  161.   os << 1.23456789;  
  162.   BOOST_CHECK_EQUAL(buf.asString(), string("1.23456789"));  
  163.   os.resetBuffer();  
  164.   
  165.   os << 1.234567;  
  166.   BOOST_CHECK_EQUAL(buf.asString(), string("1.234567"));  
  167.   os.resetBuffer();  
  168.   
  169.   os << -123.456;  
  170.   BOOST_CHECK_EQUAL(buf.asString(), string("-123.456"));  
  171.   os.resetBuffer();  
  172. }  
  173.   
  174. BOOST_AUTO_TEST_CASE(testLogStreamVoid)  
  175. {  
  176.   muduo::LogStream os;  
  177.   const muduo::LogStream::Buffer& buf = os.buffer();  
  178.   
  179.   os << static_cast<void*>(0);  
  180.   BOOST_CHECK_EQUAL(buf.asString(), string("0x0"));  
  181.   os.resetBuffer();  
  182.   
  183.   os << reinterpret_cast<void*>(8888);  
  184.   BOOST_CHECK_EQUAL(buf.asString(), string("0x22B8"));  
  185.   os.resetBuffer();  
  186. }  
  187.   
  188. BOOST_AUTO_TEST_CASE(testLogStreamStrings)  
  189. {  
  190.   muduo::LogStream os;  
  191.   const muduo::LogStream::Buffer& buf = os.buffer();  
  192.   
  193.   os << "Hello ";  
  194.   BOOST_CHECK_EQUAL(buf.asString(), string("Hello "));  
  195.   
  196.   string chenshuo = "Shuo Chen";  
  197.   os << chenshuo;  
  198.   BOOST_CHECK_EQUAL(buf.asString(), string("Hello Shuo Chen"));  
  199. }  
  200.   
  201. BOOST_AUTO_TEST_CASE(testLogStreamFmts)  
  202. {  
  203.   muduo::LogStream os;  
  204.   const muduo::LogStream::Buffer& buf = os.buffer();  
  205.   
  206.   os << muduo::Fmt("%4d", 1);  
  207.   BOOST_CHECK_EQUAL(buf.asString(), string("   1"));  
  208.   os.resetBuffer();  
  209.   
  210.   os << muduo::Fmt("%4.2f", 1.2);  
  211.   BOOST_CHECK_EQUAL(buf.asString(), string("1.20"));  
  212.   os.resetBuffer();  
  213.   
  214.   os << muduo::Fmt("%4.2f", 1.2) << muduo::Fmt("%4d", 43);  
  215.   BOOST_CHECK_EQUAL(buf.asString(), string("1.20  43"));  
  216.   os.resetBuffer();  
  217. }  
  218.   
  219. BOOST_AUTO_TEST_CASE(testLogStreamLong)  
  220. {  
  221.   muduo::LogStream os;  
  222.   const muduo::LogStream::Buffer& buf = os.buffer();  
  223.   for (int i = 0; i < 399; ++i)  
  224.   {  
  225.     os << "123456789 ";  
  226.     BOOST_CHECK_EQUAL(buf.length(), 10*(i+1));  
  227.     BOOST_CHECK_EQUAL(buf.avail(), 4000 - 10*(i+1));  
  228.   }  
  229.   
  230.   os << "abcdefghi ";  
  231.   BOOST_CHECK_EQUAL(buf.length(), 3990);  
  232.   BOOST_CHECK_EQUAL(buf.avail(), 10);  
  233.   
  234.   os << "abcdefghi";  
  235.   BOOST_CHECK_EQUAL(buf.length(), 3999);  
  236.   BOOST_CHECK_EQUAL(buf.avail(), 1);  
  237. }  



Logstream 测试程序2 logstream_bench.cc 性能测试,测试不停数据类型的效率

<div class="dp-highlighter bg_cpp" style="font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px; background-color: rgb(231, 229, 220); width: 936.3368530273438px; overflow: auto; padding-top: 1px; margin: 18px 0px !important;"><div class="bar" style="padding-left: 45px;"><div class="tools" style="padding: 3px 8px 10px 10px; font-size: 9px; line-height: normal; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; color: silver; background-color: rgb(248, 248, 248); border-left-width: 3px; border-left-style: solid; border-left-color: rgb(153, 153, 153);"><strong>[cpp]</strong> <a target=_blank href="http://blog.csdn.net/laohan_/article/details/14273429#" class="ViewSource" title="view plain" style="color: rgb(160, 160, 160); text-decoration: none; background-image: none; background-color: inherit; border: none; padding: 0px; margin: 0px 10px 0px 0px; font-size: 9px; background-position: initial initial; background-repeat: initial initial;">view plain</a><a target=_blank href="http://blog.csdn.net/laohan_/article/details/14273429#" class="CopyToClipboard" title="copy" style="color: rgb(160, 160, 160); text-decoration: none; background-image: none; background-color: inherit; border: none; padding: 0px; margin: 0px 10px 0px 0px; font-size: 9px; background-position: initial initial; background-repeat: initial initial;">copy</a><a target=_blank href="http://blog.csdn.net/laohan_/article/details/14273429#" class="PrintSource" title="print" style="color: rgb(160, 160, 160); text-decoration: none; background-image: none; background-color: inherit; border: none; padding: 0px; margin: 0px 10px 0px 0px; font-size: 9px; background-position: initial initial; background-repeat: initial initial;">print</a><a target=_blank href="http://blog.csdn.net/laohan_/article/details/14273429#" class="About" title="?" style="color: rgb(160, 160, 160); text-decoration: none; background-image: none; background-color: inherit; border: none; padding: 0px; margin: 0px 10px 0px 0px; font-size: 9px; background-position: initial initial; background-repeat: initial initial;">?</a><div style="position: absolute; left: 562px; top: 7878px; width: 32px; height: 16px; z-index: 99;"></div></div></div><ol start="1" class="dp-cpp" style="padding: 0px; border: none; list-style-position: initial; list-style-image: initial; background-color: rgb(255, 255, 255); color: rgb(92, 92, 92); margin: 0px 0px 1px 45px !important;"><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span class="preprocessor" style="margin: 0px; padding: 0px; border: none; color: gray; background-color: inherit;">#include <muduo/base/LogStream.h></span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">  </span></span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span class="preprocessor" style="margin: 0px; padding: 0px; border: none; color: gray; background-color: inherit;">#include <muduo/base/Timestamp.h></span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span class="preprocessor" style="margin: 0px; padding: 0px; border: none; color: gray; background-color: inherit;">#include <sstream></span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span class="preprocessor" style="margin: 0px; padding: 0px; border: none; color: gray; background-color: inherit;">#include <stdio.h></span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">  </span></span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span class="preprocessor" style="margin: 0px; padding: 0px; border: none; color: gray; background-color: inherit;">#define __STDC_FORMAT_MACROS</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span class="preprocessor" style="margin: 0px; padding: 0px; border: none; color: gray; background-color: inherit;">#include <inttypes.h></span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">  </span></span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">using</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> </span><span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">namespace</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> muduo;  </span></span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">const</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> </span><span class="datatypes" style="margin: 0px; padding: 0px; border: none; color: rgb(46, 139, 87); background-color: inherit; font-weight: bold;">size_t</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> N = 1000000;  </span></span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span class="preprocessor" style="margin: 0px; padding: 0px; border: none; color: gray; background-color: inherit;">#pragma GCC diagnostic ignored "-Wold-style-cast"</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">  </span></span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">template</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"><</span><span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">typename</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> T>  </span></span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">void</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> benchPrintf(</span><span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">const</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> </span><span class="datatypes" style="margin: 0px; padding: 0px; border: none; color: rgb(46, 139, 87); background-color: inherit; font-weight: bold;">char</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">* fmt)  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">{  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  <span class="datatypes" style="margin: 0px; padding: 0px; border: none; color: rgb(46, 139, 87); background-color: inherit; font-weight: bold;">char</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> buf[32];  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  Timestamp start(Timestamp::now());  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  <span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">for</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> (</span><span class="datatypes" style="margin: 0px; padding: 0px; border: none; color: rgb(46, 139, 87); background-color: inherit; font-weight: bold;">size_t</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> i = 0; i < N; ++i)  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">    snprintf(buf, <span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">sizeof</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> buf, fmt, (T)(i));  </span></span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  Timestamp end(Timestamp::now());  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  printf(<span class="string" style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">"benchPrintf %f\n"</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">, timeDifference(end, start));  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">}  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">template</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"><</span><span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">typename</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> T>  </span></span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">void</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> benchStringStream()  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">{  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  Timestamp start(Timestamp::now());  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  std::ostringstream os;  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  <span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">for</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> (</span><span class="datatypes" style="margin: 0px; padding: 0px; border: none; color: rgb(46, 139, 87); background-color: inherit; font-weight: bold;">size_t</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> i = 0; i < N; ++i)  </span></span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  {  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">    os << (T)(i);  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">    os.seekp(0, std::ios_base::beg);  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  }  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  Timestamp end(Timestamp::now());  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  printf(<span class="string" style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">"benchStringStream %f\n"</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">, timeDifference(end, start));  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">}  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">template</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"><</span><span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">typename</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> T>  </span></span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">void</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> benchLogStream()  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">{  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  Timestamp start(Timestamp::now());  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  LogStream os;  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  <span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">for</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> (</span><span class="datatypes" style="margin: 0px; padding: 0px; border: none; color: rgb(46, 139, 87); background-color: inherit; font-weight: bold;">size_t</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> i = 0; i < N; ++i)  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  {  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">    os << (T)(i);  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">    os.resetBuffer();  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  }  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  Timestamp end(Timestamp::now());  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  printf(<span class="string" style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">"benchLogStream %f\n"</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">, timeDifference(end, start));  </span></span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">}  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span class="datatypes" style="margin: 0px; padding: 0px; border: none; color: rgb(46, 139, 87); background-color: inherit; font-weight: bold;">int</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> main()  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">{  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  benchPrintf<<span class="datatypes" style="margin: 0px; padding: 0px; border: none; color: rgb(46, 139, 87); background-color: inherit; font-weight: bold;">int</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">>(</span><span class="string" style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">"%d"</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">);  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  puts(<span class="string" style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">"int"</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">);  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  benchPrintf<<span class="datatypes" style="margin: 0px; padding: 0px; border: none; color: rgb(46, 139, 87); background-color: inherit; font-weight: bold;">int</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">>(</span><span class="string" style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">"%d"</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">);  </span></span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  benchStringStream<<span class="datatypes" style="margin: 0px; padding: 0px; border: none; color: rgb(46, 139, 87); background-color: inherit; font-weight: bold;">int</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">>();  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  benchLogStream<<span class="datatypes" style="margin: 0px; padding: 0px; border: none; color: rgb(46, 139, 87); background-color: inherit; font-weight: bold;">int</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">>();  </span></span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  puts(<span class="string" style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">"double"</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">);  </span></span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  benchPrintf<<span class="datatypes" style="margin: 0px; padding: 0px; border: none; color: rgb(46, 139, 87); background-color: inherit; font-weight: bold;">double</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">>(</span><span class="string" style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">"%.12g"</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">);  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  benchStringStream<<span class="datatypes" style="margin: 0px; padding: 0px; border: none; color: rgb(46, 139, 87); background-color: inherit; font-weight: bold;">double</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">>();  </span></span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  benchLogStream<<span class="datatypes" style="margin: 0px; padding: 0px; border: none; color: rgb(46, 139, 87); background-color: inherit; font-weight: bold;">double</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">>();  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  puts(<span class="string" style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">"int64_t"</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">);  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  benchPrintf<int64_t>(<span class="string" style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">"%"</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;"> PRId64);  </span></span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  benchStringStream<int64_t>();  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  benchLogStream<int64_t>();  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  </span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  puts(<span class="string" style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">"void*"</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">);  </span></span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  benchPrintf<<span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">void</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">*>(</span><span class="string" style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">"%p"</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">);  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  benchStringStream<<span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">void</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">*>();  </span></span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  benchLogStream<<span class="keyword" style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit; font-weight: bold;">void</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">*>();  </span></span></li><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; color: inherit; line-height: 20px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">  </span></li><li style="margin: 0px !important; padding: 0px 3px 0px 10px !important; border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(153, 153, 153); list-style: decimal-leading-zero outside; background-color: rgb(248, 248, 248); color: rgb(85, 85, 85); line-height: 20px;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">}  </span></li></ol></div>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值