|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
А других конфигураций не бывает? Девелоперские. Тестовые. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 19:05 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
это вы щас обсуждаете яву, которая работает с памятью через жопу? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 19:20 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020, ты чего злой такой? Пятница-же. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 23:20 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
просто вопрос, где злой интересно же, чего там ява выделить не может, а C++ может ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 07:04 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Она использует те-же функции ядра при создании heap/metaspace. Баг нужно воспроизвести. И тогда будет повод поговорить. Ты можешь его воспроизвести? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 08:32 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
я с явой не работаю. а зачем баг явы в векторе на триллион объектов? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 10:10 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Это к Леониду. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 11:02 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 а зачем баг явы ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 11:48 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Вообще бремя доказательства - на утверждающем. Не будем искусственно высасывать баги из пальца. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 11:59 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
ну ладно, а на вектор то памяти дадут в линухе? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 12:53 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Хз. Надо уйти от триллиона объектов и заменить на что то измеримое. Я не помню чему у тебя там был равен 1 штук . ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 13:24 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 это вы щас обсуждаете яву, которая работает с памятью через жопу? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 15:21 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
В вопросе есть несколько смыслов. 1) Хардверный смысл. Не вся разрядная сетка указателя используется. 64 бита там может быть. Но текущая аппаратура - не позволит. Например у меня сведенья о CPU содержат вот такой комментарий: Код: plaintext 1.
у вас - возможно - цифры будут другие. Но тоже там далеко до 64 будет. 2) Точка зрения ОС на выделение памяти. Что считать выделением? malloc - выделение? realloc? А может быть mmap? Нам достаточно отображения куска памяти на файл чтобы решить задачу Алексея? Или что такое вообще НЕПРЕРЫВНЫЙ кусок памяти в современных ОС со страничной адресацией? Это метафора? 3) Опции STD::vector. Что он делает при пере-аллокации? Не упадём-ли мы не от нехватки памяти а от самого процесса перераспределения? Это как в анекдоте где больной умер от процесса лечения. 4) Собственно алгоритмизация. Зачем Алексею триллион объектов? Какой такой алгоритм не может быть решен меньшими ресурсами? Почему этот триллион нельзя положить РСУБД или в NoSQL систему. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 15:45 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
maytonИли что такое вообще НЕПРЕРЫВНЫЙ кусок памяти в современных ОС со страничной адресацией? Непрерывный диапазон адресов в виртуальном адресном пространстве процесса. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 16:27 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Хз. Надо уйти от триллиона объектов и заменить на что то измеримое. Я не помню чему у тебя там был равен 1 штук . хм, а указатели на другие структуры считать? скажем, 100 байт. триллиона конечно не будет, это с запасом. В перспективе ярд. Но на диск конечно надо будет скидывать. А грузить только активных. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 17:03 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Давай взглянем с точки зрения strace и операционной системы. Что она видит. Я упростил задачу. До 100 байтных объектов в количестве триллион мы еще дойдем. Пока выделим 1 000 000 целых чисел в векторе. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Трассировка системных вызовов. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
И здесь некоторые сведения о версии компиллятора и платформе что я использовал. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
stdout без трассировки Код: plaintext 1. 2. 3. 4.
Кто готов прокомментировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 18:19 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 mayton Хз. Надо уйти от триллиона объектов и заменить на что то измеримое. Я не помню чему у тебя там был равен 1 штук . хм, а указатели на другие структуры считать? скажем, 100 байт. триллиона конечно не будет, это с запасом. В перспективе ярд. Но на диск конечно надо будет скидывать. А грузить только активных. Сколько активных и почему так много? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 21:48 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
да надо закладываться на максимум вдруг ВСЕ станут активными скидывать на диск надо просто потому, что память ведь иногда перезагружать придётся ну и соот-но можно и активность мониторить ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 22:50 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Кто готов прокомментировать? вроде вектор заполняем, а на деле какие-то файлы мапятся в память... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 22:55 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 да надо закладываться на максимум вдруг ВСЕ станут активными скидывать на диск надо просто потому, что память ведь иногда перезагружать придётся ну и соот-но можно и активность мониторить Я тебя разочарую. Ограничения в системах есть ВСЕГДА. Это не искусственный интеллект. - сами по себе все активными не станут. Ты программист или кто? В очередь не можешь поставить? Вычислить потребные мощности не можешь? Что за детское "вдруг"? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 23:04 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Если посмотреть на эти цифры - то видно как второй аргумент функции mmap растет по эспоненте. Это похоже на рост нашего тела вектора. Вот тут пишут что 2 аргумент - это есть length. Тоесть фактически это длина нашего вектора. https://man7.org/linux/man-pages/man2/mmap.2.html Сначало он 132 килобайта. Потом 260 и так далее. Я так себе понимаю что это и есть квантовая механика realloc. Просто операционка это видит как игры с маппингом на файл с дескриптором -1. При успехе - возвращает адрес аллокации. Видно что с каждым растягиванием вектора этот адрес изменяется. Код: plaintext 1. 2. 3. 4. 5. 6.
Между этими вызовами стоит m-unmap. Это инвалидация предыдущего маппинга. Вот такой вот low-level взгляд. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2020, 23:14 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Алексей Роза 2020 да надо закладываться на максимум вдруг ВСЕ станут активными скидывать на диск надо просто потому, что память ведь иногда перезагружать придётся ну и соот-но можно и активность мониторить Я тебя разочарую. Ограничения в системах есть ВСЕГДА. Это не искусственный интеллект. - сами по себе все активными не станут. Ты программист или кто? В очередь не можешь поставить? Вычислить потребные мощности не можешь? Что за детское "вдруг"? Ой милай, расскажи это юзерам. Не хотят в очереди стоять, падлы, уходят к конкуренту и тут жи про тибя забывают нафсигда Намучался я с ними, может ты их образумишь, нупажалуста? mayton Просто операционка это видит как игры с маппингом на файл с дескриптором -1. в смысле "видит", я думал это то, что она делает. Зачем писать mmap, если там malloc/realloc? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 06:24 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
А я и не говорю что надо писать mmap. Мы просто наблюдаем что делает ос чтобы понять свойства этой аллокаций. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 07:37 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
но почему ОС назвала это mmap? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 10:48 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Возможно malloc/realloc просто по стеку вызывают mmap/munmap а утилита стрейс просто показывает последнюю точку стека которую видит ядро. Тоесть ядро не видит никакого malloc. А видит игры с мемори маппином. А этот загадочный дескриптор -1. Хм... возможно имеется в виду swap. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2020, 10:52 |
|
|
start [/forum/topic.php?fid=57&msg=39991607&tid=2017354]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
150ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 237ms |
total: | 490ms |
0 / 0 |