-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
调研:使用 go-clone 的业务场景 #15
Comments
我目前的使用场景比较简单就是 Clone ,非要特别指出的话可能是"偶尔需要做快照之后进行比对?",但貌似也不好给到一个通用 Compare 方法,这点倒无需在意。 其实对于此库,我比较期望的是能有 Copy 方法。 关于内存管理,我了解的不多,但是刚刚查看最新的 commit 才发现 allocator 有 sync.Pool 的相关支持,看了
|
这个可以有,不过我感觉超出了 clone 的范畴了,恐怕需要用另一个新的库来实现比较好。当前有几个专门做 copy 的库,不过基本上都是通过 JSON 或 做 struct to struct 的 copy 的话,无法用上 go-clone 里面的 unsafe 技巧,基本上都是基于 reflect 的 field to field copy,最多可以用上 sonic 的 JIT 机制。如果有时间我会考虑尝试一下写个原型,可能新开一个项目吧。
这是为了让 我觉得使用
|
感谢。 |
其实 要想简单的实现多种 type 的复用,得使用 go1.20 的 而 |
将讨论迁移到 #17。 |
大家好,我是这个库的作者,我很想调研一下大家是如何在项目中使用这个库的,请告诉我用法、使用的原因、相关业务场景。
我想通过这样的调研了解这个库的适用范围,从而帮助我更好的发展这个库。我的目标是,在 Go runtime 允许范围内提供一些尽可能高效的内存拷贝 API,满足各种性能敏感场景中的内存管理需求。经过这么多年的研究和积累,特别是通过这个库实践出来的很多有趣的 trick,一定程度上证明了 Go runtime 中内存管理相关机制的可塑性。如果我能更好的理解大家的用法和需求,我认为我可以将内存拷贝和管理这件事情做的更好,让这个库产生更大的价值。
欢迎大家在这个 issue 下面留言,我都会看到并跟大家讨论。感谢大家!
The text was updated successfully, but these errors were encountered: