|
|
|
|
|
|
|
Вернуться
| 1 Егоров Илья Валерьевич, 29 мая 2019 г. 23:25:29 | |
|
И полагаю, что в обоих случаях данная конструкция занимает меньше 100 Мб: даже если учитывать размер ссылок на массивы, оверхэд и выравнивание, суммарно размер теоретически не превышает 100 Мб в обоих реализациях. Можно вполне в этом убедиться, вычислив размер массива, например, по этой статье: https://habr.com/ru/post/142409/. А еще лучше не гадать и проверить анализатором.
|
|
|
| 2 Егоров Илья Валерьевич, 29 мая 2019 г. 23:07:29 | |
|
Кхм. Меня одного волнует использованный способ сравнения и вообще корректность данного действа? Если сравнивается просто потребление памяти приложения в целом (а не средствами всевозможных анализаторов памяти), то наличие сторонних факторов вполне естественно: вы, как говорится, не тех попугаев считаете. Если сравнивается тут по потреблению памяти решением, то смею заверить, что в зависимости от того, в стеке массив или в куче, он может вообще не учитываться (давно замеченное свойство замеров здешних). P.s. Нет, в Java нет фичи "длинная арифметика по умолчанию", это в Python, Haskell и подобных она, из-за чего там заморочки с нуждами вида "сгенерировать рандомное 32-битное знаковое число".
|
|
|
| 3 Яндулов Богдан, 14 февраля 2019 г. 17:55:46 | |
|
int[][] p0 = new int[5001][5001], p1 = new int[5001][5001];
|
|
|
| 4 Меньшиков Фёдор Владимирович, 07 февраля 2019 г. 12:34:39 | |
|
Богдан, у Вас int[5000][5000]? Не массив из объектов?
|
|
|
| 5 Яндулов Богдан, 03 февраля 2019 г. 3:25:32 | |
|
Ну да, 2 двумерных 5000*5000. Но почему такая большая разница в памяти между С++ и Java.
|
|
|
| 6 Степанов Дмитрий Викторович, 02 февраля 2019 г. 11:13:29 | |
|
потому что в джаве длинная арифметика ???
|
|
|
| 7 Беляев Сергей Николаевич, 01 февраля 2019 г. 2:25:04 | |
|
Полагаю, что на C++ такой массив занимает менее 100 Мб. В задаче 1651 одним таким массивом весьма непросто обойтись. По крайней мере хотелось бы иметь 2 таких плюс парочку одномерных из 5000 элементов.
|
|
|
Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!
| | | |