コードの最適化について

コーダー 私の友人は、トランシーバー、モバイルなどの通信デバイスの開発のために、非常に有名なオフィスに就職しました。 オフィスは非常に大きいと言わざるを得ず、この業界のTOP-50に含まれています。



そして、この規模のために、オフィスには多くの官僚的な瞬間がありました-承認、会議、そしてコミュニケーションに多くの時間がかかりました。 そこにいたプログラマーのほとんどはインド人で、仕事時間中はいわば瞑想、いわばゆっくりと仕事をしていました。



しかし、これは人間の性質ではありません! 彼はすぐに仕事をし、特にすべてのトラフィックが監視されているので、彼はすぐに牛を蹴るのにうんざりしました。



それから、彼は外国人のコードをリファクタリングして最適化することに決め、もちろんマネージャーに許可を求めました。 ゴーサインを受け取った後、彼はノイズ低減モジュールを取り上げました。



彼は奇妙なものを見つけた。 モジュール自体はかなり前に作成され、事前に生成された値を持つテーブルを使用して正弦波を計算し、そのような貴重なメモリを占有していました。 現代のコントローラーは既にこの機能を搭載しているため(クリスタル自体の同じテーブル)。



そして彼はテーブルをダンプし、使用されたものと比較しました。 もちろん、それらは一対一で一致しました。 おそらく過去の誰かがこの問題に戸惑っていたので、彼らはこの仕事をしましたが、官僚のマシンでアカウントを失いました。



その後、テーブルは破棄され、マイクロコントローラーの組み込み機能に置き換えられました。 彼はマネージャーに報告し、データのためにメモリバンクのスペースを解放したことを示しました。



多くの時間が経ち、苦情が会社に持ち込まれ始めました。彼らはあなたのデバイスがしばしばダウンして、何かをしていると言います。



調査の結果、過熱による同じマイクロコントローラーの故障が原因であることがわかりました。 どうしたの?



もちろん、組み込みのテーブルを使用すると、コントローラーの動作が速くなり、それに応じて温度が上がります。 彼は、メモリバンクへのアクセスの遅延が冷却のアイドルサイクルとしても使用されるとは考えませんでした。 そして、コードを書いたヒンズー教徒はコメントでそれについて何も書いていません。



パーティーはリコールされ、彼は解雇されました。 これは、コードにアイドルサイクルを挿入すると、マイクロコントローラーが過熱しないことを証明したという事実にもかかわらずです。 しかし、誰も彼の言うことを聞きませんでした。



したがって、道徳:

ネズナヤフォード-水に入れないでください。

コメントなしのコードは悪いです。

官僚機構はひどいです。

二度目のチャンスを与えないリーダーシップは悪夢です。



ここにそのような有益な物語があります。



All Articles