Hacker News new | past | comments | ask | show | jobs | submit login
Making the obvious code fast (jackmott.github.io)
23 points by dalailambda on Aug 4, 2016 | hide | past | web | favorite | 2 comments



Great work on the SIMDArray extensions, always nice to get speed while maintaining a functional style.

BTW, I don't think you need a third party library like Nessos to get that streaming behavior (iterating over the items in a single pass). Seq will do the job just fine. For example this code:

    let arr = [|1;2;3|]

    let sumSquares =
        arr
        |> Seq.map (fun x -> printfn "%i map" x; x*x)
        |> Seq.fold(fun sum x -> printfn "%i fold" x; sum + x)
will produce this output in F# Interactive:

    > 
    1 map
    1 fold
    2 map
    4 fold
    3 map
    9 fold

    val arr : int [] = [|1; 2; 3|]
    val sumSquares : int = 14


Nice article!




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: