copy-on-write

    2

    1答えて

    プロセスが子プロセスをフォークするとき、子プロセスは子プロセスの変数 をコピーしませんが、子プロセスが親変数の値を変更すると、新しい変数が作成されます。このコピーを書き込み時に呼び出します。 # coding=utf-8 import os value = [] res = os.fork() if res == 0: value = [324] print 'chi

    0

    1答えて

    辞書をparamとしてサブクラスに定義されたメソッドに渡そうとすると、この新しいランタイムエラーが発生します。 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(w

    4

    1答えて

    forkの広範な使用に依存するcodeがあります。私たちはパフォーマンス上の問題にぶつかり始めました。私たちの仮説の1つは、フォークされたプロセスでコピーオンライトが発生すると、スピードが浪費されるということです。 いつ、どのようにコピーと書き込みが起こる。このプロセスに詳細な洞察力を持っている具体的には、検出する方法はあります。 私のプラットフォームはOSXですが、より一般的な情報も高く評価され

    0

    1答えて

    結果バックアップバックエンドと同様に、ブローカのURL(タスクを受け取るため)としてセリスワーカーサーバーを使用します。 BROKER_URL = 'redis://localhost:6379/2' CELERY_RESULT_BACKEND = 'redis://localhost:6379/2' app = Celery('myceleryapp', broker=BROKER_URL,ba

    6

    1答えて

    だから私は簡単なcow_ptrを持っています。これは、それが非const Tを保持していることを保証し、それがuniqueあることを保証 template<class T, class Base=std::shared_ptr<T const>> struct cow_ptr:private Base{ using Base::operator*; using Base::o

    1

    1答えて

    メモリをmallocすると、仮想メモリのみが使用可能で、実際にはゼロページを指しています。実際の物理メモリは、mallocされたメモリに書き込もうとするときに割り当てられます。この時点では、ゼロページからページフォルトによってマップされた物理メモリにゼロをコピーするライトオンライトが存在します。私の問題は、どのように/ゼロ充填要求がLinuxのソースコードで実装されているかです。この機能を無効にし

    0

    1答えて

    この汚いCoWの概念証明:https://github.com/dirtycow/dirtycow...ter/dirtyc0w.cを理解しようとしています。 子スレッド(上記のリンクのprocselfmemThread)が親によってMAP_PRIVATEおよびPROT_READとしてマップされたメモリに書き込むとどうなりますか?具体的には、カーネルは既存のマッピングを匿名で書き込み可能に変更しま

    2

    1答えて

    私はPerl 5にCOW文字列があることを知っていますが、実装された時点を覚えていません。

    5

    1答えて

    SwiftのArrayのコピーオンライト実装については、hereをご覧ください。 標準ライブラリのすべての可変サイズのコレクションと同様に、アレイはコピーオンライト最適化を使用します。アレイの複数のコピーは、コピーの1つを変更するまで同じストレージを共有します。それが起こると、変更されているアレイはそのストレージを一意に所有されているコピーに置き換えます。コピーの量を減らすことができる最適化が適用

    1

    1答えて

    は交換すること、APIがCow<[sometype]>を使用するように移動する場合: some_func(arg1, arg2, arg3); で: some_func(Cow::from(&arg1[..]), Cow::from(&arg2[..]), Cow::from(&arg3[..])); はかなり密な構文です。 関数の引数として渡されたときに、ベクトルまたはスライスをCowに