性能測試
Case1:求數(shù)據(jù)集中某個(gè)字段的最大值
// 常規(guī)方法
func NormalIDMax(records []Record) int64 {
max := int64(math.MinInt64)
for _, r := range records {
if r.ID > max {
max = r.ID
}
}
return max
}
// linq方法
func LinqIDMax(records []Record) int64 {
return linq.From(records).Select(func(i interface{}) interface{} {
return i.(Record).ID
}).Max().(int64)
}
benchmark 結(jié)果如下

從上圖可以看出,常規(guī)方法的速度是 linq 的110倍左右,linq進(jìn)行了大量的內(nèi)存分配操作,不慢才有鬼了