程序性能调优教程

     

OpenJDK微软版本默认启用增强型逃逸分析

296 1

OpenJDK 17.0.8 增强功能: 包括一个新功能(请参阅JDK-8287061和JDK-8289943),通过增加标量替换的机会数量来提高逃逸分析的性能。现在默认启用此功能。要禁用它,开发人员.

fury:由jit和零拷贝支持的超快序列化框架

841 3K

阿里alipay的Fury是一个极快的多语言序列化框架,由jit(即时编译)和零拷贝提供支持,提供高达 170 倍的性能和终极易用性。仅用于序列化通过使用fury将Java对象转换为字节流,您可以获得.

PostgreSQL锁有多少?

358

数据库锁只有两种类型:共享锁和排他锁?那你就大错特错了。Postgres中有许多类型的锁,这里是一个小工具,可以显示postgres中的所有锁,以及每个冲突是如何发生的:该工具显示 postgres .

PostgreSQL正在考虑将基于进程的模型迁移到线程模型

343

PostgreSQL 在大型系统上的扩展性不佳,主要是因为基于进程的模型都消耗了资源。并非所有数据库都有这个问题,如果不进行某种重大的架构更改,PostgreSQL 就无法停止这个问题。Postgre.

从Java迁移到GraalVM启动快10倍

593 2K

从 Java 迁移到 GraalVM Native,应用的启动时间从大约30秒缩短到大约3毫秒,更重要的是,内存使用量也从6.6 GB大幅减少到1 GB,而吞吐量和CPU利用率保持不变。作为一次性电子.

提高 opensearch-java 中的 JSON 解析性能

582 6K

作为一名开源爱好者,我相信协作的力量可以使开源项目更快、更高效。在这篇博文中,我将分享我的Linagora团队如何与 OpenSearch 社区合作,使用基准测试工具和火焰图识别并解决 OpenSea.

让Postgres快30%的方法

695 26K
任何一个大规模运行Postgres的人都知道,性能是有代价的。典型的玩法是在数据库前放置一个像PgBouncer这样的池子,并打开事务模式。这使得多个客户端可以重复使用同一个服务器连接,这使得成千上万.

MySQL表真有20M行数的软限制吗?

316

互联网上有传言说我们应该避免在单个 MySQL 表中有超过 2000 万行。否则,表的性能会下降,当它超过软限制时,你会发现 SQL 查询比平时慢得多。这些判断是多年前对HDD做出的。我想知道 202.

揭秘 Golang 通道、Goroutine 和最佳并发的测试源码

390 2K

本github源码试图追问Golang 中的并发何时有意义,什么时候收益递减?作者背景当我深入研究 Golang 时,我想回答这个问题:Golang 中的并发何时有意义,什么时候收益递减?因此,我创建.

Java集合clear方法与赋空值比较

569

我们中的一些人可能熟悉Java 集合框架中的clear() API。在这篇文章中,让我们讨论这个 clear() API 的目的是什么?使用此 API 对性能有何影响?调用此 API 时,JVM 下会.

为避免NumberFormatException如何检查字符串是否为数字?

490 12K

在本文中,我们将通过几种方法检查 String 在 Java 中是否为数值型?使用内置方法最简单的方法是使用 Java 中的内置方法,例如Double.parseDouble(String str)。.

使用VisualVM调优SQL执行效率

408

VisualVM 是一种工具,它提供可视化界面来显示有关在 Java 虚拟机 (JVM) 上运行的应用程序的详细信息。VisualVM 设计用于开发和生产。VisualVM 提供轻量级分析工具,包括 .

Java最新垃圾回收器ZGC升级:世代ZGC

527

ZGC ( JEP 333 ) 专为低延迟和高可扩展性而设计。自 JDK 15 ( JEP 377 )以来,它已可用于生产。ZGC 在应用程序线程运行时完成大部分工作,只是短暂地暂停这些线程。ZGC .

Bob大叔和Casey讨论整洁代码:性能与设计的平衡

911 9K

我从你那里看到的关于清洁代码的大多数解释包括我在视频中提到的所有事情:喜欢继承层次结构而不是if/switch语句,不暴露内部("德墨忒尔法则 Law of Demeter"),等等。但听起来你听到我.

“干净”的代码,糟糕的性能 - Muratori

723

这篇文章论证使用鲍勃大叔的Clean干净代码原则编程,速度差异20- 25倍! 详细点击标题如果您查看一个“干净”的代号摘要,并提出取出现实影响代号结构的规则,您会得到: 偏好的多态性而不是“if/e.

