![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67b6d)
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
すでに書かれていますが、forkは、プロセスを生成するので、マルチプロセス処理になります。
なので、Parallel::ForkManager で(たとえば)10並列にした場合と、perlコマンドをシェルから10個パラレルに起動した場合とでは、ほぼ同じ処理になります。
No.3
- 回答日時:
>perlでバッチ処理を書いています。
ループ処理に時間がかかるのでParallel::ForkManagerというモジュールを使いマルチスレッド化しています。Parallel::ForkManagerはマルチプロセスを制御するモジュールであってマルチスレッドではないと思いますが。perldoc読んでもプロセスは出てきますがスレッドは出てきませんし。
>ふと思ったのですが、マルチスレッドにせず、単純にこのperlのスクリプトを同じタイミングで複数起動するだけでもマルチスレッド並に速度は向上するのでしょうか?
なので、この場合、起動手順が面倒になるだけで速度は向上しないです。
No.2
- 回答日時:
マルチスレッドは同一プロセス内にあるため、
特別な配慮無しに資源(メモリやオブジェクト)を
共有できます。従って、同期を取ることも比較的
簡単にできます。
マルチプロセスではプロセス空間が異なるため、
資源の共有には特別な処置が必要になります。
また、プロセス固有のメモリ領域が必要なので、
マルチスレッドよりシステムの負荷がかかります。
マシンスペックによって、これが重いか、軽いかの
違いがありますので、ハイスペックのものならば
使用上の差異が殆ど感じられないと思います。
No.1
- 回答日時:
>>マルチスレッドにせず、単純にこのperlのスクリプトを同じタイミングで複数起動するだけでもマルチスレッド並に速度は向上するのでしょうか?
一般論的には、マルチスレッドのほうがマルチプロセスよりも負荷が軽く、速いといわれていますので、速度が向上することは無いと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
AIX6でファイルのタイムスタン...
-
マルチスレッドとマルチプロセ...
-
時間がかかり過ぎたプロセスを...
-
Perlでpopen()的なものを使って...
-
gem install houston
-
例外処理のフローチャートの記...
-
Excel VBA 『Call』で呼び出す...
-
標準モジュールを削除したい。(...
-
VBSがコンパイルエラーになりま...
-
ユーザー定義関数に#NAME?が返...
-
VBA This Workbookモジュール...
-
LCD ディスプレイを Raspberry ...
-
Excel VBAでリンク切れをチェッ...
-
Excel VBA 標準モジュール内で...
-
Access VBA標準モジュールにつ...
-
ベースモジュールって?
-
エクセルVBA クラスモジュール...
-
モジュールの最大数はいくつな...
-
'Range'メソッドは失敗しました
-
VBAでoutlook365が起動しません。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
AIX6でファイルのタイムスタン...
-
open MAILでの"|"
-
ハマったので助けて~。Apache...
-
実行中のcpan processを終了さ...
-
マルチスレッドとマルチプロセ...
-
Active Directoryでグループに...
-
Perlでpopen()的なものを使って...
-
Perlの処理待ちコマンド
-
並列処理について
-
時間がかかり過ぎたプロセスを...
-
Perlで日本語から始まり記号で...
-
HELOコマンドが失敗する。
-
system関数とqx演算子の違いに...
-
perlスクリプト内でシェルコマ...
-
LinuxにおいてのPerlのプログラ...
-
Perlでexitコードを取得する方法
-
perl から unix コマンドを入...
-
スクリプトについて
-
MS-DOSでperl実行時にコマンド...
-
system から得た情報を変数に入...
おすすめ情報