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