服务器制约伸缩性的四种关键资源

925 1

计算机服务器有4种关键资源来驱动其功能。大多数可伸缩性问题都是在这些资源耗尽或分配不当时出现的。内存(也称为RAM)在服务器中起着至关重要的作用,因为它临时存储数据,以供中央处理器(CPU)快速访问和.

如何更快地用Java获取MySQL BLOB数据?- wix

1197 3K

如何以最快的响应时间从 MySQL 中获取整个 blob?MySQL是否适合存储二进制数据的问题我们先搁置一旁。这里的问题是如何存储二进制数据,以便尽可能快地从数据库中读取数据?解决方案可能是使用数据.

Java 21实现了性能改进

1931 3K

 在 Java 21 中,由于最近在 Java 核心库中进行了内部性能优化,旧代码的运行速度可能会大大加快。在本文中,我们将仔细研究其中的一些变化,看看您最喜欢的编程语言变得有多快。在将原始值(如in.

面向数据设计带来更好的性能

1119 2K

通过将应用数据放置在后续内存区域中获得更高性能。这使得CPU更容易加载和工作。经典的面向对象编程 (OOP) 将其数据放在内存中,就像意大利肉酱面一样——对象和指针都混在一起了。这很好,直到您想对数据.

Kafka 如何实现低延迟? - foojay

1105

大多数 Apache Kafka 基准测试似乎测试的是高吞吐量而不是低延迟。Kafka 传统上用于高吞吐量而不是对延迟敏感的消息传递,但它确实具有低延迟配置:(主要是设置 linger.ms=0 并减.

Java流比pyspark性能提高了几十倍 - Reddit

995 2K

我试图在一些大 CSV 文件的每一行上运行一些自定义逻辑,大约 10 GB数据。尝试过 python 数据帧、python 中的多处理、pyspark。他们都没有在可接受的时间内完成。然后我发现了ja.

10个技巧优化Elasticsearch查询性能

2408

关于如何减少 Elasticsearch 搜索延迟和优化搜索性能的 14 个技巧:size参数为 size 参数分配一个巨大的值会导致 Elasticsearch 计算大量的命中,从而导致严重的性能问.

Java 18:Vector API自动加速

1453 2K

我们需要了解提前机器代码生成AOT和即时机器代码生成JIT之间的根本区别:提前机器代码生成:提前 (AoT) 机器代码生成发生在编译时。这种技术用于 C++ 等语言。在编译过程中,源代码被转录为机器代.

在K8s中调整JVM提高CPU和内存利用率 - Anurag

3011 4K

JVM 是有史以来最古老但功能最强大的虚拟机之一。每当一个新的 JVM 进程启动时,所有需要的类都会被ClassLoader的一个实例加载到内存中。这个过程分三个步骤进行:Bootstrap 类加载:.

通过一次GC调整使Python速度提高20%

1187

Python有两种类型的内存管理: 主要是引用计数。对象会跟踪指向它们的变量的数量。如果这个数字达到了0,它们就会被立即删除,而且是确定性的。在没有统计数据支持的情况下,我猜测99.9%以上的内存是这.

改变一个字符让Go程序快42%

1196 6K
codeowners是一个 Go 程序,它根据GitHubCODEOWNERS文件中定义的一组规则打印出存储库中每个文件的所有者。在考虑给定路径时,最后匹配的规则获胜:一个简单但幼稚的匹配算法通过每条.

每个系统架构师都应该知道的五个性能指标

1700

在本文中,我描述了每个系统架构师都应该知道的一些(非详尽的)性能指标。系统架构师的目标是设计和监督支持业务目标的 IT 基础架构的开发:首先,我们需要了解系统架构师是做什么的:系统架构师负责设计、配置.

Python 3.11比 3.8快三倍

1652 2K

Python 是一种流行但广受好评的解释性语言。它在性能方面取得了长足进步,最新版本显示我的系统显着加速。在 M1 Pro 上运行,我尝试了一些跨 Python 3.8、3.11、Bun 和 C++1.

分代ZGC早期访问构建版本发布

1154 1

经过对 Generational(分代/世代) ZGC 的大量努力,第一个 Early Access 版本已在 jdk.java.net/genzgc 上发布并可供测试。分代ZGC具有更高分配率和更大.

Rust Crossbeam非常快且性能优于Java Disruptor

2267 2

当我打算构建 Rust 时低延迟交易应用,我的脑海里自然浮现出一个问题:有没有一个Rust库可以打败我在微服务中经常使用的Java Disruptor框架?Rust 有一个标准库 mpsc(M ult.