C言語なら俺に聞け(入門編)Part 69
■ このスレッドは過去ログ倉庫に格納されています
0804デフォルトの名無しさん
2010/09/25(土) 21:38:00つまり、暗号化よりもディスクの読書きが遅いということです。
fread(buf, 1, 1024*64);
とかやると、結果がディスクから読み込まれてbufがいっぱいになるまで返ってきません。
その間CPUが何してるかというとほとんどbufがいっぱいになるまでアイドルしてます。
この待ってる最中にOpenSSLは別スレッドで暗号化処理をしているのでしょう。
あなたはシリアルに
読み込み1→暗号化1→書き込み1→読み込み2→暗号化2→書き込み2→...
とやっていますね?
おそらくOpenSSLみたいのは
スレッド1:読み込み1→読み込み2→読み込み3
スレッド2:アイドル →暗号化1 → 暗号化2 → 暗号化3
スレッド3:アイドル →アイドル →書き込み1→書き込み2 →書き込み3
みたいな感じでやってると思います。
■ このスレッドは過去ログ倉庫に格納されています