F #: Почему Array.createZero такой быстрый?

У меня есть этот код:

let timer = new System.Diagnostics.Stopwatch()
timer.Start()
Array.zeroCreate<int> 100000000

timer.Stop()
printfn "%ims" timer.ElapsedMilliseconds

timer.Reset()
timer.Start()
Array.create 100000000 0

timer.Stop()
printfn "%ims" timer.ElapsedMilliseconds

Я проверил это и получил эти результаты:

0ms
200ms

КакArray.zeroCreate создать массив так быстро, и гарантируется, что все его элементы имеют значение по умолчанию? На других языках, которые я знаю, таких возможностей нет (насколько я знаю). В других языках я знаю только о быстрой инициализации массива, элементы которого не гарантированно имеют значение по умолчанию, потому что они могут быть инициализированы в памяти, где лежит мусор.

Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос