生活随笔
收集整理的這篇文章主要介紹了
浮点转字符串性能比较
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.浮點轉字符串
使用 boost 1.56 里面的 karma 自帶的測試用例,修改源碼添加對 double conversion 的支持,同時輸出結果為 markdown 表格。double conversion 優化級別O2,測試機為 CentOS 6.5 g++ 4.4.7。結果如下
[root@slave205 karma]# g++ double_performance.cpp /usr/local/lib/libdouble-conversion.a -lrt -O2
[root@slave205 karma]# for i in 123456789.0 5.0 0.123456 123456.7890123 0.0000123456 ; do echo ""; ./a.out $i ; done
methodtimeresult
| sprintf | 1.01284 | 123456789.000000 |
| iostreams | 1.11144 | 1.23457e+08 |
| format | 2.61989 | 123456789.000000 |
| karma | 0.534133 | 1.235e08 |
| karma (string) | 0.609746 | 1.235e08 |
| karma (rule) | 0.589086 | 1.235e08 |
| karma (direct) | 0.529474 | 1.235e08 |
| double_conversion ToShortest | 0.206492 | 123456789 |
methodtimeresult
| sprintf | 0.339345 | 5.000000 |
| iostreams | 0.58121 | 5 |
| format | 1.7414 | 5.000000 |
| karma | 0.229682 | 5.0 |
| karma (string) | 0.272013 | 5.0 |
| karma (rule) | 0.26701 | 5.0 |
| karma (direct) | 0.218975 | 5.0 |
| double_conversion ToShortest | 0.136092 | 5 |
methodtimeresult
| sprintf | 0.407084 | 0.123456 |
| iostreams | 0.692892 | 0.123456 |
| format | 2.07 | 0.123456 |
| karma | 0.208019 | 0.123 |
| karma (string) | 0.246272 | 0.123 |
| karma (rule) | 0.253367 | 0.123 |
| karma (direct) | 0.213895 | 0.123 |
| double_conversion ToShortest | 0.182453 | 0.123456 |
methodtimeresult
| sprintf | 1.00817 | 123456.789012 |
| iostreams | 1.04606 | 123457 |
| format | 2.67615 | 123456.789012 |
| karma | 0.528678 | 1.235e05 |
| karma (string) | 0.566756 | 1.235e05 |
| karma (rule) | 0.599371 | 1.235e05 |
| karma (direct) | 0.512787 | 1.235e05 |
| double_conversion ToShortest | 0.211471 | 123456.7890123 |
methodtimeresult
| sprintf | 0.456531 | 0.000012 |
| iostreams | 0.826126 | 1.23456e-05 |
| format | 2.06105 | 0.000012 |
| karma | 0.554503 | 1.235e-05 |
| karma (string) | 0.624482 | 1.235e-05 |
| karma (rule) | 0.593442 | 1.235e-05 |
| karma (direct) | 0.499671 | 1.235e-05 |
| double_conversion ToShortest | 0.219412 | 0.0000123456 |
注:CppFormat?的浮點轉換為調用 sprintf 所以這里并沒有測試它。 迭代一百萬次,時間單位秒
2.整數轉字符串
可參考 http://zverovich.net/2013/09/07/integer-to-string-conversion-in-cplusplus.html
轉載于:https://www.cnblogs.com/JesseFang/p/5213407.html
總結
以上是生活随笔為你收集整理的浮点转字符串性能比较的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。