たとえば、次のように、CSV文字列のリストとして、ユーザーID、アクセス時間、プログラム名、およびバージョン番号のリストがあるとします。
1,1342995305,Some Program,0.98
1,1342995315,Some Program,1.20
2,1342985305,Another Program,15.8.3
1,1342995443,Bob's favorite game,0.98
3,1238543846,Something else,
...
このリストはファイルではなく、文字列のメモリ内リストであると想定します。
ここで、特定のプログラムがバージョン番号でリストされている頻度で、そのプログラムにアクセスした頻度を調べたいとしましょう。(例:「一部のプログラムバージョン1.20」は193回アクセスされ、「一部のプログラムバージョン0.98」は876回アクセスされ、「一部のプログラム1.0.1」は1,932回アクセスされました)
正規表現を作成してregexec()
から、一致するものを見つけてバージョン番号を引き出すために使用するかstrstr()
、プログラム名とコンマを一致させてから、文字列の次の部分をバージョン番号として読み取る方がよいでしょうか。違いが生じる場合は、LinuxでGCCを使用していると想定してください。
パフォーマンスに違いはありますか?一方の方法は、もう一方の方法よりも「優れている」または「より適切」ですか?それはまったく重要ですか?