問題タブ [processing-efficiency]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database-agnostic - データベースアプリケーション-オンザフライで保存または計算しますか?
ItemName、Quantity、UnitPrice、Amountのフィールドを持つ購入リストのテーブルがあります。AmountはQuantity*UnitPriceに等しいことに注意してください。
私の単純な問題は、データを取得するときに金額を保存するか、計算する必要があるかということです。保管または処理について、何を心配する必要がありますか?
c# - API はタスク X を実行するための最良の選択ですか? それとも独自の方法?
Java、Groovy、C# では、いくつかの API が利用可能です。たとえば、並べ替えを行う API X があるとします。そして、私でさえ、API x の仕事をする独自のメソッドを持っています。
APIと独自のメソッド、どちらを選択しますか? 私が言いたいのは、すべての API 関数が必要な速度で機能するということですか? または、メソッドが利用可能な API よりも高速に実行される場合がありますか?
sql - データベースの効率-ユーザーあたりのテーブルとユーザーのテーブル
ユーザーがいるウェブサイトの場合。任意の量を作成する能力を持つ各ユーザーは、それを「投稿」と呼びます。
効率的には、すべての投稿に対して1つのテーブルを作成し、投稿ごとに投稿を作成したユーザーのユーザーIDを保存するか、ユーザーごとに異なるテーブルを作成して、作成した投稿だけを配置する方がよいでしょう。そのユーザーによって?
c# - 複数のビデオ ソースを 1 つに統合
次のことを行う効率的な方法を探しています。
いくつかのソース ビデオ (ほぼ同じ長さ) を使用して、それぞれが独自の領域で実行されるすべての元のソースで構成される出力ビデオを生成する必要があります (いくつかの異なるサイズのPIPの束のように)。したがって、最終的には、すべてのオリジナルがそれぞれの領域/ボックス内で並んで実行されます。
ソースと出力は必要でflv
あり、私が使用しているプラットフォームは Windows (Windows 7 64 ビットの開発、Windows サーバー 2008 への展開) です。
私はavisynthを見てきましたが、残念ながらそれは処理できずflv
、私が試したプラグインとflvスプリッターはどれも機能しませんでした.
私の現在のプロセスでは、次の方法でffmpegを使用しています。
- ffmpeg を使用して、ビデオごとに毎秒 25 個の png を生成し、必要に応じて元のサイズを変更します。
- 名前空間を使用して
System.Drawing
、フレームの各セットを新しい画像に結合します。静的な背景から始めて、各フレームを にロードImage
し、背景Graphics
オブジェクトに描画します。これにより、結合されたフレームが得られます。 - ffmpeg を使用して、生成された画像をビデオに結合します。
これはすべて非常に IO 集約的であり (現時点ではこれが処理のボトルネックになっています)、目標を達成するためのより効率的な方法が必要だと感じています。私はビデオ処理の経験があまりなく、どのようなオプションがあるかわかりません。
これらを処理するより効率的な方法を提案できる人はいますか?
android - カスタムアニメーションドローアブルによるバッテリー消費
長い時間の視聴者、ついにStackOverflowでのサインアップに取り掛かっています!
AndroidでViewGroupの背景をスクロールする方法を非常に長い間探していた後、私は次のことを開発しました。
}
それは次のようにアクティビティで使用されます:
簡単に言うと、basebg.jpg画像は約1600x480のタイル化可能な画像です。SlidingDrawableのコンストラクターは、スケーリングと移動、およびyaddayaddahです。できます。
さて、問題は、このようにそれを行うことは本当に非効率的であるように思われるということです。この種の実装に関する多くの情報を見つけることができないように思われるので、CPUサイクルを削減できる場所、またはメソッド呼び出しを正しく使用している場合でも、私は暗闇の中にいます。
私の質問は次のとおりです。
- setTranslate()またはpostTranslateを使用して、Matrixを使用してビットマップを描画するのではなく、drawBitmapを使用する方がよいでしょうか。
- drawBitmapを使用するか、translate()、save()、restore()などのキャンバス関数を使用する方が良いですか?
- draw()メソッドはどのレートで呼び出されますか?たとえば、再描画を制限する24 FPSに制限する方法はありますか?
- これらの種類のものの「いつ」パラメータは一体何ですか?SystemClock.uptimeMillis()を渡すことだけが機能し、「+ 100」などを追加して100ミリ秒ごとに起動することで遅延させようとすると、途切れてしまいました。
私はこれをできる限り研究しました...私は今それをStackOverflowに任せています:)
c++ - ファイルを 1 行ずつ読み取る場合とファイル全体を読み取る場合のパフォーマンス
ファイル全体を一度に読み取る場合と比較して、行ごとに while を読み取る場合に (理論的には) 顕著な違いはありますか?
ファイル全体を読み取ると、メモリの使用量にマイナスの影響がありますが、動作は速くなりますか?
ファイルを読み取って各行を処理する必要があります。一度に 1 行ずつ読み取って処理する必要があるのか、それともファイル全体を読み取ってすべて処理してから出力に書き込むべきなのかわかりません。
行ごとに読み取るように prgm を既にセットアップしましたが、ファイル全体を読み取るように変更する価値があるかどうかを知りたいです (私のセットアップでは簡単ではありません)。
ありがとう、
c# - 配列要素の出現回数を制限の間に置く最速の方法
例えば...
- 1から1000までのランダムな値で初期化される整数の配列があります
- 配列には1Mの要素があります(おそらくもっと多くの要素がありますが、これは単なる例です)
- 各要素の出現回数は10から1010の間でなければなりません
上記の基準を満たすようにこの配列の要素を調整する最も速い方法は何ですか?
発生の最大数がarray.Length(1M)/ valuesSpan(1000)に近い場合、私の最初の解決策は単純に遅すぎます
私は次のようなことを試みました(これは発生の最大数を調整するためだけのものであり、下限の解決策はほとんど同じです):
hash - ハッシュ効率
pxq バイトのデータをハッシュに格納したいと考えています。
どちらがより効率的ですか?
pxq エントリがそれぞれ 1 バイトを格納するハッシュ、または p エントリがそれぞれ q バイトのデータを格納するハッシュ
キーはスパース メモリ アドレスです
png - PNGをすばやく書く
概要
圧縮を気にせずに、できるだけ早く .png ファイルを書きたいと思っています。つまり、ファイル サイズはあまり気にしませんが、できるだけ早く書き込みが行われるように気を付けています。
動機
クライアント側で OpenLayers を使用し、バックエンドで python/C++ を使用して Web ベースのマップ アプリケーションを作成しています。アプリケーションは、ユーザーがマップ上を移動するときに動的コンテンツをすばやく描画できる必要があります。タイルベース (256x256 タイル) と単一画像ベース (「単一タイル」) の両方のバージョンが動作していますが、どちらの場合も、バックエンド レンダリングの最も遅い部分は、実際には画像を png ファイルとして保存することです ( -ディスクまたはメモリ内)。たとえば、特定のビューの「raw」、「tga」、または「tiff」バージョンを約 200 ミリ秒で生成できる場合がありますが、.png バージョンを生成するのに 1.2 秒ほどかかります。保存にはほぼ 1 秒かかりますが、他の形式を実際に保存する時間は 100 ミリ秒以下です (「生の」ファイルは .png ファイルの 5 倍のサイズですが)。また、このファイル保存時間は、結果のイメージをサーバーからクライアントに転送する時間よりも大幅に長くなります。(私のアプリの重要な特性の 1 つは、一般に「バックエンド」がブラウザーと同じマシンで実行されるため、大きなファイルであっても転送時間は無視できることです。)
.png の書き込みを高速化できると思いました (C++ から libpng を使用する場合)。
png_write_...
関数を呼び出す前に。ただし、その呼び出しは確かに libpng によるファイルの圧縮を停止しているように見えますが (結果のファイルは .raw ファイルとほぼ同じサイズになります)、.png の保存が著しく高速になるわけではありません。
助けてください
これらの画像には .png を使用する必要があります。これは、これらの画像をベース マップの上に透明なオーバーレイにする必要があり、GIF で提供される 256 色以上が必要だからです。OpenLayers は単純に html img タグを使用しているため、有効な img 形式しか使用できないと理解しています。
実際の圧縮を行わずに.pngファイルをすばやく書き込む方法があると思います(.pngは「常に圧縮」されていることは理解していますが、これには「ヌル圧縮」が含まれる可能性があると思いました)。単純な固定ヘッダーの後に圧縮されていないデータが続き、その後に固定フッターが続くように書くことができるはずです。または、同じアイデアかもしれませんが、行ごとの方法です。ポイントは、メモリ内のこの 2.5 MB の生データを C++ で非常に迅速にループ処理し、さまざまなファイル形式に非常に迅速にダンプできることです。 、非圧縮の .png 形式にもすばやく変換できます。
そうですか?それを行うコードの例がどこにあるか知っていますか?
php - タイプ別の Yii フェッチ レコード
Yii にはアイテムをタイプごとにグループ化するための効率的な方法があるかどうか疑問に思っています。
次のモデルがあるとします。
そして、5 種類のTag
s があるとしましょう。セクション内のすべてのタグをインデックスに表示できるようにしたいと考えていますtype_id
。これを達成するYiiの方法はありますか?
フレームワークの外では、DB からフェッチされた結果が次のように格納されるような関数を記述します。
次に、各セクションで次のようなことができます。
しかし、Yii でこれを行う方法を理解するのに苦労しています:
A) 最初に結果セット全体をループし、それを書き換える、または、
B) 5 つの異なるクエリを実行する。