- - PR -
c# 高速化についての質問
«前のページへ
1|2|3
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-10-20 10:24
書き忘れたので追記。
から、using ステートメントではなく、using ディレクティブの事を言ってるのかなぁと思ったんですが、違うかな。以下そうだという前提で。 using で名前空間をインポートしてもしなくても速度に影響はありません。 C# コンパイラにクラスを探す情報を教えているだけですね。 IL になったら結局その都度フルの名前が書かれています。 | ||||||||||||
|
投稿日時: 2005-10-20 10:51
これは、"何を" 宣言するのか書いてなかったのですが、あくまで「宣言」ですよね? 「using (ステートメントの開始位置で変数を) 宣言すると」と脳内補完していました。 using ディレクティブの場合は「定義」しかないですよね。 もちろん、using ステートメントも 「オブジェクトが破棄されるスコープを "定義" する」 という意味では定義です。 しかしながら、(変数の)「宣言」という概念があるのは、using ステートメントだけだと思います。 また、
とあるので、メソッド内で "局所的に使う" という意味合いで捉えました。 違ってましたら申し訳ないです。(*_ _) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2005-10-20 11:20
「using(名前空間を)宣言すると」
・・・確かに宣言とは言いませんね^^;
から、[System.]Console.WriteLine() みたいに"省ける"という意味合いで捉えてしまいました。 ん〜、むっずかしぃ。失礼しました。 | ||||||||||||
|
投稿日時: 2005-11-04 14:58
返信大変遅くなりましたすいません。
>囚人さん ありがとうございます、そういう基本的なことも裏づけがないと疑問に思ってしまう性なので、おかげでいろいろと納得できました。 配列の関係はコーディングの楽さからもいったん代入するようにしています(笑。速度面でも「毎回インデックスの値探しに行ったら遅そうだなー」と思ってました(笑。 >karajanさん 留学中でなければ大きな本屋にいって(あるかな…汗)参考に見てみるのですが、まぁ英語で1000ページは…ちょっとつらいです汗 >Jittaさん えーっと…ランチャーを作るついでに普段からの「どっちのほうが早いんだろう?(どっちがコーディングとして正しいのだろう?)」という疑問を解決しようと思って質問させていただいただけなので、あまりランチャーは関係ないです(いろいろと実験しながら作っていたのでナノよりも問題ある速度的なものが出てきていますし…)独学だと正しいコードってわかりにくいので(汗。 >囚人さん・じゃんぬさん えー僕の場合"省ける"という意味合いで聞きました、舌足らずで…さらに宣言と定義がごっちゃになってしまっていて、本当にすみません(汗。 using{}の安全性は一通り把握しているつもりです(最近のコードで)安全という意味で使用しています。 using namespaceでは、速度関係ないのですね、ありがとうございます、豆知識増えました(笑。 みなさんこんなくだらない(ただの好奇心に近いような)質問に対していろいろとありがとうございました。 | ||||||||||||
|
投稿日時: 2005-11-08 13:38
高速化について、私が効果があると思った項目です。
・参照DLLを削除する(System.〜.dllへの参照を減らす) 起動時読み込み処理が減りますので、起動が早くなります。 ・ngen.exeでプリコンパイルする ・structよりclassを用いる(参照型を利用する) structは毎回メモリーコピーが発生する仕様の様なので、遅いです。 ・マルチスレッド化を行う。(GUIと計算の分離など) 複雑な計算処理などでは、プロファイラを使って効果のあると思われる部分のみを 高速化したほうが楽だと思います。 |
«前のページへ
1|2|3