高性能低延迟C++自定义字符串类

Chu*_*ris 13 c++ string

我的目标是找到最快的C++库,用于将int转换为字符串,反之亦然,以及解析.

任何尝试过C++性能的人都会很快意识到STL的字符串类与STL int算术运算相比具有可怕的性能.

我的3.3 GHz Intel,GCC,CentOS 5.5机器的一些示例基准测试:

memcpy        0.004000 microsec/op
atoi          0.025000 microsec/op
atof          0.133000 microsec/op
strtod        0.133000 microsec/op
atof          0.135108 microsec/op
(char) uchar  0.001801 microsec/op
(char) ushort 0.001801 microsec/op
cache accs    0.010505 microsec/op
maplookup     0.128534 microsec/op
add_int       0.002456 microsec/op
Run Code Online (Sandbox Code Playgroud)

您可以快速看到字符串操作将成为任何高速消息传递应用程序的瓶颈.

我找到了其他用于高性能字符串的库(列出),但我写的是希望有人遇到类似的困难并且已经达成了一些解决方案,可能包括编写自己的字符串类.

Mac*_*ser 5

您没有提供有关服务器的大量信息,但请查看AMD和Intel的这些库:

AMD字符串库

英特尔集成性能基元

两者都使用SSE扩展来加速字符串操作.

据我所知,他们没有atoi(),但您可以使用库来定位输入中的小数.给定字符串的位置和长度,使用SSE内在函数编写转换应该是微不足道的.