Почему многомерные массивы в .NET медленнее, чем обычные массивы?

Проверка границ массива?

Одномерный slow массив имеет член длины, к speed которому вы обращаетесь напрямую dotnet - при компиляции это просто dot-net чтение из памяти.

Для многомерного dot-net массива требуется вызов метода .net-framework GetLength (int Dimension), который .net обрабатывает аргумент, чтобы jsonarray получить соответствующую arrays длину для этого измерения. Это swift-array не компилируется до чтения slow из памяти, поэтому вы получаете swift-array вызов метода и т. Д.

Кроме swift-array того, GetLength (размер int) будет bytearray проверять границы параметра.

.net

performance

arrays

2022-10-30T18:36:47+00:00