OSDev

для всех
Текущее время: 16 дек 2018, 08:27

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 67 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
 Заголовок сообщения: Re: Phantom
СообщениеДобавлено: 14 окт 2011, 15:22 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1070
Откуда: Балаково
pavia писал(а):
В том же фотошопе документ 3 мегабайта, а в секунду контексте может меняться под 100 мегабайт.

И он может меняться каждые несколько секунд - от каждого клика мышки и прочих действий пользователя. Поэтому ещё посчитать надо - какова разница между изменениями.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Phantom
СообщениеДобавлено: 14 окт 2011, 15:40 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1092
Есть техника моментальных снимков ФС.

Тут просто помечаем все страницы как предназначенные для копирования и ставим атрибут только чтение. При исключении делаем клона программа работает с клоном без пометки для копирования, а мы тем временем помеченные для копирования сохраняем на диск. Посчитать разницу недолго. Так как страниц меньше чем если бы мы считали все байты.
Хотя подсчитать все байты задачка тоже решаемая. Причем довольно быстро.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Phantom
СообщениеДобавлено: 14 окт 2011, 17:28 

Зарегистрирован: 11 окт 2011, 12:20
Сообщения: 27
Himik писал(а):
dzavalishin писал(а):
Если вы ничего не делали, то и сохранять нечего. А если что-то делали - то всяко придётся сохранить, нет?

Сохранить документ - это всего несколько килобайт. Сохранить рабочий контекст приложения - это уже мегабайты.


Он менялся, но никому не нужен? Тогда почему менялся? Если был временный - значит, его освободили и не надо сохранять? Давайте рассмотрим какой-нибудь пример этих самых мегабайт.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Phantom
СообщениеДобавлено: 14 окт 2011, 17:29 

Зарегистрирован: 11 окт 2011, 12:20
Сообщения: 27
pavia писал(а):
Есть техника моментальных снимков ФС.

Тут просто помечаем все страницы как предназначенные для копирования и ставим атрибут только чтение. При исключении делаем клона программа работает с клоном без пометки для копирования, а мы тем временем помеченные для копирования сохраняем на диск. Посчитать разницу недолго. Так как страниц меньше чем если бы мы считали все байты.
Хотя подсчитать все байты задачка тоже решаемая. Причем довольно быстро.


Байты - не надо. Замаешься пыль глотать. А со страницами - всё правильно, так оно и есть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Phantom
СообщениеДобавлено: 14 окт 2011, 17:35 

Зарегистрирован: 11 окт 2011, 12:20
Сообщения: 27
pavia писал(а):
Цитата:
Сохранить документ - это всего несколько килобайт. Сохранить рабочий контекст приложения - это уже мегабайты.
Так сохранять только разницу, для обычных приложений это хватит. Вот для профессиональных такое не годится. В том же фотошопе документ 3 мегабайта, а в секунду контексте может меняться под 100 мегабайт.


Я тоже так думал всего месяц тому назад. А недавно проанализировал работу системы снапшотов, и стало понятно, как исключать из шота страницы, которые содержат освобождённые объекты. Предположительно, эти 100 мегабайт мы сохранять не будем - если, конечно, фотошоп их не держит близко к сердцу.

Вообще - на всё это надо смотреть не как на проблемы, а как на задачи. И - решать.

- А у вас тут апельсины растут?
- Нет, не растут.
- А абрикосы?
- Нет, не растут.
- А если, например, манго посадить?
- Не, ну если посади-ить - то, конечно, вырастет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Phantom
СообщениеДобавлено: 15 окт 2011, 19:25 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1070
Откуда: Балаково
dzavalishin писал(а):
Он менялся, но никому не нужен?

