問題タブ [ets]
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.
erlang - etsとmnesiaの中でどちらがより効果的か
ets:select と mnesia:select のどちらを使用するのが良いですか?また、挿入と削除の場合は、これら 2 つのうちどちらを使用する必要がありますか?私は ejabberd に取り組んでいます。
erlang - ets 関数を使用して mnesia テーブルを読み取る (erlang)
mnesia を使用して erlang プロジェクトに取り組んでいます (一部のテーブルは RAM コピー、一部のテーブルはディスク コピー、一部のテーブルは両方)。特定の読み取り (RAM テーブル) を最適化するために、使用していた mnesia dirty_read ではなく ets ルックアップを使用し、両方のバージョンのルーチンの時間を計りました。ets ルックアップは、mnesia dirty_read よりも大幅に高速でした。
私の質問は、ets と mnesia を使用して mnesia テーブルを読み取ることに「落とし穴」または「キャッチ」があるかどうかです (そうでなければ、mnesia の読み取りが遅くなる理由はありません)。それが違いを生む場合、私は「分散型」または「ノード」を必要とせず、使用していません。言い換えれば、私は現在もこれからも、1 台のコンピューターで 1 つのノードのみを使用します。
erlang - Erlang ets:insert_new for bag
私のコードでは、単一のキーに対して複数の値を格納できる ETS のバッグ タイプを利用したいと考えています。ただし、insert が実際に新しい値を挿入するかどうか (つまり、挿入された値を持つキーがバッグに存在するかどうか) を知ることは非常に便利です。
ETS の型セットでは、ets:insert_new を使用できますが、バッグのセマンティクスは異なります (私の強調):
この関数は、insert/2 とまったく同じように機能しますが、例外として、同じキーを持つオブジェクトを上書きする (set または Ordered_set の場合) か、テーブルに既に存在するキーを持つオブジェクトを追加する(bag と duplicate_bag の場合) という点が異なります。 、単に false を返します。
1回の呼び出しでそのような機能を実現する方法はありますか? ルックアップとそれに続くオプションの挿入によって実現できることは理解していますが、同時アクセスのパフォーマンスが低下する可能性があるのではないかと心配しています。
r - ETS パッケージでは、高周波 f=365.. を使用できますか?
私は予測関数を使用しています..および ts() を使用し、F=365 を使用しています........そして、日ごとの季節性を確認できます..Hyndman 氏のブログで、「どのように適合するかをよく尋ねられますARIMA または ETS モデル (日次データの場合は 365、30 分ごとのデータの場合は 48 など) の長い季節期間を持つデータ. 一般に、ARIMA および ETS モデルの季節バージョンは、月間データの場合は 12、月間データの場合は 4 などの短い期間用に設計されています。四半期ごとのデータ」をスタックオーバーフローのように、予測() は単純に ETS 関数を使用することを知りました..何が正しいのか..
erlang - Erlang - ETS テーブル間の比較
2 つの ets テーブル間の相互要素を効率的に見つける方法を知りたいです。ETS および QLC モジュールを試しましたが、その方法を見つけることができませんでした。[bag] オプションで ets を使用しています。これは、複数の値があることを意味します。同じキー。
最速かつ最も効率的なソリューションを探しています。
erlang - mnesiaバックアップファイルからデータを抽出する方法
問題文
mnesia バックアップ ファイルがあり、そこから値を抽出したいと考えています。従業員、スキル、出席の 3 つのテーブル (簡単にするため) があります。したがって、mnesia バックアップ ファイルには、これら 3 つのテーブルのすべてのデータが含まれています。
従業員テーブルは次のとおりです。
スキル表は
出席表は
私が試した こと
ets:foldl(Fetch,OutputFile,Table)
Fetch : フェッチされたレコードをトラバースして、目的の出力形式にする別の関数です。
OutputFile : このファイルに書き込みます
Table : テーブルの名前
期待
コードのみを取得したいので、AttendanceId (これがキーであるため) を使用してレコードを取得しています。従業員情報と出席 ID を表示します。
手伝ってください。