タグ付けされた質問 「speed」

15
メソッドのメモリとパフォーマンスの速度を最適化するタイミング
私は最近Amazonでインタビューしました。コーディングセッション中に、インタビュアーはメソッドで変数を宣言した理由を尋ねました。私は自分のプロセスを説明し、彼はより少ない変数で同じ問題を解決するように私に挑戦しました。例えば、私が開始(これはインタビューからではなかった)方法A、次いで向上にそれを、方法B除去することによってint s。彼は喜んでおり、これはこの方法によってメモリ使用量を減らすだろうと言った。 私はその背後にあるロジックを理解していますが、私の質問は次のとおりです。 方法Aと方法B、またはその逆を使用するのが適切な場合 メソッドAがint s宣言されているため、メモリ使用量が高くなることがわかりますが、実行する必要があるのは1つの計算だけa + bです。一方、方法Bではメモリ使用量は少なくなりますが、a + b2回、つまり2回計算する必要があります。あるテクニックを他のテクニックよりもいつ使用するのですか?または、テクニックの1つは常に他よりも優先されますか?2つの方法を評価する際に考慮すべきことは何ですか? 方法A: private bool IsSumInRange(int a, int b) { int s = a + b; if (s > 1000 || s < -1000) return false; else return true; } 方法B: private bool IsSumInRange(int a, int b) { if (a + b …

2
SQL IN()対OR
私は今日書いたクエリをWHERE使っていました item_desc = 'item 1' OR item_desc = 'item 2' OR item_desc = 'item 3' OR item_desc = 'item 4' 上記は15分間実行され、何も返されませんでしたが、次の結果は1.5分で結果セットが得られました item_desc IN ( 'item 1' ,'item 2' ,'item 3' ,'item 4' ) これをSQLで実行しましたが、なぜOR(アイテムのリスト)がORステートメントよりもはるかに高速に実行されるのか疑問に思っています。 -編集-SQL Server 2008、この情報を最初から入力していないことをおforびします。 以下は、ORステートメントを使用したクエリ全体です。 DECLARE @SD DATETIME DECLARE @ED DATETIME SET @SD = '2013-06-01'; SET @ED …
23 sql  speed 

6
PHPとパフォーマンス
PHPは中規模および小規模のWebサイト用であるのに対し、.NETおよびJavaはエンタープライズアプリケーション用であるといつも聞きます。私の質問はPHPについてです。PHPがエンタープライズWebアプリケーションに適したオプションではないのはなぜですか?Webアプリケーションが大きくなると、インタープリター言語であるPHPが遅くなるからでしょうか? 企業の世界は、製品との統合やバックエンドサービスなどのために.NETまたはJ2EEを選択することを知っています。ただし、サイトやWebアプリケーションを構築するためのPHPがある場合、それを使用してどのように実行できますか大きなサイト? 要するに、PHPのパフォーマンスとWebサイトのサイズの間に関係はありますか?PHPが大規模サイトに適したオプションではない要因は何ですか?

6
メモリのアライメントはどのくらい重要ですか?まだ重要ですか?
しばらくしてから、メモリアライメント、それがどのように機能し、どのように使用するかについて、多くのことを検索して読みました。私が今見つけた最も関連性の高い記事はこれです。 しかし、それでも私はまだそれについていくつかの質問があります: 組み込みシステムでは、コンピューターに大量のメモリが割り当てられていることが多く、メモリ管理の評論を減らすことができます。私は完全に最適化に取り組んでいますが、今では、同じプログラムを比較したり、メモリーの再配置と調整なしで? メモリアライメントには他の利点がありますか?私はどこかでCPUがアライメントされたメモリでより良く/より速く動作することを読んだのですが、それは処理するための命令をより少なくします(あなたの誰かがそれに関する記事/ベンチマークへのリンクを持っている場合)、その場合、違いは本当に重要ですか?これら2つ以上の利点がありますか? 第5章の記事リンクで、著者は次のように述べています。 注意:C ++では、構造体のように見えるクラスはこの規則に違反する可能性があります!(基本クラスと仮想メンバー関数の実装方法に依存するかどうかは、コンパイラーによって異なります。) この記事では主に構造について説明していますが、ローカル変数の宣言もこのニーズの影響を受けますか? C ++でメモリアラインメントが正確に機能する仕組みについて、何か違いがあるように思えますか? この前の質問には「アラインメント」という単語が含まれていますが、上記の質問に対する回答はありません。

5
マイクロコントローラー用の効率的なCコードの作成に関するリソース [閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 5年前に閉鎖されました。 ここでは深刻な助けが必要です。プログラミングが大好きです。最近、C言語の本(K&Rなど)や記事/フォーラムをオンラインでたくさん読んでいます。Linuxコードを調べてみました(どこから始めたらいいのか迷っていましたが、小さなライブラリを覗いてみると助けになりましたか?)。 私はJavaプログラマーとしてスタートしましたが、Javaでの作業はかなり乾燥しています。プログラムが大きくなりすぎた場合は、クラスでスライスし、さらに関数に分割します。ガイドラインは、コードを読みやすくし、コメントを追加します。情報の隠蔽とOOPテクニックを使用します。そのうちのいくつかはまだCに適用されます。 私は今Cでコーディングしており、これまでのところ、プログラムを何らかの方法で動作させています。多くの人がパフォーマンス/効率、アルゴリズム/設計、最適化、保守性について話します。一部の人々はもう一方を強調しますが、プロではないソフトウェアエンジニアにとっては、次のようなことをよく耳にします。 私の質問は次のとおりです。リソースを無駄にせずに 8ビットマイクロコントローラー用のコードを書く予定です。私はJavaのバックグラウンドから来ているので、物事はもう同じではないことを知っています...リソース/ブック/リンク/ヒントは大歓迎です。パフォーマンスとサイズが重要になりました。8ビットマイクロコントローラー向けの効率的な(ベストプラクティス内)Cコードのリソース/コツですか? また、inline assemblyマイクロコントローラーの標準に近いだけでなく、重要な役割を果たします。しかし、すべてに適用される効率の一般的な経験則はありますか? たとえば、: register unsigned int variable_name;はcharいつでも好まれます。または、 uint8_t 大きな数字が必要ない場合に使用します。 編集:すべての答えと提案をありがとうございました。知識を共有するための皆の努力に感謝します。
15 c  performance  speed 

2
オブジェクト指向とベクトルベースのプログラミング
私はオブジェクト指向とベクターベースのデザインの間で引き裂かれています。オブジェクトがアーキテクチャ全体に与える能力、構造、安全性が大好きです。しかし同時に、速度は私にとって非常に重要であり、配列に単純なフロート変数があると、MatlabやPythonのnumpyなどのベクトルベースの言語/ライブラリで非常に役立ちます。 これが私のポイントを説明するために書いたコードです 問題:トウのボラティリティ値を追加します。xとyが2つのボラティリティ数である場合、ボラティリティの合計は(x ^ 2 + y ^ 2)^ 0.5です(特定の数学的条件を仮定しますが、ここでは重要ではありません)。 この操作を非常に高速に実行すると同時に、人々がボラティリティを間違った方法(x + y)で追加しないようにする必要があります。これらは両方とも重要です。 オブジェクト指向ベースのデザインは次のようになります。 from datetime import datetime from pandas import * class Volatility: def __init__(self,value): self.value = value def __str__(self): return "Volatility: "+ str(self.value) def __add__(self,other): return Volatility(pow(self.value*self.value + other.value*other.value, 0.5)) (余談:Pythonを初めて使用する場合__add__は、単なる+演算子をオーバーライドする関数です) ボラティリティ値のトウリストを追加するとしましょう n = 1000000 vs1 = Series(map(lambda …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.