小编And*_*dré的帖子

为什么 {fmt} 比 std::stringstream 慢?

从我在线阅读的内容来看,fmt 库应该比例如 stringstreams 快得多。

然而,我做了一些简单的基准测试(测量系统时间,见下面的代码),似乎 fmt 总是比 stringstreams 慢。我有什么问题吗?

uint64_t start;
uint64_t stop;

long MAXCOUNT = 10000000;

std::srand(123);

int* numbers =  new int[MAXCOUNT];
for ( int i = 0; i < MAXCOUNT; i++) {
    numbers[i] = std::rand();
}

{
    std::string result;
    start = currentTimeInMillis();
    for ( int i = 0; i < MAXCOUNT; i++) {
        result += fmt::format("Number {} is great!", numbers[i]);
    }
    stop = currentTimeInMillis();
    fmt::print("timing fmt : {} ms   /   string length: {}\n", stop-start, result.size());
}


{
    std::string …
Run Code Online (Sandbox Code Playgroud)

c++ performance stringstream fmt

0
推荐指数
1
解决办法
1264
查看次数

标签 统计

c++ ×1

fmt ×1

performance ×1

stringstream ×1