相关疑难解决方法(0)

当Generic.List <T> .Add是函数中的最后一个语句并且尾调优化打开时,性能会受到影响

我遇到了一个奇怪的性能损失,我已经归结为这段代码:

[<Struct>]
type Vector3(x: float32, y: float32, z: float32) =
  member this.X = x
  member this.Y = y
  member this.Z = z

type Data(n: int) =   
  let positions = System.Collections.Generic.List<Vector3>()
  let add j = positions.Add (Vector3(j, j, j))
  let add1 j = positions.Add (Vector3(j, j, j)); ()
  member this.UseAdd () = for i = 1 to n do add (float32 i)
  member this.UseAdd1 () = for i = 1 to n do add1 (float32 i)

let timeIt name (f: unit …
Run Code Online (Sandbox Code Playgroud)

.net f# cil

8
推荐指数
1
解决办法
140
查看次数

标签 统计

.net ×1

cil ×1

f# ×1