程序性能调优教程

     

JDK21垃圾收集性能比JDK8快了10%

418

这篇文章主要介绍了JDK 21和其他版本的GC性能比较。作者通过使用SPECjbb® 20151基准测试来展示不同GC的性能提升。他比较了G1、Parallel和ZGC三种GC,发现它们在吞吐量、延迟.

Rust与Go中实现高性能解析JSON

253 7K

为了获得最佳性能,请尝试使用 Rust 或 Go。在这种使用情况下,它们的速度基本相当,它们都比 Java 快 4 倍,比 Python 快 6 倍。如果要解析 JSON 文件: 在 Go 中,使用 .

日志代码隐藏巨大性能陷阱

282 3 14K

场景:我们有一个记录器,它应该只记录特定级别的消息(例如,info和warn)error,但不记录低于它的消息(debug或trace)。在运行时的某个时刻,我们应该能够提高或降低阈值。一个简单的实现.

Go中切片slice的两种性能优化方法

94 2K

研究 Go 中的优化技术,优化一些似乎不太高效的最佳实践,主要是关于切片slice和映射map的。下面是我遇到的几个例子,作为开场白:1、在每次迭代时重新分配切片/映射: go for { queue.

为何苹果M1打败了英特尔?

373 4K

CISC与RISC有两种截然相反的芯片设计理念: CISC(复杂指令集计算机) RISC(精简指令集计算机) 要理解这一点,我们需要了解指令集的含义。CPU 每个时钟周期都在运行操作。这些操作包括在寄.

ReactJS前端性能优化6个小技巧

66

以下是一些提示优化图片和CSS/JS:大尺寸图片会降低扩展的运行速度。压缩图片并使用 WebP 等格式。实施懒加载,只在需要时加载图片。加速服务器请求:缓慢的服务器请求会成为性能瓶颈。使用缓存、CDN.

数据库连接池大小的调整原则

190 3K
配置连接池是开发人员经常犯的错误。配置池时需要理解几个原则(对于某些人来说可能违反直觉)。想象一下,您有一个网站,虽然可能不是 Facebook 规模的,但仍然经常有 10,000 个用户同时发出数据.

Rob Pike 的 5 条编程规则

132

Rob Pike 的 5 条编程规则强调简单性和衡量性,而不是过早的优化: 规则 1:你无法判断程序会在哪里耗费时间。瓶颈出现在令人吃惊的地方,因此在证明瓶颈所在之前,不要试图猜测并尝试快速破解。 规.

DoorDash 如何改进微服务缓存?

180 5K

随着 DoorDash 的微服务架构不断发展,服务间流量也在不断增长。每个团队管理自己的数据并通过 gRPC 服务公开访问权限,gRPC 服务是一个用于构建可扩展 API 的开源远程过程调用框架。由于.

量化交易好书和高频交易要点

73

以下是推荐的学习量化交易 Stats 的好书:1、统计学习要素(Elements of Statistical Learning)优点:统计学的圣经。全面而详细。必读。缺点:需要扎实的数学功底,对初学.

Java 并行 GC 调优

193 3K

并行垃圾收集器(Parallel GC)是 JVM 中引入的最古老的垃圾收集算法之一,旨在利用现代多核系统的处理能力。并行GC旨在通过利用多个线程并行执行垃圾收集来减少GC暂停的影响。什么时候使用并行.

OpenJDK使用Intel的x86-simd-sort将数据排序速度提高 7~15 倍

119

今年早些时候,英特尔发布了x86-simd-sort 作为使用 AVX-512 的超快排序库。当时流行的 Numpy 使用它时,他们发现 16 位到 64 位数据类型的排序速度提高了 10~17 倍。.

Java中Record比常规类快约 10%

136 4K

来自Oracle 的Java核心库开发人员: Hotspot VM 以特殊方式信任 Java 记录,与常规 Java 类相比,这使得它们的速度在某些方面更加优越。假设我们想要建模一个不可变点:publ.

用 Rust 编写一个非常快的Python linter

470 2K

Ruff 格式(https://github.com/astral-sh/ruff)是用于格式化 python 文件的新工具,它在底层使用了 ruff linter 的部分内容,这就是它创建如此之快并.

simdutf:每秒数十亿个字符的 Unicode 验证和转码

285 3K

大多数现代软件都依赖于Unicode 标准。在内存中,Unicode 字符串使用 UTF-8 或 UTF-16 表示。UTF-8 格式是网络上事实上的标准(JSON、HTML 等),并且已被许多流行编.