Skip to content
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

我觉得超高性能场景就用rust或者c/c++ 吧 #7

Open
hutu1st opened this issue Feb 14, 2022 · 5 comments
Open

我觉得超高性能场景就用rust或者c/c++ 吧 #7

hutu1st opened this issue Feb 14, 2022 · 5 comments

Comments

@hutu1st
Copy link

hutu1st commented Feb 14, 2022

No description provided.

@hutu1st hutu1st closed this as completed Feb 14, 2022
@heiyeluren
Copy link
Owner

XMM主要场景是想要自主管理内存的场景,在Go中想要自主管理内存不经过GC是没办法的~ 只能字节流等等比较粗糙的方式,针对这种场景所以才开发了XMM。
XMM主要就是应对哪些从C++转到Go的想要自主管理内存,还有用Go无法管理内存想转到Rust的这些用户;
目前版本就是手动Free内存,不是不加上GC功能,是加了GC,就是跟go内置GC一样了,绕了一圈又回去了,所以才选择这种方式;

@heiyeluren heiyeluren reopened this Feb 20, 2022
@heiyeluren
Copy link
Owner

另外,本质来说,XMM是为了解决那些想自己管理内存,提升程序性能,并不被GC影响性能的开发者和应用场景;如果一个CURD场景的,完全没必要使用XMM,内置的map/slice等基本就够用了。
XMM就是为了底层解决高性能以及自主内存可控制不会被GC影响等场景的问题存在的,就是为了弥补Go内置没有能够自己管理内存操作存在的。Go gc是一个大黑盒,几乎不暴露任何接口,对很多追求极致性能或者是想内存可控的程序员来说是非常痛苦的,只有自己遇到才会懂,所以才开发了XMM。

@bronze1man
Copy link

"我觉得超高性能场景就用rust或者c/c++ 吧"
我觉得 XMM 效果好的话还是有点用。
cgo接口性能是一个问题,另外 没人会写rust/c/c++的时候,先学后写太费时间了。

@jinsuojinsuo
Copy link

我觉得此库还挺有用的,1程序内缓存 像bigcache 要系列化反序列化,如果用此库就可以存储为go类型就可避免来回序列化,2.CGO场景 ,传给c的指针要避免被gc掉,用此库更好的与c结合

@heiyeluren
Copy link
Owner

@bronze1man @jinsuojinsuo 是的,两位大佬理解是对的~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants