Главная страница
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.015 c
1-48155
ZEE
2002-08-01 16:00
2002.08.15
Проблема с Word.Application


1-48136
Pichkarus
2002-08-01 02:09
2002.08.15
Как узнать номер последней записи в StringGrid’е?


1-48022
Коля
2002-08-03 12:10
2002.08.15
Картинки для ToolBox a


14-48284
Вадим
2002-07-20 00:35
2002.08.15
Win32.HLLM.Klez.4


7-48331
Mex
2002-05-30 18:08
2002.08.15
На Delphi PID процесса в WIn 2000