|
![]() |
Пред. тема | След. тема | ||
Форумы
![]() | |||
---|---|---|---|
Изначальное сообщение | [Проследить за развитием треда] |
"Разряженный массив" | |
Сообщение от dimus ![]() ![]() | |
Разряженный массив - когда в очень большом массиве хранится не очень много элементов, а большинство ячеек пусты. В винде при помощи функции VirtualAlloc можно выделить память таким образом, что программе будет казаться, что ей выделили весь объем, а реально будут выделины только те страницы, в которых есть данные. | |
Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
Оглавление |
|
Индекс форумов | Темы | Пред. тема | След. тема |
Сообщения по теме |
1. "Разряженный массив" | |
Сообщение от Vladislav Lazarenko ![]() ![]() ![]() | |
>Разряженный массив - когда в очень большом массиве хранится не очень много | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
2. "Разряженный массив" | |
Сообщение от SergeiZz ![]() ![]() | |
>В винде при помощи функции VirtualAlloc | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
![]() |
|
3. "Разряженный массив" | |
Сообщение от dimus ![]() ![]() ![]() | |
Речь шла о возможности подобного выделения памяти. Реализуется это при помощи средств ОС, так как именно на нее возлагается задача отслеживать те страницы, которые надо выделять. Процессу же кажется, что у него непрерывное адресное пространство. Мне не известно что-либо о POSIX - поддержке подобных процедур. И хотелось бы выяснить, возможно ли подобное выделение памяти в линуксе или каких-либо других юникс-подобных операционках, и если да, то как? | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
![]() |
|
4. "Разряженный массив" | |
Сообщение от ACCA ![]() ![]() | |
[...] | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
![]() |
|
5. "Разряженный массив" | |
Сообщение от dimus ![]() ![]() ![]() | |
>Я полагаю, идеология очевидна - на уровне ОС подобный фокус можно сделать >только крайне неоптимально. Скажем, использование единственного int выделяет >целую страницу (4К). В списке это займёт 3-4 машинных слова + пару слов в >хэше либо одно слово в индексе. | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
![]() |
|
6. "Разряженный массив" | |
Сообщение от ACCA ![]() ![]() | |
>Тут вы несколько заблуждаетесь. Да, расход памяти в случае самого неудачного варианта | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
![]() |
|
8. "Разряженный массив" | |
Сообщение от SergeiZz ![]() ![]() | |
>Речь шла о возможности подобного выделения памяти. Реализуется это при помощи средств | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
![]() |
|
19. "Разряженный массив" | |
Сообщение от SergeiZz ![]() ![]() | |
>>Вопрос: можно ли провернуть такой фокус в unix - системах, и если | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
7. "Разряженный массив" | |
Сообщение от Dead Mustdie ![]() ![]() ![]() | |
>Разряженный массив - когда в очень большом массиве хранится не очень | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
![]() |
|
9. "Разряженный массив" | |
Сообщение от MaximKuznetsov ![]() ![]() | |
сам такими эксперементами не занимался, НО можно покапать в таком направлении : | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
![]() |
|
10. "Разряженный массив" | |
Сообщение от dimus ![]() ![]() | |
Спасибо за интересные идеи. Файл с дырками - это похожая по смыслу конструкция. Не знаю правда, удастся ли при помощи него изготовить разряженный массив :) Жаль конечно, что нет юниксового VirtualAlloc - тут винда далеко впереди :(. (Для тех, кому интересно - см. например книгу Дж. Рихтера) | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
![]() |
|
11. "Разряженный массив" | |
Сообщение от sas ![]() ![]() ![]() | |
>Спасибо за интересные идеи. Файл с дырками - это похожая по смыслу | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
![]() |
|
12. "Разряженный массив" | |
Сообщение от SergeiZz ![]() ![]() | |
>Спасибо за интересные идеи. Файл с дырками - это похожая по смыслу | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
![]() |
|
13. "Разряженный массив" | |
Сообщение от SergeiZz ![]() ![]() | |
> cout << "Записываю " << m << " +- 1 значений..." << flush; | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
![]() |
|
14. "Разряженный массив" | |
Сообщение от dimus ![]() ![]() | |
Результат выполнения наводит на размышления. Я запускал программу, которую вы предложили с очень большими значениями размера массива: | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
![]() |
|
17. "Разряженный массив" | |
Сообщение от Maxim Kuznetsov ![]() ![]() | |
при выделении памяти функциями malloc и new , | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
![]() |
|
18. "Разряженный массив" | |
Сообщение от SergeiZz ![]() ![]() | |
>./memtest 1000000000 1000 | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
![]() |
|
15. "Разряженный массив" | |
Сообщение от dimus ![]() ![]() | |
>Не совсем так - всё равно придётся следить за тем, где данные | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
![]() |
|
16. "Разряженный массив" | |
Сообщение от Dead Mustdie ![]() ![]() ![]() | |
Очень низкоуровневый код получается. И как следствие, завязанный | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
![]() |
|
20. "Разряженный массив" | |
Сообщение от SergeiZz ![]() ![]() | |
>В POSIX подобных | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
Архив | Удалить |
Индекс форумов | Темы | Пред. тема | След. тема |
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |