掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
テキストボックスの制御について (ID:88316)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ガッさん、ありがとうございます。 個人的には、カプセル化(encapsulation)の原則に沿って、 ‘特に理由が無い限り’は、ByVal に出来る部分は ByVal にした方が 良いと思っているのです。 ただ、もちろん自分も、長大な文字列を渡す場合などは、 速度差を考慮して、あえて原則を崩し、ByRef にするケースはあります。 (あとは、配列やユーザー定義型/構造体を渡す場合とかも) それ故に、適当主義者さんが「あえてByRefを明示した理由」というのが、 コーディング上の都合なのか、速度差にあるのか、もしくはそれ以外の所に あったのかに興味があるのです。たかが ByRef、されど ByRef ですね。 > 個人的にはメモリコピーよりは参照の方が速いと思うので、参照渡しに一票w インプロセスの場合に限定すれば、参照型の方が3〜5倍程度高速です。 これは以前、こころさんが実験されており、自分でも確認しています。 http://madia.world.coocan.jp/vb/vb_bbs/200205_02050025.html しかし今回のケースでは、その速度差は、1回あたりの呼び出し時間が 0.0000002秒 から 0.0000006秒 に増加する程度の微々たる違いでしたので、 あえてカプセル化の原則を破る理由にはならないように感じました。 さらにいうと、(今回のケースには直接関係ありませんが)これがもし アウトプロセスで実行される場合は、ByRefが優位という点が逆転し、 ByValの方が高速になる事を確認しています。 http://www.microsoft.com/japan/developer/library/VBCon98/vbconinprocessoutofprocesscodecomponents.htm さらに蛇足ですが、DCOMのように別PCで実行された場合は、さらに 圧倒的な差が開き、ByRefのパフォーマンスが極端に低下するようです。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.