2016-03-26 9 views
0

実際の開発中に気になるのはいつですか? 2つのアルゴリズム間の速度を比較したいのですが、毎日の開発中に他の実用的な用途がある場合は便利です。例えば、誰もがコードを見てBig-O表記をやってみることを止めていますか?誰も実際にBig-O表記を使用していますか?

+0

毎日の開発があまりにも漠然としています... –

+0

顧客が何かの読み込み時間に怒り始めたら、Oで始まります。 –

+0

小さなデータセットでうまく動作するO(n^2)アルゴリズムを作るのは簡単ですデータサイズが大きくなると使用するのが面倒なことになります。これが起こる1つの方法の興味深い議論についてはこれを見てください:http://www.joelonsoftware.com/articles/fog0000000319.html –

答えて

1

多くの中で、単純な関数でも1日に何十億回も適用できる画像処理コードを記述しています。

私はしばしば、自分のコードに、またBig-O情報を含むパフォーマンス情報を含めます。

Big-O表記は、ライブラリ作成者が実際に使用する場合に最も便利です。ライブラリコードは、当初は作者が想起していなかったケースで常に使用され、このような効率情報は時間のかかるデバッグ/プロファイリングこれは、公的に利用可能な図書館と同様に、社内のプロジェクトでも当てはまります。出版社にBig-O情報が含まれていないことを指摘している人は、ソフトウェアと同じくらい頻繁にうまく機能しないことに気づかなければなりません。

アルゴリズムの知識が少なくなる傾向にあり、より多くのブルートフォースがあります。これは特定の世代の開発者ではなく、開発者が何人いるかによってもたらされます。開発者が増えるにつれて、アルゴリズムの基本まで知りませんでした。多くの人はBig-O表記が意味すること、それを適用する方法、使用するライブラリを選択すること、または他の人が使用するためのライブラリを書くことを意識することさえ知らない。私はそれが正しいのかどうかにかかわらず、プロジェクトを完成させることに焦点が当てられているので、私は自分の責任ではないと考えています。コードの平均寿命は部分的にこれの結果として減少しています。

Big-O表記は非常に便利ですが、あまり頻繁には使用されず、時間が経つにつれて使用率がさらに低下し、コードが実行される理由についてより多くの開発者が頭を悩ませることになりますとても遅いです。あなたがそれを使用しない場合、悪い気分にならない、大多数にいる。

関連する問題