JavaScript Engines Benchmarks6 months agohttps://ivankra.github.io/javascript-zoo/JavaScript引擎动物园对比arm64架构:Mac M4 4.5GHz - Linux虚拟机amd64架构:i9-10900K 3.7GHz - Linux系统仅显示v8-v7版本基准测试对比指标包含:得分、二进制大小、代码行数、开发语言、JIT支持、活跃年份、目标平台、ES1-5支持、ES6支持、ES2016+支持、GitHub星标、贡献者数量、所属组织、开源协议、项目描述
Count Cachula – Local-first performance without the complexity6 months agohttps://countcachula.spooky.click/Count Cachula 提供本地优先的性能体验,且无需复杂配置。功能特性包括:即时UI更新、缓存标签、失效机制和智能预加载。核心优势:快速(立即返回缓存内容)、保鲜(自动缓存失效)、简单(直接替代fetch方法)。作为本地优先架构的替代方案,无需CRDTs、冲突解决和同步协议。采用'陈旧但重验证'策略:缓存即真相,服务端仍为数据源头。实现方式:即时响应+后台重验证、缓存标签分组失效、SSE智能失效通知、智能预加载。用户价值:数据立即可见、自动保持新鲜、服务端源头不变、完美兼容fetch。通过SSE连接实现服务端驱动的失效通知和预加载。服务端发送预加载提示预热缓存,数据变更时失效标签,客户端通过SSE自动更新。渐进式增强:从基础功能开始,按需添加SSE、缓存标签或预加载等特性。文档包含核心库、SSE扩展包和React钩子模块。
The Uselessness of "Fast" and "Slow" in Programming6 months agohttps://jerf.org/iri/post/2025/the_uselessness_of_fast/编程跨越巨大的数量级范围,从纳秒级到数月计算时长不等。由于这种广泛跨度,'快'和'慢'等术语在编程中往往缺乏实际意义。Web框架的性能指标常掩盖其他重要特性,事实上大多数框架对典型工作负载已足够高效。为数据库实现选择编程语言需谨慎评估性能需求,Go语言在高性能数据库场景中并非最优选择。应当避免过早优化,聚焦最关键的性能瓶颈而非细微低效。团队协作中的沟通障碍常源于未明确定义'快''慢'等术语,导致预期错位和项目延期。对Web服务的性能剖析可能揭示出乎意料的CPU占用情况,这与普遍认为数据库延迟是主要瓶颈的假设相悖。
Show HN: Tokenflood – simulate arbitrary loads on instruction-tuned LLMs6 months agohttps://github.com/twerkmeister/tokenfloodTokenflood是一款面向指令调优大语言模型的负载测试工具,无需特定提示/响应数据即可实现任意负载场景模拟支持自定义提示词长度、前缀长度、输出长度及请求速率来构建工作负载基于litellm框架开发,兼容litellm支持的所有供应商接口警告:若在按token计费服务中配置不当可能产生高额费用,请确保测试负载在预算范围内典型应用场景包括:自托管LLM的负载测试、硬件/量化方案效果评估、托管LLM供应商性能对比示例图表展示了提示参数变更对延迟的影响(如增加前缀token或减少输出token)采用启发式测试方法,通过token集合生成输入内容,无需准备具体提示数据内置安全机制包含:token用量预估、预算限制、错误率监控及预热请求检查通过pip和vllm完成安装,提供快速启动配置模板端点配置支持定义目标参数(供应商、模型、基础URL等),适配多种LLM服务商测试套件可定义多阶段测试,包括请求速率、负载类型及token预算等控制参数项目接受贡献,提供分支管理、测试规范及PR提交指南
Show HN: DNS Benchmark Tool – Compare and monitor resolvers6 months agohttps://github.com/frankovo/dns-benchmark-toolDNS基准测试工具是BuildTools网络性能套件的一部分。支持快速全面的DNS性能测试,具备DNSSEC验证、DoH/DoT协议支持及企业级功能。新增CLI命令:'top'查看解析器排名、'compare'并行对比测试、'monitoring'持续追踪性能。核心功能包括异步查询、多轮基准测试、统计分析、DNSSEC验证及DoH/DoT支持。适用场景:开发者优化API性能、DevOps验证解析器SLA、自托管用户对比DNS方案。通过pip安装:'pip install dns-benchmark-tool'。基础用法:'dns-benchmark benchmark --use-defaults'。高级功能:区域传输、动态更新、合规报告及国际化支持。企业特性:TSIG认证、区域传输验证及动态DNS更新。即将推出托管版,支持多区域测试、历史追踪和告警功能。
Pingap: Simple and efficient reverse proxy based on pingora6 months agohttp://pingap.io/pingap-en/Pingap是一个单一、自包含的可执行文件,原生支持ARM和x86架构。基于musl提供完全静态链接的构建,确保跨Linux发行版的兼容性。内置Web管理界面,简化设置、部署和维护流程。采用灵活的插件化架构设计,可适应多样化使用场景。包含认证模块、动态数据压缩、静态资源服务及缓存等插件功能。基于Rust语言开发,使用Pingora框架实现高性能与内存安全。通过Rust的并发模型实现高网络吞吐量与低延迟。在严苛的生产环境中保障安全性与可靠性。
Bytes before FLOPS: your algorithm is (mostly) fine, your data isn't6 months agohttps://www.bitsdraumar.is/bytes-before-flops/在优化前先分析代码性能,找出真正的瓶颈所在。针对数据特点定制算法以获得更佳性能。优化数据访问模式,使其对缓存友好。在可能的情况下使用SIMD指令进行向量化处理。通过并行处理获取额外速度提升。注意多线程场景下的伪共享问题。考虑数据布局和结构体填充以提升缓存效率。使用hyperfine、perf、VTune和godbolt.org等工具进行分析。脚本语言可能不适合高性能需求场景,建议优先选择C/C++/Rust等系统级语言。
Linux Patches Improve Intel Nested VM Memory Performance Up to ~2353x in Test6 months agohttps://www.phoronix.com/news/Intel-Nested-VM-Faster-MemoryAWS工程师优化了Linux内核的KVM VMX代码,提升了嵌套虚拟机的性能。补丁修复了非托管客户机内存的正确性和性能问题。新实现采用gfn_to_pfn_cache机制,降低开销并确保正确的无效化操作。合成基准测试显示显著加速:映射操作提升约17倍,分块取消映射提升约2014倍,整体取消映射提升约2353倍。该优化主要针对EC2 Nitro实例,提高了嵌套虚拟化效率。
The Rust Performance Book6 months agohttps://nnethercote.github.io/perf-book/《Rust性能之书》于2020年11月首次出版。该书由Nicholas Nethercote等人编写。本书包含导航快捷键:←或→用于章节间导航,S或/进行搜索,?显示帮助,Esc键隐藏帮助。
B-Trees: Why Every Database Uses Them6 months agohttps://mehmetgoekce.substack.com/p/b-trees-why-every-database-uses-themB树是数据库用于高效查找磁盘数据的基础数据结构,因为磁盘访问速度远慢于内存访问二叉搜索树(BST)在磁盘上效率低下,因为每个节点访问都需要磁盘寻道,I/O开销过高B树通过高扇出特性(每个节点包含多个子节点)解决BST的缺陷,降低树高度并最小化磁盘寻道B树具有自平衡特性,其节点大小设计为匹配磁盘块(通常4KB到16KB),从而优化磁盘I/O性能B树操作(查找/插入/删除)具有对数时间复杂度,能高效处理大规模数据集MySQL、PostgreSQL、SQLite和MongoDB等主流数据库采用B树(或其变种B+树)作为索引结构B树通过有序键值和叶子节点链表高效支持范围查询B树的权衡点包括节点分裂/合并时的写放大问题,以及缓存节点带来的内存开销对于写入密集型场景LSM树更优,而内存数据库通常选择哈希索引或跳表凭借性能、效率与范围查询支持的完美平衡,B树仍是磁盘存储领域的主导结构
Inside Rust's std and parking_lot mutexes – who wins?6 months agohttps://blog.cuongle.dev/p/inside-rusts-std-and-parking-lot-mutexes-who-winRust标准库的std::sync::Mutex与parking_lot::Mutex对比分析std::Mutex采用平台特定实现(如Linux的Futex),而parking_lot使用统一算法parking_lot在用户空间自主管理线程队列,内存占用更小(1字节 vs std的较大体积)parking_lot实现'最终公平性'机制避免线程饥饿,而std可能出现锁获取不公平现象基准测试显示:std::Mutex在低竞争场景性能更优,parking_lot在高竞争和突发负载下表现突出parking_lot提供更可预测的行为,防止线程垄断,这对高负载下的公平性至关重要选型指南:低竞争/短临界区用std::Mutex;追求公平性、可预测性及高竞争场景选用parking_lot
Experimenting with Robin Hood Hashing6 months agohttps://twdev.blog/2025/11/robin_hood/文本展示了一系列基准测试,对比了罗宾汉哈希表(RHHT)与std::unordered_map的性能表现基准测试包括插入操作、顺序与随机查找、混合工作负载(90%读取+10%写入)以及缓存行为测试测试针对不同规模(1千/1万/10万元素)和负载因子(75%/90%)进行基准测试测量了每迭代处理条目数、内存使用等性能指标代码包含generateTestData等工具函数,用于生成基准测试所需的随机化测试数据
Unifying our mobile and desktop domains6 months agohttps://techblog.wikimedia.org/2025/11/21/unifying-mobile-and-desktop-domains/维基百科统一了移动端和桌面端域名,消除了对移动用户的跳转这一变更使移动端响应速度提升20%,并改善了搜索引擎优化此前移动用户会被重定向至独立域名(如en.m.wikipedia.org)谷歌停止支持独立移动域名,导致SEO问题和响应速度下降域名统一将CDN清除率降低50%,有效减轻了基础设施负载维基媒体资源库Commons在变更后来自谷歌的推荐流量增长100%链接分享体验得到改善,所有用户现在共享同一域名并自动显示适配版本该项目解决了长期存在的移动链接问题,整体提升了网站性能
GNU C Library Sees Up to 12.9x Improvement with New Generic FMA Implementation6 months agohttps://www.phoronix.com/news/Glibc-New-Generic-FMAAdhemerval Zanella为GNU C库贡献了新的通用FMA实现方案新实现主要采用整数运算,避免了设置舍入模式带来的性能开销修复内容包括:信号NaN问题、使用math_uint128.h进行64位乘法运算、arm32舍入模式修复该实现展现出显著的性能提升,某些情况下可达12.9倍加速Glibc 2.43将包含来自CORE-MATH项目的额外优化数学函数已添加remainder、frexpf等函数的优化实现版本将多个函数的SVID处理移至兼容符号,从而提升性能Glibc 2.43计划于2024年2月正式发布
HAProxy 3.3 Released6 months agohttps://www.haproxy.com/blog/announcing-haproxy-3-3HAProxy 3.3 推出由HAProxy Technologies编译的可下载安装包增强的TLS功能包括:扩展的ACME支持、自动SNI、加密客户端问候(ECH)和内核TLS通过重载时保持统计信息实现可观测性提升,确保指标连续性性能优化包含:默认负载均衡算法改为'random',改进的CPU/内存管理后端实验性支持QUIC协议,为未来兼容性做准备新增安全特性:OAuth认证改进和TCP MD5签名支持可用性增强:版本命令选项及对弃用功能的警告提示子系统现代化改造:为小程序分配专用缓冲区以减少争用弃用功能涉及部分后端指令和全局QUIC相关指令重大变更包括:最低Linux内核版本要求更新及移除程序段(program section)
DuckDB 1.4.2 LTS6 months agohttps://duckdb.org/2025/11/12/announcing-duckdb-142DuckDB 1.4.2 LTS版本发布,包含错误修复与性能优化修复了数据库加密漏洞并新增可选日志记录器/分析器功能通过Iceberg扩展实现完整写入支持Iceberg扩展现已支持insert/update/delete语句日志改进包括记录HTTP请求耗时及访问分析器输出分析器新增深度查询执行分析指标性能优化包含WAL索引删除缓冲及加速数据库分离新增Linux/macOS系统对Vortex文件格式的支持修复了多个安全漏洞、崩溃问题、内部错误、错误结果及功能退化
New Linux Patches Enhance Single-Threaded Performance on Many-Core CPUs6 months agohttps://www.phoronix.com/news/Better-ST-Perf-Many-Core-CPUs新Linux补丁旨在提升多核CPU上的单线程性能优化重点针对Linux内核中跟踪内存使用统计的'rss_stat'结构该补丁系列解决了高核数系统中每CPU内存分配的性能问题通过对单线程应用的特殊处理,采用本地计数器处理多数更新、原子计数器处理远程更新,从而降低开销性能提升包括:合成基准测试中6-15%,kernbench等实际基准测试中1.5%这些补丁可能使AMD EPYC和Threadripper等高核数系统受益
Progress on TypeScript 7 – December 20256 months agohttps://devblogs.microsoft.com/typescript/progress-on-typescript-7-december-2025...TypeScript团队正在将编译器和语言服务移植到原生代码(项目代号Corsa,即将发布的TypeScript 7.0),以获得更好的性能、内存使用和并行处理能力。原生预览版现在在编辑器中运行快速、稳定且可用,代码补全、跳转到定义和重命名等大多数功能已重新实现。TypeScript 7.0编译器在类型检查方面已接近完成,--incremental和--build模式等主要功能基本实现,速度显著提升(最高可达10倍)。TypeScript 7.0将移除TypeScript 6.0中已弃用的行为和标志,需要更新部分tsconfig.json配置以确保兼容性。TypeScript 7.0中的JavaScript输出管道和--watch模式尚未完全完成,对旧版运行时和装饰器的支持有限。TypeScript 6.0将是最后一个基于JavaScript的版本,作为过渡到TypeScript 7.0的桥梁,未来更新将受限。由于新架构的变更,语言服务相关的问题正在重新整理,需要针对原生预览版提交新的问题报告。鼓励用户尝试VS Code的原生预览版扩展并提供反馈,以帮助确定剩余工作的优先级。
It's Not Always ICache5 months agohttps://matklad.github.io/2021/07/10/its-not-always-icache.html文章探讨了Rust中内联优化的影响,对性能下降通常归因于指令缓存(ICache)未命中的普遍观点提出质疑。作者使用`once_cell` Rust库进行基准测试,重点观察`initialize`函数的内联效果。结果显示`#[inline(never)]`明显比`#[inline(always)]`更快,但差异与ICache未命中并无明确关联。通过`perf stat`和`cachegrind`工具分析性能计数器和指令数,发现内联会增加执行指令的总数。汇编代码分析表明,内联会导致更长的函数序言/尾声、更多寄存器使用以及潜在的循环劣化,而非ICache问题。文章总结认为内联减速的真正原因是指令数增加和寄存器压力,建议使用`perf`和`valgrind`工具进行精确分析。
Euler Conjecture and CDC 66005 months agohttps://fortran-lang.discourse.group/t/euler-conjecture-and-cdc-6600/10501编译时计算的数据会增加可执行文件的大小和加载时间。运行时内存分配和填充可以显著更快(快10^3到10^5倍)。可执行文件大小仅反映声明的数组(如果是参数数组、编译时初始化或在公共块中)。编译时计算需要计算所有元素,可能效率低下(例如10^4个元素)。运行时计算可以提前终止(例如计算144个元素后停止)。计算中的额外开销应合理计费(用户时间与系统时间)。程序员可能根据运行环境选择优化实际耗时或CPU时间。POSIX的time命令返回三个时间值以区分总耗时、用户态时间和内核态时间。计时结果在多次运行中可能波动,尤其是对短小代码段的测量。