Balanced GC: A Copying Garbage Collector for Golang - Yifei Zhang

  Рет қаралды 1,912

Gopher Academy

Gopher Academy

Күн бұрын

Пікірлер: 5
@felix.geisendoerfer
@felix.geisendoerfer 8 ай бұрын
Very interesting work. Was the code for this GC published?
@user-ov5nd1fb7s
@user-ov5nd1fb7s 8 ай бұрын
I don't think this is a good solution. Fix your Go code, instead of trying to develop complex systems of multiple garbage collectors.
@nikolaevkirill
@nikolaevkirill 8 ай бұрын
The problem appears at scale. If you have a load on an API that allocates temporary objects at a middleware stage, there's no "fix your go code" that can be done. It's an optimization that pays off if you have enough services that save you 4%. I like it that they used existing go code instead of proposing an expensive rewrite in some lower-level language.
@user-ov5nd1fb7s
@user-ov5nd1fb7s 8 ай бұрын
@@nikolaevkirill it's not a viable solution to have thousands of idiots allocating memory everywhere and then a few people trying to fix these monstrosities. And btw, these are the same people that advocate for these dogmas that produce code like this. And most of them don't see the problem. It's a sad state of affairs. And people all around you will claim performance doesn't matter. Computers are so fast and have so much memory. Speed of development is most important. And all the rest of these stupid ideas. Performance is always important. People should learn to write fast code out of the box. What should have happened, instead of making another GC, all devs that wrote this stupid code should have been fired and returned all the money they took for salaries.
@nikolaevkirill
@nikolaevkirill 8 ай бұрын
​@@user-ov5nd1fb7s If you need to parse input string and transform it to a structured output, you have to use memory. With the most minimalistic approach when each piece of memory is actually used, you still end up allocating memory. If the service is designed to work under high load, you end up allocating memory per each interaction (user request or event). Go as any other GC language can manage the memory for you, but the cost is allocating memory per object. I don't believe this has anything to do with what people think or what code they produce. It's just GC has it's own limits, that's why manual memory management is considered the only alternative. Usually to do so people suggest to use rust/c, but here we can see a pretty interesting take on manual memory management within go. Again, I think this is not a skill issue, as manual memory management will always be superior to GC.
Reliably Absorbing a Go Release - Madhav Jivrajani
25:30
Gopher Academy
Рет қаралды 491
Управление памятью и сборщиком мусора в Go
47:26
Московский клуб программистов
Рет қаралды 12 М.
They Chose Kindness Over Abuse in Their Team #shorts
00:20
I migliori trucchetti di Fabiosa
Рет қаралды 12 МЛН
Perfect Pitch Challenge? Easy! 🎤😎| Free Fire Official
00:13
Garena Free Fire Global
Рет қаралды 93 МЛН
How To Choose Mac N Cheese Date Night.. 🧀
00:58
Jojo Sim
Рет қаралды 82 МЛН
What type of pedestrian are you?😄 #tiktok #elsarca
00:28
Elsa Arca
Рет қаралды 27 МЛН
Build Your Own Distributed System Using Go - Philip O'Toole
42:32
Gopher Academy
Рет қаралды 9 М.
ML 114
5:52
Sams Class
Рет қаралды
Java's G1 Garbage Collector
25:55
Java
Рет қаралды 16 М.
Clean Up Your GOOOP: How to Break OOP Muscle Memory - Dylan Bourque
33:21
High-Assurance Go Cryptography - Filippo Valsorda
47:29
Gopher Academy
Рет қаралды 1,8 М.
Garbage Collection (Mark & Sweep) - Computerphile
16:22
Computerphile
Рет қаралды 246 М.
Obscure Go Optimisations - Bryan Boreham
51:07
GopherCon UK
Рет қаралды 10 М.
Understanding Allocations: the Stack and the Heap - GopherCon SG 2019
21:39
They Chose Kindness Over Abuse in Their Team #shorts
00:20
I migliori trucchetti di Fabiosa
Рет қаралды 12 МЛН