测试 PSeq

来源:互联网 发布:csgo手机菠菜软件 编辑:程序博客网 时间:2024/04/29 20:55

测试 PSeq

#light

#r @"C:\Program Files\FSharpPowerPack-2.0.0.0\bin\FSharp.PowerPack.Parallel.Seq.dll"
// 
// PSeq 在 Microsoft.FSharp.Collections 这个命名空间下
open Microsoft.FSharp.Collections

let nums = [|1..500000|]

let isPrime n =
    let rec check i =
        i > n/2 || (n % i <> 0 && check (i + 1))
    check 2

let finalDigitOfPrimes =
        nums
        |> Seq.filter isPrime
        |> Seq.groupBy (fun i -> i % 10)
        |> Seq.map (fun (k, vs) -> (k, Seq.length vs))
        |> Seq.toArray 


let finalDigitOfPrimesP =
        nums
        |> PSeq.filter isPrime
        |> PSeq.groupBy (fun i -> i % 10)
        |> PSeq.map (fun (k, vs) -> (k, Seq.length vs))
        |> PSeq.toArray 

==========

val finalDigitOfPrimes : (int * int) [] =
  [|(1, 10387); (2, 1); (3, 10382); (5, 1); (7, 10403); (9, 10365)|]


val finalDigitOfPrimesP : (int * int) array =
  [|(1, 10387); (9, 10365); (2, 1); (3, 10382); (5, 1); (7, 10403)|]

原创粉丝点击