ホームページ >バックエンド開発 >C++ >C で整数を std::string に変換する最速の方法は何ですか?

C で整数を std::string に変換する最速の方法は何ですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-13 10:40:15780ブラウズ

What's the Fastest Way to Convert an Integer to a std::string in C  ?

C パフォーマンス チャレンジ: 整数から std::string への変換

このチャレンジでは、整数を整数に変換するための最も効率的なコードを見つけることを目指します。 C の std::string 。多数の既存の方法にもかかわらず、どれも特に効率的であることが証明されていないため、作成者は独自の競合アプローチを提示することになりました。

このチャレンジに参加するには、コードは次のとおりである必要があります。

  • 署名を変換する符号なし 32 ビット整数を 10 進数に変換します。
  • として出力を生成します。 std::string.
  • スレッドやシグナルとの互換性など、指定されたルールに準拠します。
  • 理想的には、stringstream を使用して正規の C 出力と一致します。

作成者MB/秒のスループットを標準測定単位として利用し、さまざまなプラットフォームやコンパイラからのパフォーマンス ベンチマークを招待します。さらに、未定義の動作や無効な入力処理のインスタンスがあれば、大歓迎です。

広範なテストの後、gcc と Visual C の速度のチャンピオンは次のように浮上しました。

  • gcc の場合: Eugene Smith、sprintf より 8 倍高速。
  • Visual C の場合: Timo、15 倍高速sprintf.

著者は、sprintf を一桁上回るパフォーマンスを示すコードが発見されている一方、ostringstream ははるかに遅れていると述べています。

以上がC で整数を std::string に変換する最速の方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。