OOPに関するヘルプ - ページ 9

 
fxsaber #:

私の実装がどうのこうのということではありません。昔ながらの方法で測ればいいんです。

もうやったよ。データを公開しています。順番を変えて再挑戦します。しかし、あなたのデータによると、アスタリスクで作業することによる性能はないのです。
 
しかし、道標との連携に賛成する根拠のある意見を聞きたいものです。これまで表現されてきたことは、すべて「速くなるはずだ」「プログラマにメモリを監視させ、不要な領域を割り当てないようにさせるはずだ」「お前は馬鹿だ」。
 
Vasiliy Sokolov #:
とはいえ、ポインターを使った作業を支持する根拠のある意見を聞いてみたいものです。これまで表現されてきたことは、すべて"高速化疑惑"、"プログラマにメモリを監視させ、不要な領域を確保させない疑惑"、"お前は馬鹿だ" - もちろんです。

左右も混同しているのか、していないのか?

頭の中がとんでもないことになっているんです。ポインターは速くなるのではなく、遅くなるのです。メモリに気をつける必要性については、ガベージコレクタのある言語とない言語でのプログラミングスタイルの違いという文脈でお話がありました。

Vasyaさん、もう2-3回の投稿で自分がどの立場で議論したのか覚えていないのか、あっちに行ったりこっちに行ったりしています。

 
fxsaber #:

潜在的な問題の例があればよい。

Ihor Herasko#:

もう1点。オブジェクトの配列はポインタで作成するのがよいでしょう。そうでなければ、スタック・メモリに非常に少ない配列が得られます。

大量のデータで再帰的にソートした場合のみ、スタックメモリを枯渇させる例があったのですが。
プログラムがハングアップしてしまったのです。

また、グローバル宣言を使用する場合もあり、この場合はスタックメモリではありません。
そう思いませんか?

 
Ihor Herasko #:

問題ではないし、ましてや潜在的な問題でもない。MTのメモリ操作のクセが出ただけです。ここでは、静的な配列を示します。

そして、こちらがダイナミックアレイ。

この場合、すべてがコンパイルされ、動作します。

私もそう思うのですが、私の診療ではそのようなボリュームはありません。
原則として、内蔵のインジケータ(ライブラリ)関数自体を呼び出すことなく、例えばインジケータの「テール」を素早く計算する必要があるため、
、より高速な数式ベースのインジケータ値計算を適用しています。この場合、一般的なメモリ消費量は非常に少なくなります。
一般に、浮動小数点を使用する関数の計算のメモリと時間を節約するために、今後すべての開発者にこの方法をお勧めします。
可能であれば、多くのデータを整数に変換しておくと、処理が非常に速くなります。

追伸:もちろん、上記は、例えば数百ミリ秒の短縮の場合です。

 
Dmitiry Ananiev:

こんな授業を作っています。

今度は、オブジェクトの配列を呼び出したい。

コンストラクタにグローバルレベルのパラメータがある場合、オブジェクトの配列を素早く作成するにはどうしたらよいでしょうか。

例えば? コンストラクタを変更して先にオブジェクトを作成し、OnInitでオブジェクトをシンボルに置き換えるにはどうすればよいのでしょうか?

もっと簡単な解決策があるのでは?

class Strategy1
{
        Strategy1();
 };

class Strategy2
{
        Strategy (string sym);
}

Strategy2クラスの宣言では、クラスのコンストラクタの 名前自体に「2」が欠けており、それ以外はコンストラクタではありません。