А вот мы решили создать List из уже существующего массива. Какой же способ выбрать, если нам важны наносекунды?
Ответ: любой.
Но если наносекунды нам действительно важны, то мы будем выбирать передачу массива в конструктор List'a. Внутри есть попытка каста
IEnumerable к ICollection, что позволяет создать внутренний массив нужного размера. Именно его расширение является замедляющим фактором и причиной аллокации при вызове банального метода Add.Инициализатор, конечно же, является синтаксическим сахаром многократного вызова метода Add (это отчётливо видно в IL).
