- PR -

プロジェクト分割単位

投稿者投稿内容
未記入
大ベテラン
会議室デビュー日: 2006/05/19
投稿数: 125
投稿日時: 2008-04-02 12:47
indigo-x様
スマートクライアントの考慮点ありがとうございます。

じゃんぬねっと様
根本的に間違えて認識しておりました。
そうすると50個の画面を1dllとしようが50dllとしようがパフォーマンス面では関係ないということですね。
dll分割は開発・保守作業のために分割するということでしょうか?

長々とお付き合いいただき申し訳ありません。
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2008-04-02 12:50
引用:

引用:

たとえば相互に関連のない50個の画面を1dllにしたとして、
オペレータがそのうち1つの画面にアクセスしようとした場合、
その他の49個の画面もロードされるのですよね?


いいえ。 ロードされません。 CLR は型を参照しているメンバが呼ばれるまでアセンブリ モジュールをロードしません。



ロードはされるんじゃない?
JIT はされないと思うけど。

# 「ロード」がどのレベルでの話かにもよるかな。

渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2008-04-02 13:00
引用:

そうすると50個の画面を1dllとしようが50dllとしようがパフォーマンス面では関係ないということですね。



「まるで影響がない」ということではありません。

大抵の場合、筆頭に挙げて気にするほどの影響はない、ということです。

シビアな制約が課せられている場合や、無茶なモジュール設計をした場合などには、問題になる可能性はもちろんあり得ます。

_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/
ぱてお
常連さん
会議室デビュー日: 2008/03/07
投稿数: 41
投稿日時: 2008-04-02 14:49
> 「まるで影響がない」ということではありません。
>
> 大抵の場合、筆頭に挙げて気にするほどの影響はない、ということです。
>
> シビアな制約が課せられている場合や、無茶なモジュール設計をした場合などには、
> 問題になる可能性はもちろんあり得ます。

御意。
あくまでも標準的な構成の話です。
モジュール設計の時点で無茶をしていたらそれは別の話。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-04-02 15:14
引用:

渋木宏明(ひどり)さんの書き込み (2008-04-02 12:50) より:

ロードはされるんじゃない?
JIT はされないと思うけど。

# 「ロード」がどのレベルでの話かにもよるかな。


それは、アセンブリ モジュールがロードされているとは言わなくないですか? メンバが呼ばれるまではコードファイル レベルまでは展開されていないと理解しているのですが...

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2008-04-02 15:35
引用:

じゃんぬねっとさんの書き込み (2008-04-02 15:14) より:

それは、アセンブリ モジュールがロードされているとは言わなくないですか? メンバが呼ばれるまではコードファイル レベルまでは展開されていないと理解しているのですが...


コードファイルレベルの展開の意味がどういう意図かちょっと分かりませんが、
単一モジュールのアセンブリなら普通は「アセンブリのロード」=「ロードされた」という感覚じゃないかという気がします。
※それがど程度の重さの処理化はまた別の話ですが
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-04-02 18:11
うーん。 私が間違えて理解しているのかもしれませんね。

> たとえば相互に関連のない50個の画面を1dllにしたとして、
> オペレータがそのうち1つの画面にアクセスしようとした場合、
> その他の49個の画面もロードされるのですよね?

少なくとも型への参照もなく 'その他 49 個' については、ロードされないと思っているのですが...

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2008-04-02 18:51
引用:

じゃんぬねっとさんの書き込み (2008-04-02 18:11) より:
うーん。 私が間違えて理解しているのかもしれませんね。

> たとえば相互に関連のない50個の画面を1dllにしたとして、
> オペレータがそのうち1つの画面にアクセスしようとした場合、
> その他の49個の画面もロードされるのですよね?

少なくとも型への参照もなく 'その他 49 個' については、ロードされないと思っているのですが...


いや、渋木宏明(ひどり)さんが
# 「ロード」がどのレベルでの話かにもよるかな。
と書かれているように、何をもって「ロード」と考えるかの違いだけだと思いますよ。

確かに型のロードという言い方だと型にアクセスするまではしていない、という考え方もあるかもですね。
いずれにしても何をもってというのがやっぱり微妙ですが…

モジュール的には既に読み込まれているが、その中の特定の型を使用するための処理はまだ行われていない、というような状態ですかね…

スキルアップ/キャリアアップ(JOB@IT)