tech
Go 高性能编程 EP8: 如何通过优化GC来提高Golang代码的性能
通过GOGC & GOMEMLIMIT 来手动控制 内存
tech
通过GOGC & GOMEMLIMIT 来手动控制 内存
tech
Control memory manually through GOGC & GOMEMLIMIT
tech
How to Optimize Go Code Performance with Benchmarking
tech
原文:Avoiding high GC overhead with large heaps 当分配的内存量相对较小时,Go垃圾收集器 (GC) 工作得非常好,但是如果堆的大小较大,GC过程可能会消耗大量 的CPU。在极端情况下,它甚至可能无法完成任务(GC算法保证GC不会使用超过50%的CPU时间,如果超过这阈值,会导致内存泄露)。 有什么问题? GC的工作是确定哪些内存块可被释放,它通过扫描内存中分配的指针来完成这一任务。简单来说,如果没有指针指向某个内存分配,则可释放该内存分配。这种方法非常有效,但需要扫描的内存越多,所需时间就越长。 这是一个大问题吗? 有多严重?我们来揭晓!以下是 demonstrate 的小程序。我们分配 1e9 个 8 字节指针,即约 8GB 的内存。我们强制执行 GC,并测量它需要多长时间。我们会重复几次以获得一个稳定的值。还调用 runtime.
tech
Understanding Cache Penetration and Mitigation Strategies
tech
缓解缓存穿透的最佳实践
tech
Introduction The primary mission of Golang is to simplify asynchronous programming. When faced with operations requiring batch processing and lengthy execution times, traditional single-threaded execution becomes cumbersome, prompting the need for asynchronous parallel processing. This article introduces some tips for asynchronous programming in Golang. This article was first published
tech
本文译文深入剖析了gRPC这款高性能RPC框架的不足,详细讨论了其陡峭的学习曲线、过度复杂的接口设计、不完善的HTTP/2兼容性、延迟的HTTP/3支持、JSON映射局限及大消息处理难题,帮助开发者全面认识并探讨gRPC优化改进的可能方向。
tech
在Go语言中进行性能优化时,首先需要了解当前的性能表现。通过使用Go语言标准库中的测试框架来进行基准测试,可以了解函数的执行速度、内存分配次数等指标,并使用`b.N`属性控制测试次数、`benchtime`控制测试时间等参数来提高测试的准确度。
tech
Practical Tips and Best Practices for Enhancing Reflection Performance
tech
Go反射高性能编程详解
tech
介绍一些Golang异步编程的技巧,包括使用go关键词、sync.WaitGroup、errgroup、channel、select语句等,帮助开发者提高异步编程的效率和安全性。