goframe框架的gmutex就是给官方的库扩展了几个方法?为什么他文档里面基准测试比官方库好呢?

文档:https://goframe.org/docs/components/os-gmutex#%E5%9F%BA%E5%87...

源码:https://github.com/gogf/gf/blob/master/os/gmutex/gmutex_mutex.go

自己定义了个类型,把官方的Mutex内嵌进来,然后自己再添加了几个实用方法而已。

lock和unlock方法都是官方的Mutex,这文档里面的基准测试为什么说比官方好呢?

自己本机电脑测试,同样的一对lock和unlock,并没有什么区别。

2025-03-31T17:59:47.711+08:00 lock1 done
goos: windows
goarch: amd64
pkg: github.com/gogf/gf/v2/os/gmutex
cpu: 11th Gen Intel(R) Core(TM) i5-11400 @ 2.60GHz
Benchmark_Mutex_LockUnlock-12           19784415                60.89 ns/op
Benchmark_RWMutex_LockUnlock-12         22215721                52.93 ns/op
Benchmark_RWMutex_RLockRUnlock-12       49664350                23.53 ns/op
Benchmark_GMutex_LockUnlock-12          21198753                55.72 ns/op
Benchmark_GMutex_TryLock-12             642426830                1.694 ns/op
Benchmark_GMutex_RLockRUnlock-12        54131838                23.53 ns/op
Benchmark_GMutex_TryRLock-12            15557462                77.84 ns/op

第二行和第四行对应,第三行和第六行对应。
gf文档里面里面的时间少了一半。

阅读 305
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题