Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.08.15;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.027 c
14-48270
A2
2002-07-19 17:08
2002.08.15
вопрос


14-48250
blackman
2002-07-19 11:14
2002.08.15
Была сделана примитивная задачка.


3-47955
sdram
2002-07-18 11:23
2002.08.15
Как прочитать базу из


14-48281
ev
2002-07-20 18:24
2002.08.15
как объявить функцию в C?


1-48130
Leran2002
2002-08-01 11:01
2002.08.15
На счет RXLib





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский