Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
程序性能调优教程
Rust Crossbeam非常快且性能优于Java Disruptor
当我打算构建 Rust 时低延迟交易应用,我的脑海里自然浮现出一个问题:有没有一个Rust库可以打败我在微服务中经常使用的Java Disruptor框架?Rust 有一个标准库 mpsc(M ulti P roducer Single C onsumer ),这个库的作用与 Jav
DoorDash高流量网页性能优化的经验教训
随着电子商务平台的发展,DoorDash 的 Web 应用程序开始变慢,并且需要提高性能的技术来保持它们的速度和功能。 在 DoorDash,随着 Web 应用程序的扩展,用户有时不得不等待长达 10 秒的 UI 才能加载——如果网络不好,可能会更
服务网格性能评估:Istio、Linkerd、Kuma 和Consul比较
现代应用程序通常由大量微服务组成,这些微服务在本地和云中分布的容器中运行。在这种情况下,服务网格是解决这些分布式微服务的安全性、连接性和可观察性挑战的基础设施层。但是,额外的组件层(来自 Mesh 基础设施)拦截所有流量对延迟的影响又如何呢? 在本
JDK 18 GC垃圾回收机制比较
从 JDK 18 开始,JDK 附带了四个垃圾收集器 (GC);串行 GC、并行 GC、G1 GC 和 ZGC。在大多数情况下,默认的 GC G1 GC 将是最佳选择。但是,了解 GC 的设计目标可能会有所帮助,并且可能会帮助您实现应用程序的性能目标。本文将对每个 GC 以及何时应该使用它们
JVM中CPU瓶颈查找方法
提醒你:如果你要对CPU瓶颈进行分析,不要依赖JVM FLIGHT RECORDER (JVM飞行记录仪)方法的分析。 一点 用也没有! 应该: 使用async-profile
分代ZGC早期访问构建版本发布
经过对 Generational(分代/世代) ZGC 的大量努力,第一个 Early Access 版本已在 jdk.java.net/genzgc 上发布并可供
SigNoz:开源微服务性能监控工具
SignNoz是一个开源应用性能监控(APM)和可观测性工具,它帮助开发人员监控他们的应用程序和解决问题,是DataDog、NewRelic等的开源替代品。监视你的应用,并可排查已部署应用中的问题,这是一个开源的可替代DataDog、NewRelic的方案SigNoz帮助开发
你应该知道的延迟数字
请注意,这些不是准确的数字。它们基于一些在线基准(Jeff Dean 的延迟数字 + 一些其他来源)。 L1 和 L2 高速缓存:1 ns、10 ns例如:它们通常内置在微处理器芯片上。除非您直接使用硬件,否则您可能不需要担心它们。 RAM 访问:100 ns例如:从内存中读
每个系统架构师都应该知道的五个性能指标
在本文中,我描述了每个系统架构师都应该知道的一些(非详尽的)性能指标。系统架构师的目标是设计和监督支持业务目标的 IT 基础架构的开发: 首先,我们需要了解系统架构师是做什么的:系统架构师负责设计、配置、操作和维护计算机和网络
JVM c1、c2 编译线程——CPU 消耗高?
c1, c2编译器线程是由Java虚拟机创建的,以优化你的应用程序的性能。偶尔,这些线程会倾向于消耗高CPU。在这篇文章中,让我们了解更多关于c1、c2编译器线程的情况,以及如何解决它们的高CPU消耗。 读完这篇文章后,像Hotspot JIT、c
Python 3.11比 3.8快三倍
Python 是一种流行但广受好评的解释性语言。它在性能方面取得了长足进步,最新版本显示我的系统显着加速。在 M1 Pro 上运行,我尝试了一些跨 Python 3.8、3.11、Bun 和 C++17 (-O2) 的 N 体模拟代码。 对
改变一个字符让Go程序快42%
codeowners是一个 Go 程序,它根据GitHubCODEOWNERS文件中定义的一组规则打印出存储库中每个文件的所有者。
通过一次GC调整使Python速度提高20%
Python有两种类型的内存管理: 主要是引用计数。对象会跟踪指向它们的变量的数量。如果这个数字达到了0,它们就会被立即删除,而且是确定性的。在没有统计数据支持的情况下,我猜测99.9%以上的内存是这样处理的。 0.1%:这里失败的一个案例是如果你有一个循环(想想有配
Java的类加载性能问题及解决办法 - DZone
Java在调用 Classloader.loadclass() 时线程会被阻塞,看它的源代码。下面是 ClassLoader.loadClass() 方法的源代码摘录。如果您想查看完整的源代码java.lang.ClassLoader,可以
JVM外部调试工具:JMXTerm
JMX 公开了管理“bean”(MBean),这些是表示应用程序中控制点的对象。您的应用程序可以发布自己的 bean,这让您可以公开运行时监控和配置的功能。这非常酷,因为您可以导出管理员可以直接连接到仪表板(APM、Prometheus、Grafana 等)的信息并将其用于决策。JM
Proebsting定律:编译器每18年只将计算能力提升一倍
我声称下面这个简单的实验支持这个令人沮丧的说法:用你最喜欢的最先进的优化编译器运行你最喜欢的一组基准测试。在启用和未启用优化功能的情况下运行这些基准。这些数字的比率代表了编译器优化对加速这些基准测试的全部贡献。让我们假设,对于典型的真实世界的应用,这个比率大约是4倍,让我们进
Java并发编程Bug:ThreadLocal已用完但未清除
在Java中,有许多技术可以确保线程安全。你可以使用synchronized和Lock等关键字来锁定代码块。但它们有一个共同的特点,那就是锁定会对代码的性能产生一定的损失。 其实,JDK中还提供了另一种思路,即:以空间换时间。没错,
大键如何影响Redis的持久性? - Xu
当我们开启 AOF 持久化有三种模式: 1、Always - 每当内存中有数据更新时,同步写入数据到磁盘。 2、EverySec - 每秒写入磁盘。 3、No - Redis 不控制何时将数据写入磁盘。相反,操作系统决定何时将数据写入磁盘。 下面分析
上页
下页
关闭