Почему ни кому не нужен? Нужен. Я о способе сохранения. Как я понял, ты предлагаешь не сохраняя документ, сохранять контекст редактора. Вот я и говорю, что это несравнимые вещи. Оверхед по памяти (и соответственно скорости) большой.
Например, при вставке одной запятой в середину текста, смещается вся вторая половина. Поэтому не получится экономии на выборочных страницах, т.к. изменится не только страница с запятой, а почти весь документ. Также надо учитывать, что формат представления документа в оперативной памяти не подразумевает оптимизации по размеру. Размер документа загруженного в оперативку может быть в несколько раз больше, чем на диске.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Phantom
СообщениеДобавлено: 15 окт 2011, 19:47 

Зарегистрирован: 30 янв 2010, 19:44
Сообщения: 63
Himik писал(а):
dzavalishin писал(а):
Он менялся, но никому не нужен?

Почему ни кому не нужен? Нужен. Я о способе сохранения. Как я понял, ты предлагаешь не сохраняя документ, сохранять контекст редактора. Вот я и говорю, что это несравнимые вещи. Оверхед по памяти (и соответственно скорости) большой.
Например, при вставке одной запятой в середину текста, смещается вся вторая половина. Поэтому не получится экономии на выборочных страницах, т.к. изменится не только страница с запятой, а почти весь документ. Также надо учитывать, что формат представления документа в оперативной памяти не подразумевает оптимизации по размеру. Размер документа загруженного в оперативку может быть в несколько раз больше, чем на диске.

вообщето нет необходимости "пересохранить" весь документ.. достаточно сохранять историю действий.. при вставке запятой в середину документа, достаточно сделать запись о том что был вставлен символ в середину исходного документа..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Phantom
СообщениеДобавлено: 16 окт 2011, 16:16 

Зарегистрирован: 11 окт 2011, 12:20
Сообщения: 27
Himik писал(а):
dzavalishin писал(а):
Он менялся, но никому не нужен?

Например, при вставке одной запятой в середину текста, смещается вся вторая половина. Поэтому не получится экономии на выборочных страницах, т.к. изменится не только страница с запятой, а почти весь документ. Также надо учитывать, что формат представления документа в оперативной памяти не подразумевает оптимизации по размеру. Размер документа загруженного в оперативку может быть в несколько раз больше, чем на диске.


- полдокумента при втыкании запятой смещается только в школьных программах "мама, зырь, я написал текстовый редактор". В реальных продуктах документ - список блоков текста. Меняется только один блок.

- размера не жалко. вообще. один гамбургер = 10 Gb - !! ДЕСЯТЬ ГИГАБАЙТ !!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Phantom
СообщениеДобавлено: 16 окт 2011, 18:12 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1070
Откуда: Балаково
dzavalishin писал(а):
- размера не жалко. вообще. один гамбургер = 10 Gb - !! ДЕСЯТЬ ГИГАБАЙТ !!

Да только дешевеет не только диск, но и оператива, и идёт тенденция к полному устранению свопирования, а по вашей идеологии так сплошное свопирование идёт. "Вперёд в прошлоё" получается :-) Я считаю, что проблема решается не с того конца. Просто ОС и приложения надо оптимизировать под скорость. Кстати, некоторые приложения сохраняют на диске прекомпиляцию часто используемых данных, сокращая рассчёты при следующем запуске.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Phantom
СообщениеДобавлено: 16 окт 2011, 22:11 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1092
Цитата:
- полдокумента при втыкании запятой смещается только в школьных программах "мама, зырь, я написал текстовый редактор". В реальных продуктах документ - список блоков текста. Меняется только один блок.

Ой ли. Частота процессора 1ГГц размер книги 1МГабайт максимум (картинки не в счёт). Кто будет городить абстракции если всё и так будет летать на современном компьютере? Ответ никто. Поэтому нормальный текстовый редактор работает именно по такому принципу. Легко проверить если вы загрузите в свой любимый редактор текст в несколько сотен мегабайт.

Чтобы при таких объёмах вставка не тормозила надо очень сильно постараться. Проблем вылазит выше крыши. Переписать все текстовые функции для работы с фрагментами. Сделать дефрагментатор.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 67 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 7  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB