Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.15;
Скачать: CL | DM;

Вниз

Массив. Где он?   Найти похожие ветки 

 
Dmk ©   (2002-08-03 01:10) [0]

Есть массив.
Определен как var xBuffer:array[0..1024*512-1] of bytes;

Значит ли это, что массив постоянно расположен именно в оперативной памяти?


 
ACR ©   (2002-08-03 02:03) [1]

в видавозе никода низя зарание сказать что где и почему будет расположено :)


 
Yaro ©   (2002-08-03 02:27) [2]

Если тебя интерисует обращение к массиву через АSМ, то смело можешь работать так же как и в ДОСе, а где он на самом деле находится - фиг его знает. :( Для тебя это абсолютно прозрачно..


 
Юрий Зотов ©   (2002-08-03 02:32) [3]

Это значит, что массив постоянно расположен в памяти. Но не обязательно именно в оперативной.

Впрочем, программе это все равно.


 
Dmk ©   (2002-08-03 03:53) [4]

Эх. А мне не все равно. Нужно, чтобы он всегда был в оперативной памяти. Может выделить память по другому? Дело в том, что через него идет запись на диск. А если он на диске ... представляете себе какой swap идет! С диска в память и обратно. А обработка идет побайтно!!!


 
ACR ©   (2002-08-03 04:02) [5]

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


 
ACR ©   (2002-08-03 04:29) [6]

во еще есть функция SetProcessWorkingSetSize
тока в NT и в Win32s работает :)


 
Юрий Зотов ©   (2002-08-03 10:35) [7]

1. IMHO, если к массиву или какой-то его части происходят частые обращения, то высока вероятность того, что этот массив (или эта его часть) действительно будет все время (или почти все время) находиться в оперативной памяти. Поскольку swappping страниц Windows кэширует.

2. > через него идет запись на диск.

Запись на диск - штука сама по себе достаточно медленная (и тоже кэшируемая, если не запрещать при открытии файла). Поэтому вряд ли будет так уж критично, где именно находится массив. И поэтому я бы не стал лочить память, не погоняв сначала программу и не убедившись в том, что это действительно стоит делать.

3. Даже если программа действительно работает слишком медленно, то стоит поискать, почему это так (прогнать профайлером, например). Вполне вероятно, что главная проблема окажется совсем в другом месте.


 
Dmk ©   (2002-08-03 20:17) [8]

Попробую ...



Страницы: 1 вся ветка

Текущий архив: 2002.08.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
1-48022
Коля
2002-08-03 12:10
2002.08.15
Картинки для ToolBox a


1-48105
Goblinus
2002-08-01 01:31
2002.08.15
Как добавить свой контрол в OpenDialog (CheckBox, например)?


14-48254
kmc
2002-07-19 18:41
2002.08.15
Визуальное построение выражений


3-48001
DmitryS
2002-07-27 13:26
2002.08.15
Как оптимизировать запрос?


1-48166
Sub
2002-08-02 11:45
2002.08.15
Базы данных. Отчеты.