一个timeit函数F# [英] a timeit function for F#

查看:133
本文介绍了一个timeit函数F#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想写点东西像

let timeit (x:'a->'b) =
    let start = System.DateTime.Now
    x
    let duration = System.DateTime.Now - start
    printfn "time usage = %A" duration.Milliseconds 
    ()

它适用于

let matrixtest() =
    let x = vector[1.;2.;4.]
    let y = matrix[[1.;2.;4.;];[3.;4.;9.;]]
    printfn "%A" (y * x)
    ()

而不是

let rec fib x = 
        match x with
        | 0 | 1 -> 1
        | n -> fib (n-1) + fib (n-2)

SA F#是静态类型化的。

sa F# is static typed.

你知道吗?谢谢你。

推荐答案

即使是在你需要的功能应用到值矩阵情况。试试这个:

Even in the matrix case you need to apply the function to a value. Try this:

let timeit f v =
  let start = System.DateTime.Now
  let result = f v
  let duration = System.DateTime.Now - start
  printfn "time usage = %A" duration.Milliseconds 
  result

Aequitarum保管人是正确的关于使用秒表类,虽然。

这篇关于一个timeit函数F#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