moshang005 2016-08-05 03:38 采纳率: 0%
浏览 1647

snprintf与boost::format效率为什么差了这么多?

以下左侧是snprintf 右侧是boost::format
char* COLOM_KEY = "Name";
char* tableName = "player";
char* key = "boost";

snprintf:
char szBuffer[1024];
sprintf_s(szBuffer, sizeof(char) * 1024, "%s%s%s", COLOM_KEY, tableName, key);
boost::format:
boost::format fmt("%1%%2%%3%");
fmt % COLOM_KEY % tableName % key;

0.000152 0.000005
0.000155 0.000008
0.000132 0.000011
0.000149 0.000012
。。。。 。。。。。

千次执行平均时间各为
0.000318729s 0.000018491s

  • 写回答

1条回答 默认 最新

  • oyljerry 2016-08-05 07:22
    关注

    可以看看boost的源码实现。对比一下

    评论

报告相同问题?

悬赏问题

  • ¥15 爬虫爬取网站的一些信息
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含
  • ¥15 麒麟V10桌面版SP1如何配置bonding
  • ¥15 Marscode IDE 如何预览新建的 HTML 文件
  • ¥15 K8S部署二进制集群过程中calico一直报错