[過去ログ] ふらっと C#,C♯,C#(初心者用) Part138 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
800
(3): (ワッチョイ ffe8-U/lW) 2018/07/22(日)00:23 ID:qjdpSLXF0(2/8) AAS
>>799
圧縮ファイルを解凍して中のファイルを加工して再び圧縮し直す
これで1タスクです
1ファイル200MBほどで100ファイル以上処理することが多いです
圧縮解凍、加工は外部ツールを使用しててProcessStartInfoで処理されます
801
(1): (ワッチョイ 9f5d-haGl) 2018/07/22(日)00:35 ID:IU6x2eOV0(2/8) AAS
>>800
なるほど〜
CPU 処理も IO もあって微妙なところですね

ちなみにその外部ツールはマルチスレッドを使うオプションはないでしょうか?
(例えば 7-zip.exe だと -mmt がそれにあたります)
もし外部ツールがマルチスレッドに対応してるなら、
並列処理はそっちに任せてしまうというのはどうでしょう?
省2
803
(1): (ワッチョイ 9f5d-haGl) 2018/07/22(日)00:45 ID:IU6x2eOV0(3/8) AAS
>>800
それともう一つ、外部ツールを呼び出すのにデフォルトの ParallelOptions で
Parallel.ForEach を呼び出すのはさすがにまずいと思います
ParallelOptions 自体に MaxDegreeOfParallelism というプロパティがありますし、
ParallelOptions の TaskScheduler プロパティに以下のような自前のスケジューラーを
設定すればより柔軟な並列処理を実現できると思います

同時実行の程度を制限するタスク スケジューラを作成する
省6
813
(1): (ワッチョイ 9f5d-haGl) 2018/07/22(日)01:27 ID:IU6x2eOV0(7/8) AAS
AA省
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.030s