информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Сетевые кракеры и правда о деле ЛевинаСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 HP закрыла 16-летнюю уязвимость... 
 Microsoft советует пользователям... 
 MS Edge обогнал FireFox 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / theory
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Можно и просто смаппировать файл в память, насколько я помню... 11.06.05 18:26  Число просмотров: 3062
Автор: ony Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Я лично считаю, что не только не стоит заниматься
> кэшированием, но и в буфферизации совершенно нет никакого
> смысла.
> А именно, для обработки большого файла данных можно каждый
> раз лазить в файл, поскольку реализация кэширования в
> операционке заведомо лучше, чем реализуешь сам. Что нужно и
> так будет удовлетворено без обращения к накопителю.
> Единственный минус – накладные расходы на обращение к
> системе.
> Можно поступить наоборот, сразу прочитать в оперативку весь
> файл и делать с ним что хочешь. Если оперативки не хватает,
> то операционка сама воспользуется накопителем для свопа и,
> причем, наилучшим образом, а сама програмка будет проще,
> меньше и быстрее написана. Хочется повысить быстродействие
> при увеличившемся объеме данных – просто добавь модуль
> оперативной памяти, скорость работы будет расти то тех пор,
> пока оперативки не будет достаточно.
Можно и просто смаппировать файл в память, насколько я помню сейчас и в винде такое есть.
А вот насчет того что система лучше скэширует - недумаю.
Тебе лучше знать специфику данных и вид обращения к ним, а система будет глупо работать как с огромным массивом, что заведомо теряет очень многое, что могло бы с оптимизировать кэш.
Пример: система со страничной организаций VM, ты обращаешся к записи которая могла бы вместится на одной странице, но так вышло, что граница страниц перерезает ее пополам и когда ты обращаешся к ней, то в памяти держится гараздо больше мусора, чем если бы запись была выровнена на границу страницы (BerkleyDB следит за этим внимательно).
Касательно баз данных - тоже самое. Ситуация с паралельными апдэйтами тяжело переносится. Например у тебя подсчет траффика по хостерам, каждый запрос к вебу добавляет еще чиселку к одной сумме по определенному домену (апач к примеру, работая несколькими процессами, может привести к паралельным апдэйтам. А вот если подставить прослойку между базой и событиями, которая будет аккумулировать данные и через время сливать в базу, то производительность такой системы возрастет заметно.
<theory> Поиск 








Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2021 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach