Проблема, когда я создаю большой массив в Swift - PullRequest
0 голосов
/ 17 мая 2018

Может кто-нибудь сказать мне, почему мой ноутбук зависает, если я создаю такой массив в Swift 4:

let numbers = Array(0...Int32.max)

1 Ответ

0 голосов
/ 17 мая 2018

Это не проблема ни для Swift, ни для вашего ноутбука.Это вопрос того, как правильно его использовать.

Для целочисленных типов со знаком это значение равно (2 ^ (bitWidth - 1)) - 1. Таким образом, Int32.max = 2 ^ 31-1 = 2 147 483 647.

32 бита = 4 байта.Таким образом, у вас есть 2 миллиарда * 4 = 8 миллиардов байтов ~ ~ 7 700 ГБ.

Достаточно ли у вашего ноутбука ОЗУ?

...