こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

回答受付中の質問

mscorlib.dllがボトルネック?

競馬の解析ソフトをvisualBasicで作成しているのですが、ビルドしたexeファイルをコピーして1台のPCでソフトを多重起動すると極端に実行速度が遅くなります。多重起動したソフト毎に参照しているデータベースやテキストデータは分けているので、この部分はボトルネックではないと考えています。
Visual studio2019で動作を解析したところ、mscorlib.dllの実行に掛かる時間が長いようなので、この部分に負荷が集中しているのかと想像しています。
ソフトの多重起動によりmscorlib.dllの負荷が増加し、この部分がボトルネックになるということはあり得るのでしょうか?
趣味のため独学で開発してきており、プログラミングの基礎などよくわかりませんが、もしかして常識的なことなのでしょうか?

どなたかわかる方いたらよろしくお願いいたします。

投稿日時 - 2020-01-30 23:59:53

QNo.9707432

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

https://www.amd.com/ja/support/kb/faq/cpu-pb2
上記のサイトには以下の記述があります。

テクノロジーは自動ですが、Precision Boost 2による性能の利点を最大限に活用するには、PCで実行しなければならない構成手順があります。 この手順には以下が含まれます。

プロセッサーに適切なサーマル・ペーストを確保する
正しく取り付けられた適切なクーラーでCPUを構成する
PCが高品質のケースファンを搭載しており、適切な外部からの空気の流れがあることを確認する
信頼性が高く最適化された設定でマザーボードBIOSを構成する
Windows® 10の最新バージョンでPCを構成する
最新のAMDチップセット・ドライバー・ソフトウェアをインストールする
マザーボードをメーカー最新のBIOSに更新する

Precision Boost 2はいくつかの要因に依存するため、上記の手順は
★非常に重要★となります。

達成される最大ブースト周波数と持続的なブースト条件は、アプリケーションと作業負荷に依存します。

軽い作業負荷では最高のブースト周波数が発生しますが、より重いマルチコアのタスクや持続的な作業負荷では制限に達する確率が高くなるため、
★ブーストの程度が低くなる★ことにご注意ください。


上記サイトは以下のサイトの先にあったものです。
https://www.amd.com/ja/products/cpu/amd-ryzen-7-3800x

ずいぶん良い機体を使われているようで羨ましいです。
それはそうと、上記の条件と照らし合わせて、問題の原因になっていないかを、今一度ご確認されてみてはいかがでしょうか?

CPU の性能を生かしきれていないと思われるのは、もしかしたらこの辺に原因があるのかもしれません。

投稿日時 - 2020-02-03 18:02:14

ANo.3

ひとつ聞いていいですか?
メモリー64GBって凄く多いと思うのですが、俺の言っているメモリーと違います?

デスクトップパソコンだから多いのかな?

俺の言っているメモリーとは、RAM のことですよ。
通常、市販のパソコンは大抵は8GB、 多くて16GB くらいだと思います。

自分で64GB に増設されたってことでしょうか?

Doutor333444 さんの言うメモリーって、もしかしてストレージ容量のことなのかな?とも思いまして、端末のRAM はOSの設定からPC情報と検索してみると確認できると思います。

RAM は何GB になってます?

投稿日時 - 2020-02-01 20:52:01

補足

使用しているパソコンは自作したもので、メモリーは64GBで間違いありません。
CPUはRyzen7-3800Xですが、現状はCPUパワーを使い切れていない所が不満なため質問させていただきました。

投稿日時 - 2020-02-02 16:06:20

ANo.2

>多重起動したソフト毎に参照しているデータベースやテキストデータは分けているので、この部分はボトルネックではないと考えています。

多重起動したソフトごとに
データベースなどを分けている

なら、その分メモリーを使用しているのではないでしょうか?
だから重いのだと考えられると思います。

あるいは、創られたソフトに欠陥があるのかも。

俺は素人なのでビルドってよく分かりませんが、動かせるようにして実行させたって意味でしょう?

プログラムに欠陥があったら、そりゃあシステムが変な所を延々とループして計算しているという事も、あり得るのではないかと素人としては思ってしまいますが、そんな事はないのでしょうか?

待っていれば結果が出るのなら、「延々と」ってことはないでしょうけど、もっと効率よく回せるかもしれないと言うことはないのでしょうか?

mscorlib.dllがボトルネックかどうかは分かりませんが、メモリーを増設したら軽くできるのではないかと思います。

mscorlib.dllがボトルネックかという専門的な質問するのなら、技術者が答えてくれそうなカテゴリーで質問された方が良いかと。

投稿日時 - 2020-01-31 16:51:45

お礼

ご回答いただきありがとうございます。
このソフトを10個ほど起動した場合でもCPUの使用率は30%ほど、メモリについても64GBの容量に対して10GBの使用量となっており、この部分がボトルネックとは考えにくいのです。
専門的な内容になるようなので、質問するカテゴリーをもう一度考えてみます。
ありがとうございました。

投稿日時 - 2020-02-01 00:12:16

ANo.1

普通に、CPUの処理能力とかメモリの容量とかネット回線が細いとかではないのかな?
多重起動だと、その辺がボトルネックになるけど。

投稿日時 - 2020-01-31 00:31:04

お礼

ご回答いただきありがとうございます。
ご指摘の点は確認したのですが、ソフトを10個ほど動かした場合でもCPUの使用率は30%ほど、メモリ使用量も64GBに対して10GBとなっています。その状態から更にソフトを起動してもCPU使用率は上がらず、ソフトの動作が遅くなっていくのです。
専門的な内容のようですので、質問するカテゴリーをもう一度考えてみます。
ありがとうございました。

投稿日時 - 2020-02-01 00:05:46

あなたにオススメの質問