阿姆达尔定律(Amdahl‘s Law) 阿姆达尔定律Amdahls Law1、核心定义用来定量计算对系统中某一部分做并行 / 加速优化后整个系统理论上能达到的最大加速比上限。 核心结论 系统里无法并行、必须串行执行的那一小段代码决定了整个程序的性能天花板。2、公式符号说明\(S_{max}\)整体理论最大加速倍数f可以被并行加速的代码占总执行时间的比例N投入的并行工作单元CPU 核心、线程数。极端场景推演哪怕给无限算力加速比也被串行部分死死锁住。3、举直观例子例子 1一段程序80% 逻辑可以多线程并行20% 只能串行执行。 1只用单线程总耗时记为 T 2开到无限多核并行整个程序最快最多只能提速5 倍剩下那 20% 串行代码就是瓶颈堆再多 CPU 核心也没用。例子 2如果串行部分占到 50%无论开多少线程整体最多提速 2 倍。4、套到熟悉的 Java 多线程、NIO 场景场景大量 IO 等待网络读写、数据库等待可以并行但主线程初始化、全局锁争抢、单例串行计算、日志同步刷盘这部分是串行。 就算开几十上百条 Netty 工作线程整体吞吐上限被串行瓶颈卡死锁竞争激烈时临界区代码串行执行这部分就是公式里的 (1-f)锁越重f 越小多线程收益微乎其微NIO 优化把阻塞等待改成多路复用本质就是把大量串行阻塞等待变成可并行调度拉高f。5、通俗人话总结程序里串行跑不掉的代码是性能的天花板不要盲目堆线程、堆 CPU 核心优先优化串行瓶颈锁、同步阻塞、单线程繁重计算收益最大并行部分占比越高多核优化收益越明显串行占比越高多核基本白费。6、延伸小补充阿姆达尔是固定问题规模下的加速比 配套的古斯塔夫森定律是业务数据量跟着核心数同步变大时加速比会更高。日常后端调优优先看阿姆达尔。

相关新闻

最新新闻

Windows Server防火墙IP拦截实战:从原理到四种配置方法详解

Windows Server防火墙IP拦截实战:从原理到四种配置方法详解

1. 从一次深夜告警说起:为什么需要精确拦截IP 凌晨两点,手机突然震动,监控系统发来告警:一台部署在Windows Server 2019上的内部应用服务器,其登录页面在短时间内收到了来自一个陌生IP地址的上千次访问请求。虽然系统本…

2026/8/16 23:00:14
企业知识库 AI 助手(RAG 为主)产品与技术实现方案

企业知识库 AI 助手(RAG 为主)产品与技术实现方案

目录 一、项目背景与业务价值 (一)典型业务痛点 (二)可量化业务目标 二、行业内成熟项目与产品启示 (一)飞书智能伙伴:把 AI 嵌入协作入口 (二)钉钉 AI 助理&#…

2026/8/16 23:00:14
Overleaf Git同步认证失败排查指南:从HTTPS令牌到SSH密钥的解决方案

Overleaf Git同步认证失败排查指南:从HTTPS令牌到SSH密钥的解决方案

1. 问题引入:当Overleaf的Git同步突然“哑火” 如果你和我一样,习惯了在Overleaf上优雅地撰写LaTeX文档,并且为了版本控制和安全备份,将项目与Git仓库(比如GitHub、GitLab或Gitee)进行了关联,那…

2026/8/16 23:00:14
Spring AI(12) :ChatPDF-实现ChatPDF应用

Spring AI(12) :ChatPDF-实现ChatPDF应用

本章代码已分享至Gitee:https://gitee.com/lengcz/ai-study.git 文章目录 ChatPDF 介绍什么是 ChatPDF?ChatPDF 的核心工作原理一个简单的技术栈示例ChatPDF 的应用场景 如何实现chatpdf呢?分析准备工作(文件上传下载,向量写入)PDF处理 如何…

2026/8/16 23:00:14
LlamaIndex结构化输出实战:从RAG到智能体工作流的数据自动化

LlamaIndex结构化输出实战:从RAG到智能体工作流的数据自动化

1. 从“大海捞针”到“按图索骥”:为什么我们需要结构化输出?如果你用过早期的RAG(检索增强生成)系统,或者尝试过直接向大语言模型(LLM)提问,你大概率经历过这种“抓狂”时刻&#x…

2026/8/16 23:00:14
AIGC+PlantUML:用自然语言生成技术图表,重构高效文档工作流

AIGC+PlantUML:用自然语言生成技术图表,重构高效文档工作流

1. 项目概述:当AIGC遇上PlantUML,画图这件事彻底变了作为一名在技术文档和架构设计领域摸爬滚打了十多年的老手,我画过的图比我写过的代码行数可能还要多。从最初用Visio拖拽,到后来用各种在线工具,再到沉迷于代码画图…

2026/8/16 22:55:13