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

最適化とは、方法または設計を改善することです。プログラミングでは、最適化は通常、アルゴリズムの速度を上げるか、必要なリソースを減らすという形を取ります。最適化のもう1つの意味は、機械学習で使用される数値最適化アルゴリズムです。



4
JVMがまだテールコール最適化をサポートしていないのはなぜですか?
does-the-jvm-prevent-tail-call-optimizationsの 2年後、プロトタイプの 実装があり、MLVMはしばらくの間、この機能を「proto 80%」としてリストしています。 JVMで言及されているように、テールコールのサポートにSun / Oracleの側から積極的な関心はありませんか、それとも、テールコールが「すべての機能優先度リストで2番目に来ると運命づけられている [...]」だけです。言語サミット? 誰かがMLVMビルドをテストし、それがどれほどうまく機能するかについての印象を(もしあれば)共有できたら、私は本当に興味があります。 更新: Avianのような一部のVM は、問題なく適切な末尾呼び出しをサポートしています。

10
数値のExcelのような列名を取得するアルゴリズム
私はいくつかのExcelドキュメントを生成するスクリプトに取り組んでおり、数値を対応する列名に変換する必要があります。例えば: 1 => A 2 => B 27 => AA 28 => AB 14558 => UMX そのためのアルゴリズムはすでに作成していますが、それを行うためのより簡単な方法とより速い方法のどちらがよいのかを知りたいです。 function numberToColumnName($number){ $abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $abc_len = strlen($abc); $result_len = 1; // how much characters the column's name will have $pow = 0; while( ( $pow += pow($abc_len, $result_len) ) < $number ){ …


9
メソッドを静的として宣言することの利点は何ですか
私は最近、Eclipseで警告を確認していて、これに遭遇しました: メソッドを静的として宣言できる場合は、コンパイラ警告が表示されます。 [編集]プライベートおよびファイナルに重点を置いたEclipseヘルプ内の正確な引用: 有効にすると、コンパイラーは、プライベートまたはファイナルで、静的メンバーのみを参照するメソッドに対してエラーまたは警告を発行します。 はい、オフにできることはわかっていますが、オンにする理由を知りたいですか? 可能なすべてのメソッドをstaticとして宣言するのが良いのはなぜですか? これにより、パフォーマンスが向上しますか?(モバイルドメイン内) メソッドを静的として指摘すると、インスタンス変数を使用しないため、utilsスタイルのクラスに移動できることを示していると思いますか? 1日の終わりに、これを「無視」するだけにするか、それとも100以上の警告を修正する必要がありますか? コンパイラはとにかくこれらのメソッドをインライン化するだけなので、これはコードを汚す追加のキーワードに過ぎないと思いますか?(最終的にできるすべての変数を宣言するわけではありませんが、できます)。

13
複数のCSS / JSファイルを組み合わせて縮小する
CSSファイルとJSファイルを統合して圧縮することにより、サイトのパフォーマンスを最適化しようとしています。私の質問は、私が直面している実際の状況(ただし、他の開発者の間でも典型的であるはずです)を前提として、これを達成するための(具体的な)ステップについての詳細です。 私のページは、次のようないくつかのCSSおよびJSファイルを参照しています。 <!-- It's easier to work on smaller files during development. Hence, the multiple CSS and JS files. --> <link type="text/css" rel="stylesheet" href="/css/main.css" /> <link type="text/css" rel="stylesheet" href="/css/secondary-1.css" /> <link type="text/css" rel="stylesheet" href="/css/secondary-2.css" /> <script type="text/javascript" src="/scripts/js/main.js"></script> <script type="text/javascript" src="/scripts/js/adapter/adapter.js"></script> <script type="text/javascript" src="/scripts/js/adapter/title-adapter.js"></script> 本番リリースでは、3つのCSSファイルを1つにまとめ、たとえばYUI Compressorを使用してそれを縮小します。しかし、その後、新しく縮小されたCSSを参照するために、これらの3つのファイルを必要とするすべてのページを更新する必要があります。これはエラーが発生しやすいようです(たとえば、多くのファイルでいくつかの行を削除して追加しています)。他にリスクの少ないアプローチはありますか?JSファイルと同じ問題。

9
ループの展開がまだ役立つ場合はいつですか?
ループのアンロールによって、パフォーマンスが非常に重要なコード(モンテカルロシミュレーション内で何百万回も呼び出されるクイックソートアルゴリズム)を最適化しようとしています。これは私がスピードアップしようとしている内側のループです: // Search for elements to swap. while(myArray[++index1] < pivot) {} while(pivot < myArray[--index2]) {} 私は次のようなものに展開してみました: while(true) { if(myArray[++index1] < pivot) break; if(myArray[++index1] < pivot) break; // More unrolling } while(true) { if(pivot < myArray[--index2]) break; if(pivot < myArray[--index2]) break; // More unrolling } これはまったく違いがなかったので、より読みやすい形式に戻しました。ループのアンロールを試みたときも、同様の経験をしました。最新のハードウェアでの分岐予測子の品質を考えた場合、ループの展開が依然として最適な有用な最適化となるのはいつですか?

10
C ++で長い方程式を実装する場合、高レベルのアプローチでパフォーマンスを向上させるにはどうすればよいですか
私はいくつかの工学シミュレーションを開発しています。これには、ゴムのような材料の応力を計算するために、この方程式のようないくつかの長い方程式を実装することが含まれます。 T = ( mu * ( pow(l1 * pow(l1 * l2 * l3, -0.1e1 / 0.3e1), a) * a * ( pow(l1 * l2 * l3, -0.1e1 / 0.3e1) - l1 * l2 * l3 * pow(l1 * l2 * l3, -0.4e1 / 0.3e1) / 0.3e1 ) * pow(l1 …

4
圧縮ブラウザーの互換性とGZIPよりも優れたデフレート
2012年2月10日更新: zOompfは、このまさにこのトピックに関する非常に徹底的な研究をここで完了しました。以下の調査結果よりも優先されます。 2010年9月11日更新: このためのテストプラットフォームがここに作成されました GZIPおよびDEFLATE(zlib)のHTTP 1.1定義(背景情報): "「Gzip」はgzip形式、「deflate」はzlib形式です。生のdeflate圧縮データ形式との混同を避けるために、2番目の形式は「zlib」と呼ばれるはずです。HTTP1.1 RFC 2616は正しくRFC 1950の「deflate」転送エンコーディングに関するzlib仕様では、RFC 1951のdeflate仕様に従って生のdeflateデータを生成または予期するサーバーおよびブラウザー、特にMicrosoft製品が報告されています。 zlib形式を使用した転送エンコーディングは、より効率的なアプローチです(実際 、zlib形式は、)、「gzip」転送エンコーディングを使用すると、HTTP 1.1作成者の側で名前が選択されたため、おそらく信頼性が高くなります。 "(ソース:http : //www.gzip.org/zlib/zlib_faq.html) だから、私の質問:私がRAW deflateデータをzlibラッパー(またはgzip、それに関しては)なしで送信した場合、生のdeflateを理解できない最新のブラウザー(IE6以降、FF、Chrome、Safariなど)がありますか?圧縮データ(HTTPリクエストヘッダー「Accept-Encoding」に「deflate」が含まれていると想定)? デフレートデータは、常にGZIPより数バイト小さくなります。 これらすべてのブラウザーがデータを正常にデコードできる場合、zlibの代わりにRAW deflateを送信することにはどのような欠点がありますか? 2010年9月11日更新: このためのテストプラットフォームがここに作成されました

10
PHPオブジェクトと配列—反復中のパフォーマンスの比較
ニューラルネットワーク用のPHPオブジェクトが大量にあり、繰り返し処理していくつかの計算を実行する必要があります。クラスのインスタンスよりも連想配列を使用したほうがいいのではないかと思っていました。 私は3640オブジェクトの周りを扱っており500、その上で(せいぜい)何度も繰り返しているので、マイクロ最適化は大いに役立ちます。それは必然的に速く行うことであろう$object['value']よりも$object->value? 編集:だから、それらは両方とも同じです。しかし、コンストラクターには少しオーバーヘッドがあると思いますか?いずれにせよ、私は自分の美しいクラスをダーティな配列と交換したくないと思います:P

7
控えめなJavaScript:HTMLコードの上部または下部に<script>がありますか?
最近、YahooマニフェストのWebサイトの高速化に関するベストプラクティスを読みました。できる限り、JavaScriptのインクルードをHTMLコードの下部に配置することをお勧めします。 しかし、正確にはいつどこで? クローズする前&lt;/html&gt;か後か?そして何よりも、いつ&lt;head&gt;セクションに配置する必要がありますか?

9
std :: map insertまたはstd :: map find?
既存のエントリを保持したいマップを想定しています。20%の確率で、挿入するエントリは新しいデータです。返されたイテレータを使用してstd :: map :: findを実行してからstd :: map :: insertを実行する利点はありますか?または、挿入を試みてから、レコードが挿入されたか、挿入されなかったかをイテレータが示すかどうかに基づいて動作する方が速いですか?
90 c++  optimization  stl  stdmap 

10
Postgresのキャッシュ/バッファを表示してクリアしますか?
時々私はPostgresクエリを実行しますそれは30秒かかります。次に、すぐに同じクエリを実行します。2秒かかります。Postgresにはある種のキャッシュがあるようです。どういうわけか、そのキャッシュが何を保持しているかを確認できますか?チューニングのためにすべてのキャッシュを強制的にクリアできますか? 注:基本的に、次のSQLServerコマンドのpostgresバージョンを探しています。 DBCC FREEPROCCACHE DBCC DROPCLEANBUFFERS しかし、そのバッファに実際に何が含まれているかを確認する方法も知りたいです。 助けてくれてありがとう。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.