
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>度々の回答ありがとうございます。
「プロセス間通信のほうが遅い」>とのことですが、具体的な実例などありますでしょうか?
なぜ遅いか?考えればすぐわかると思いますが。
単純なものは”速い”、複雑なものは”遅い”です。
最初の回答で書いたurlの方法が.NETでのまっとうなプロセス間通信の方法だと思います。
が、通信を行う双方のアプリを不正なアクセスから保護するために、何層にも処理の階層(レイヤー)が分かれて、それぞれに手順が定められています。
そんな複雑なことをやるよりは、単純な処理であるファイルの方が速いのはすぐに理解できますよね。#2に書いたとおり、キャッシュに乗ったらほとんどオンメモリでの処理です。
というか、テンポラリ用に、明示的にメモリ上にファイルを作ることだって不可能ではありません。
>>というか、速度を求めるのに今のWindowsで.NETを選択してる時点で間違ってるような・・・
>また、VB.NETを使用している理由ですが、現在および将来
>において、入手が可能な開発環境であるということです。
うーん、なぜ処理速度をそこまで求めるのでしたらCやC++ではないのでしょうか?という意味だったんですけど。
開発環境の入手性でしたらVC++.NETなら変わりませんが。
今のWindowsでは、.NET Frameworkは階層的にWindowsAPIの上にのっているだけです。つまり、余分なオーバーヘッドたっぷりです。
ただし、次期OSでは階層が逆になるので.NETの方が速くなる可能性もありますが。
ちなみに、一番単純で速いプロセス間通信は、DLLを使った共有メモリだと思います。ただし、.NETを使うんでしたら実現できませんが。
http://www.cisnet.or.jp/home/tsuneoka/win32sub/3 …
参考URL:http://www.cisnet.or.jp/home/tsuneoka/win32sub/3 …
No.2
- 回答日時:
>この処理が数回なら全く問題ではないのです
が、数百回となると100ミリ秒でも問題となってきます。
うーん、単純に回数を掛けても意味が無いかと。
特にファイルなんて、OSによるキャッシュがバリバリ効きます。
ちゃんとした手順を踏んだプロセス間通信よりよっぽど速いと思います。
ところで排他や同期は考えないんですか?
プロセス間通信のオーバーヘッドよりこういうことのほうがよっぽど時間がかかることだと思うんですが。
というか、速度を求めるのに今のWindowsで.NETを選択してる時点で間違ってるような・・・
この回答への補足
度々の回答ありがとうございます。「プロセス間通信のほうが遅い」
とのことですが、具体的な実例などありますでしょうか?「業務」
なので、抽象的な「遅いと思う」では納得させることができないので、
具体的な内容があれば、それが知りたいです。
また、VB.NETを使用している理由ですが、現在および将来
において、入手が可能な開発環境であるということです。
No.1
- 回答日時:
数十倍とのデータを受け渡すのに、ファイルでは遅いってのが良くわかりませんが。
FDか何かと勘違いしてませんか?で、
.NET プロセス間通信
こんなキーワードで検索すれば、いろいろと出てきますが。
Googleの結果の2番目はこれ
http://www.microsoft.com/japan/msdn/thisweek/ste …
あとは、.NETで準備してるような方法で満足できないんでしたら、
1.WindowsAPIを使ってファイルマッピングを使う
2.WM_COPYDATAを使って別プロセスのウィンドウにメッセージとして送る。
3.WindowsAPIを使ってパイプ
ですかね。
ですかね。
この回答への補足
「遅い」というのが客観的な表現ではなかったため、誤解をされているようです。
簡単な実験プログラムで試験したところ、ファイルでデータの受け渡しを行うのに
かかる時間は約100ミリ秒でした。この処理が数回なら全く問題ではないのです
が、数百回となると100ミリ秒でも問題となってきます。最低でも5倍、できれ
ば10倍以上のスピードアップが必要なのです。また、Googleでの検索で出てくる
内容についても、具体的な実装には少々使えなさそうな感じがします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) FPGA構成データ、ソフトウェアデータ をボード Zybo Z20 用に転送する方法 1 2023/07/25 18:19
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
- USBメモリー・SDカード・フラッシュメモリー 銀行が振込データの受け渡しに未だにFDを使っている理由は「FDDがAドライブ固定だから」って本当? 11 2022/06/02 03:53
- 画像編集・動画編集・音楽編集 動画をディスク作成すると画像が乱れる。 4 2022/06/24 07:49
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- 電車・路線・地下鉄 ITパスポート試験問題 7 2023/01/25 09:51
- Android(アンドロイド) Androidスマホのデータ移行が終わらない 1 2023/08/04 17:25
- Visual Basic(VBA) VB.netのコンテナークラスとはなんですか 2 2023/07/22 03:54
- その他(法律) 携帯電話会社に保管されている解約済み個人情報を消去したい 3 2022/08/13 23:23
- その他(インターネット接続・インフラ) (Google workspace)google以外のアカウントの利用制限と対策を相談させてください 1 2022/10/11 16:18
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
VBScriptでのファイル結合処理...
-
バッチシステムの処理時間
-
EXEファイルに画像ファイルの埋...
-
gccでリソースファイルを使わな...
-
ファイルの結合
-
csvファイルを開かずに文字を検...
-
cvSnakeImageのエネルギー表示...
-
SSIを使わずに・・・
-
javaでMIDIファイルの取り出し...
-
この問題のファイルを読み込ん...
-
VC++でのiniファイルの読み書き
-
PDFを全文検索するプログラム
-
パワーポイントの画面表示が点...
-
unlinkしたファイルを元に戻す...
-
iniファイルに追記がしたいです。
-
static な c 関数の unit-test ...
-
バッチで118項目のCSVを処理し...
-
COM相互運用機能のON,OFFによる...
-
Tifファイルの数値化について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
dataファイルをxtxファイルにす...
-
csvファイルを開かずに文字を検...
-
ファイル名の先頭にアンダース...
-
CSVファイルへの保存の際、デー...
-
グローバル変数のよくない使い...
-
バッチで118項目のCSVを処理し...
-
テキストファイルの最終行を削...
-
VBAにてEXCEL以外のファイル(テ...
-
VBに、Cのincludeのようなもの...
-
分割コンパイルの#defineについて
-
RPGでファイル名(もしくはレコ...
-
SGファイルって何ですか?
-
マウスポインタの変更
-
Excelマクロでの再読込み方法
-
【C#】リソースファイルの埋め...
-
ダイアログボックスで複数フォ...
-
C言語のfopenについて教えてく...
-
ドラッグアンドドロップでファ...
-
「VBScript」ADODB.Streamにお...
おすすめ情報