Показать сообщение отдельно
Старый 27.09.2012, 00:50   #57
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений
(для 1,460 пользователей)
Ответ: Великая битва 4х языков программирования на простейшей задачке

код на F# с аллокацией и одновременной инициализацией массива:
open System
open Microsoft.FSharp.Collections;

let finalValues =
    let arrSize = 512 * 512 * 128
    let start = 19 * arrSize
    seq { for i in 0..arrSize-1 -> start + i } 
    
let enumerator = finalValues.GetEnumerator()
let getNext _ _ _ = 
    enumerator.MoveNext()
    enumerator.Current

let timeBefore = DateTime.Now
let yobaArray  = Array3D.init 512 512 128 getNext
let timeAfter  = DateTime.Now
printfn "Allocation and init time: %A" <| timeAfter - timeBefore

Console.ReadLine()
результаты:
Allocation and init time: 00:00:13.5615343
(Offline)
 
Ответить с цитированием