|
net core max memory
|
|||
---|---|---|---|
#18+
Коллеги, сабж работает с огромным кол-вом оперативной памяти? Скажем, смогу я создать в памяти массив общим размером тысяча гигабайт(если они есть в системе)? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 19:20 |
|
net core max memory
|
|||
---|---|---|---|
#18+
Denis., Работать будет, но с какой скоростью будет происходить сборка мусора? Я бы сначала проверил... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 06:01 |
|
net core max memory
|
|||
---|---|---|---|
#18+
Алексей КЯ бы сначала проверил...ни разу не писал с закрытыми глазами не проверяя). Думаю try.... Except message мало памяти" все равно будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 06:35 |
|
net core max memory
|
|||
---|---|---|---|
#18+
Если не путаю - индекс массива имеет тип int, т.е. всего 2 млрд. (2^31) элементов даже в x64. Думаю это ограничение сработает раньше чем 1000 Гб памяти заполнится. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 07:07 |
|
net core max memory
|
|||
---|---|---|---|
#18+
Алексей К, массив же сразу в LoH уедет, и не будет подвержен сборке Dima TЕсли не путаю - индекс массива имеет тип int, т.е. всего 2 млрд. (2^31) элементов даже в x64. Думаю это ограничение сработает раньше чем 1000 Гб памяти заполнится. Array.LongLength ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 08:37 |
|
net core max memory
|
|||
---|---|---|---|
#18+
Pallaris Array.LongLength ИМХО индекс при этом не перестанет быть Int32, т.е. это просто конвертация в Int64. Вот еще что нашел https://docs.microsoft.com/en-us/dotnet/api/system.array?view=netframework-4.7.2#remarks Array Class ... By default, the maximum size of an Array is 2 gigabytes (GB). In a 64-bit environment, you can avoid the size restriction by setting the enabled attribute of the gcAllowVeryLargeObjects configuration element to true in the run-time environment. However, the array will still be limited to a total of 4 billion elements, and to a maximum index of 0X7FEFFFFF in any given dimension (0X7FFFFFC7 for byte arrays and arrays of single-byte structures). ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 09:00 |
|
net core max memory
|
|||
---|---|---|---|
#18+
Denis., https://adamsitnik.com/Array-Pool/ https://www.infoq.com/articles/Big-Memory-Part-1 https://habr.com/post/149584/ в большинстве случаев, всё это применительно и для net core ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 11:51 |
|
net core max memory
|
|||
---|---|---|---|
#18+
Dima TЕсли не путаю - индекс массива имеет тип int, т.е. всего 2 млрд. (2^31) элементов даже в x64. Думаю это ограничение сработает раньше чем 1000 Гб памяти заполнится. Как максимальное количество элементов в массиве коррелирует с максимальным количеством выделенной памяти? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 13:20 |
|
net core max memory
|
|||
---|---|---|---|
#18+
PallarisАлексей К, массив же сразу в LoH уедет, и не будет подвержен сборке Dima TЕсли не путаю - индекс массива имеет тип int, т.е. всего 2 млрд. (2^31) элементов даже в x64. Думаю это ограничение сработает раньше чем 1000 Гб памяти заполнится. Array.LongLength Это для многомерных массивов имеет смысл. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 13:20 |
|
net core max memory
|
|||
---|---|---|---|
#18+
ЕвгенийВDima TЕсли не путаю - индекс массива имеет тип int, т.е. всего 2 млрд. (2^31) элементов даже в x64. Думаю это ограничение сработает раньше чем 1000 Гб памяти заполнится. Как максимальное количество элементов в массиве коррелирует с максимальным количеством выделенной памяти? Напрямую. Например: массив byte[] или int[] при всем желании не сможет занять 1000 Гб ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 14:02 |
|
net core max memory
|
|||
---|---|---|---|
#18+
PallarisАлексей К, массив же сразу в LoH уедет, и не будет подвержен сборке Dima TЕсли не путаю - индекс массива имеет тип int, т.е. всего 2 млрд. (2^31) элементов даже в x64. Думаю это ограничение сработает раньше чем 1000 Гб памяти заполнится. Array.LongLength на сколько я помню объекты размером больше 32000 байт попадают в LOH но это не значит, то они не будут подвержены сборке, вроде проблема в том, что LoH не высвобождается. То есть увеличившись единожды, будет всегда не меньше текущего размера. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 14:15 |
|
net core max memory
|
|||
---|---|---|---|
#18+
Dima TЕвгенийВпропущено... Как максимальное количество элементов в массиве коррелирует с максимальным количеством выделенной памяти? Напрямую. Например: массив byte[] или int[] при всем желании не сможет занять 1000 Гб ну массив может быть разных структур и форм. В моем случае предполагался byte[,] ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 15:56 |
|
net core max memory
|
|||
---|---|---|---|
#18+
Roman MejtesPallarisАлексей К, массив же сразу в LoH уедет, и не будет подвержен сборке пропущено... Array.LongLength на сколько я помню объекты размером больше 32000 байт попадают в LOH но это не значит, то они не будут подвержены сборке, вроде проблема в том, что LoH не высвобождается. То есть увеличившись единожды, будет всегда не меньше текущего размера. да, она просто не дефрагментируется и не тримится(наверное) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 16:06 |
|
net core max memory
|
|||
---|---|---|---|
#18+
Denis., кстати кажется читал что с некоторых пор она дефрагментируется. Думаю с 4.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 16:07 |
|
net core max memory
|
|||
---|---|---|---|
#18+
А у коллекций есть предел? У них же вроде просто связный список. Предыдущий-Текущий-Следующий ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 19:36 |
|
net core max memory
|
|||
---|---|---|---|
#18+
Cat2А у коллекций есть предел? У них же вроде просто связный список. Предыдущий-Текущий-Следующий У связного списка при большом количестве объектов, конкретно просаживается производительность. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 22:07 |
|
net core max memory
|
|||
---|---|---|---|
#18+
Denis.Denis., кстати кажется читал что с некоторых пор она дефрагментируется. Думаю с 4.5 4.5.1 https://docs.microsoft.com/ru-ru/dotnet/api/system.runtime.gcsettings.largeobjectheapcompactionmode?view=netframework-4.7.2#System_Runtime_GCSettings_LargeObjectHeapCompactionMode ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2018, 12:37 |
|
net core max memory
|
|||
---|---|---|---|
#18+
Dima T, а int[][] или byte[][]? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2018, 12:18 |
|
net core max memory
|
|||
---|---|---|---|
#18+
ЕвгенийВDima T, а int[][] или byte[][]? А ТЗ почитать? Речь про массив, а не массив массивов. Уточненное ТЗ 21716287 Denis.В моем случае предполагался byte[,] Как понимаю в этом случае ограничение действует. 2 Гб максимум. Но если можно заменить на byte[][], то ограничение можно обойти. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2018, 12:35 |
|
net core max memory
|
|||
---|---|---|---|
#18+
Dima T, нет, byte[46500,46500] работает ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2018, 14:59 |
|
net core max memory
|
|||
---|---|---|---|
#18+
Denis.Dima T, нет, byte[46500,46500] работает А так уже не работает Код: c# 1. 2. 3. 4. 5. 6.
System.AccessViolationException при i = 46182 и j = 20648. И цифры эти вот что означают Код: c# 1.
PS .net core 2.1 MSVS2017 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2018, 15:38 |
|
net core max memory
|
|||
---|---|---|---|
#18+
Для int самое большое число это 2147483647, а 2147483648 это переполнение и трактуется как отрицательное -2147483648. Указатели в x64 - 64 бита, поэтому адрес элемента arr[46182, 20648] в памяти рассчитывается как начало (адрес arr[0,0]) минус 2147483648, но по этому адресу нет реальной памяти, поэтому происходит исключение. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2018, 15:46 |
|
net core max memory
|
|||
---|---|---|---|
#18+
вроде gcAllowVeryLargeObjects должно помочь? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2018, 13:18 |
|
net core max memory
|
|||
---|---|---|---|
#18+
ЕвгенийВвроде gcAllowVeryLargeObjects должно помочь? немного поможет https://docs.microsoft.com/en-us/dotnet/api/system.array?view=netframework-4.7.2#remarks Array Class ... By default, the maximum size of an Array is 2 gigabytes (GB). In a 64-bit environment, you can avoid the size restriction by setting the enabled attribute of the gcAllowVeryLargeObjects configuration element to true in the run-time environment. However, the array will still be limited to a total of 4 billion elements, and to a maximum index of 0X7FEFFFFF in any given dimension (0X7FFFFFC7 for byte arrays and arrays of single-byte structures). ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2018, 14:02 |
|
|
start [/forum/topic.php?fid=20&fpage=26&tid=1399184]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
62ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 8ms |
total: | 154ms |
0 / 0 |