Описание тега copy-on-write
1
ответ
Вернуть const auto object - и неявное совместное использование Qt
Итак, известно, что этот код не имеет смысла: const int foo() { int n = // do computation...; return n; } Потому что какой смысл возвращать const int, когда он все равно копируется? Но с классами с неявным разделением (COW), такими как контейнеры Qt…
24 окт '11 в 06:58
1
ответ
Многопроцессорная обработка Python - когда используется общий объект, на который имеется ссылка? Когда это копируется?
У меня есть структура данных L (это может быть список, диктат, ...) и мне нужно несколько процессов для чтения из него. Я не хочу использовать multiprocessing.Manager потому что это медленно. Сейчас если L никогда не изменялся, интернет сказал мне, …
22 июн '16 в 14:36
1
ответ
Является ли 'require' предпочтительнее 'автозагрузки' с Ruby 2 на многопроцессорном сервере форка?
Я читаю эту статью. Меня беспокоит польза autoload против require, После прочтения статьи я понял, что использование autoload для многопоточных серверов это плохо, потому что один поток может попытаться загрузить объект, который еще не находится в п…
02 июн '16 в 00:40
0
ответов
Безопасность резьбы Swift COW
Я смотрю, как копирование на запись работает в Swift. И немного смущен isKnownUniquelyReferenced документация Особенно по этому разделу: Если к экземпляру, переданному как объект, одновременно обращаются несколько потоков, эта функция может все еще …
13 дек '17 в 21:52
2
ответа
Найти, какие страницы больше не доступны для копирования при записи
Скажем, у меня есть процесс в Linux, из которого я fork() другой идентичный процесс. После forkПоскольку исходный процесс начнет запись в память, механизм копирования и записи в Linux предоставит процессу уникальные страницы физической памяти, котор…
23 апр '12 в 16:11
1
ответ
Избегайте выделения памяти только для чтения forked() при выходе из Perl
В Perl я генерирую огромную структуру данных только для чтения, а затем fork(), Это позволяет использовать COW на страницах RSS при разветвлении. Это работает очень хорошо, но когда дочерний процесс завершается, он выделяет всю оперативную память не…
16 апр '13 в 09:04
2
ответа
Добавляет ли функция PHP extract() добавление переменных в таблицу символов, используя копирование при записи?
Извините, я уверен, что этот ответ находится где-то в Интернете (возможно, даже через стек), но я провел последний час в поисках и не могу найти ответ... Добавляет ли функция PHP extract() добавление переменных в таблицу символов, используя копирова…
29 ноя '12 в 06:16
2
ответа
Путаница в отношении копирования при записи и shared_ptr
Я искал в Интернете и прочитал документацию Boost о shared_ptr, Есть ответ на SO, который говорит, что shared_ptr для копирования при записи (COW) отстой и что TR! удалил его из строковых библиотек. Большинство советов по SO говорит, чтобы использов…
05 июн '11 в 19:16
0
ответов
Как избежать разрыва выходного размера, если я сохраню список со скопированными элементами?
У меня есть несколько долгосрочных сценариев и для дальнейшей разработки или анализа после смерти в случае ошибки я сохраняю результаты в конце saveRDS а также save.image, Однако при сохранении списков, содержащих реплицированные элементы списка, во…
25 окт '18 в 12:55
2
ответа
Поможет ли копирование при записи предотвратить дублирование данных в массивах?
Я программирую клиента PHP API на PHP, который анализирует данные CSV в ассоциативные массивы, и я хочу защитить своих пользователей от дублирования данных при использовании этих массивов. Мои пользователи никогда не будут писать в эти массивы (теор…
17 июн '12 в 21:34
1
ответ
Личная память пустого процесса Python, разветвленного многопроцессорным Python
Я создаю несколько дочерних процессов с помощью многопроцессорной обработки Python, но эти дочерние процессы используют много кучи личной памяти, даже когда они являются пустыми процессами. Эта ситуация ухудшается при работе на RHEL с включенной THP…
28 авг '15 в 02:38
3
ответа
PHP ноль и копирование при записи
Предположим, я хочу иметь две переменные и они обе равны null, (Более реалистично, я имею в виду массив, который содержит большое количество nullс, но сценарий "двух переменных" достаточно для вопроса.) Очевидно, я могу сделать это более чем одним с…
21 апр '12 в 15:26
2
ответа
Почему COW mmap не работает с ENOMEM для (разреженных) файлов размером более 4 ГБ?
Это происходит в ядре Linux 2.6.26-2-amd64 при попытке отобразить файл размером 5 ГБ с семантикой копирования при записи ( PROT_READ | PROT_WRITE и MAP_PRIVATE). Сопоставление файлов размером менее 4 ГБ или использование только PROT_READ работает но…
31 авг '10 в 22:18
1
ответ
Что такое неявное разделение?
Я создаю библиотеку игрового движка на C++. Некоторое время назад я использовал Qt для создания приложения и был довольно увлечен его использованием Implicit Sharing. Мне интересно, может ли кто-нибудь объяснить эту технику более подробно или предло…
09 янв '11 в 06:15
3
ответа
Как мне добиться сортировки на месте для поддиапазона элементов в массиве<T> в swift?
Стандартные методы сортировки для типа Array не имеют варианта, в котором область сортируемого массива может быть сужена. Использование ArraySlice не приводит к сортировке исходных данных из-за семантики копирования при записи. Должен ли я написать …
22 дек '18 в 21:56
1
ответ
Я пытаюсь понять, как делиться объектами только для чтения с многопроцессорностью
Я пытаюсь понять, как делиться объектами только для чтения с многопроцессорностью. разделение bigset когда это глобальная переменная работает нормально: from multiprocessing import Pool bigset = set(xrange(pow(10, 7))) def worker(x): return x in big…
19 янв '16 в 15:36
0
ответов
Статистический процент процесса, который умрет без записи после форка
В Linux есть функция с именем copy-on-write, но сколько процесс на самом деле умирает, не разветвляясь и не записывая процесс? Другими словами, это доля того, что не приносит пользы от копирования на свет. Кажется, что такие статистические данные ра…
24 янв '19 в 18:06
2
ответа
Многопроцессорное копирование при записи в Python ведет себя по-разному в OSX и Ubuntu
Я пытаюсь разделить объекты между родительским и дочерним процессами в Python. Чтобы поиграть с этой идеей, я создал простой скрипт на Python: from multiprocessing import Process from os import getpid import psutil shared = list(range(20000000)) def…
18 дек '18 в 21:49
1
ответ
C++ - базовая реализация копирования при записи
Мы должны использовать копирование при записи в нашем школьном проекте. Я экспериментировал с очень простым классом, но без удачи. У меня есть это: #include <iostream> #include <cstdlib> #include <cstring> using namespace std; clas…
22 апр '15 в 20:45
6
ответов
Как реализовать Copy-on-Write?
Я хочу реализовать функцию копирования при записи в моем собственном классе C++ String, и мне интересно, как... Я пытался реализовать некоторые варианты, но все они оказались очень неэффективными. Спасибо вам, ребята:-)
30 окт '09 в 10:29