50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

“这是我迄今见过的最大提速”:FFmpeg 开发者因手写汇编再提速 100 倍而自豪

  • 2025-08-20
    北京
  • 本文字数:1210 字

    阅读完需:约 4 分钟

“这是我迄今见过的最大提速”:FFmpeg 开发者因手写汇编再提速 100 倍而自豪

FFmpeg 项目背后的开发者们再次声称,通过运用手写汇编代码的艺术,性能得到了重大提升。在应用了 最新 的补丁后,用户应该能在跨平台开源媒体转码应用程序中看到“100 倍的速度提升”。



“这是迄今为止我见过的最大提速”


去年 11 月,我们报道了 FFmpeg 性能提升的消息,该提升可以使某些操作速度提高多达 94 倍。最新的手写汇编补丁将应用程序的“rangedetect8_avx512”性能提高了 100 倍。如果你的现代处理器不支持 AVX512,那么使用 rangedetect8_avx2 代码路径仍然可以看到 64% 的提升。


你将在哪里感受到这些速度提升?在一些后续的推文中,FFmpeg 开发者承认“这是一个单一的功能,现在快了 100 倍,而不是整个 FFmpeg。”他们后来进一步解释说,根据你的系统,可能享受到 100% 速度提升的功能是“一个不常用的过滤器”。


这个功能的不常用意味着它直到现在才被开发者优先考虑。但我们也知道,过滤器代码是使用 SIMD(单指令,多数据)处理概念进行重新编码的,以极大地改善当今强大芯片上的并行处理。


显然,编译器——将高级语言代码转换成汇编(机器)代码的程序——仍然无法与手写汇编程序竞争。或者你可以说,“编译器的寄存器分配器很糟糕”,正如 FFmpeg 今天在推特上所说的那样。



(图片来源:FFmpeg)


汇编语言的福音传道者


回顾 20 世纪 80 年代和 90 年代家庭计算的黄金时代,当时固定规格系统的生命周期为 5 年——并且严格限制了处理资源——手写汇编代码优化在加速计算机、游戏和其他软件的业务中扮演了更重要的角色。


FFmpeg 或许是为数不多的“汇编福音传道者”之一。开发团队甚至还经营着一 所“学校”。


FFmpeg 工具和库可以在 Linux、Mac OS X、Microsoft  Windows、BSDs、Solaris 等系统上运行。最受欢迎的视频播放器软件之一,VLC,使用了 FFmpeg 项目中的 libavcodec 和 libavformat 库。


原文链接:


https://www.tomshardware.com/software/the-biggest-speedup-ive-seen-so-far-ffmpeg-devs-boast-of-another-100x-leap-thanks-to-handwritten-assembly-code


声明:本文为 InfoQ 翻译整理,不代表平台观点,未经许可禁止转载。


今日好文推荐


180 天狠赚 5.7 亿,8 人团队全员财富自由,最大功臣是 Claude 和 Gemini


颠覆 Cursor,AI 编程不再需要 IDE!用并行智能体重构开发范式,MongoDB CEO 高调站台


弃 Python 拥抱 JVM,Spring 之父 20 年后再造“革命性框架”:我从未如此确信一个新项目的必要性


从 3 个月业余项目到全球第一语言!Python 之父坦言:当年“将就”的代码,如今全都真香了


会议推荐


首届 AICon 全球人工智能开发与应用大会(深圳站)将于 8 月 22-23 日正式举行!本次大会以 “探索 AI 应用边界” 为主题,聚焦 Agent、多模态、AI 产品设计等热门方向,围绕企业如何通过大模型降低成本、提升经营效率的实际应用案例,邀请来自头部企业、大厂以及明星创业公司的专家,带来一线的大模型实践经验和前沿洞察。一起探索 AI 应用的更多可能,发掘 AI 驱动业务增长的新路径!



2025-08-20 17:2211711

评论 1 条评论

发布
用户头像
100倍和100%是不同的数量级吧,100%只是一倍而已。
2025-08-22 09:18 · 北京
回复
没有更多了

CDH5部署三部曲之二:部署和设置,高薪程序员必会

Java 程序员 后端

GitHub上访问下载破百万的神仙文档《Java面试神技》看完我呆了

Java 程序员 后端

BAT互联网大厂JAVA岗高频面试题总结,看完offer成功率再翻一番

Java 程序员 后端

golang实战之flag包,Redis灵魂14问

Java 程序员 后端

GitHub调优热榜,居然是腾讯T9熬肝撰写的594页MySQL优化手册,简直太香

Java 程序员 后端

Chrome上的这些灵魂插件太猛了,碾压其他同款,java架构师成长直通车分享

Java 程序员 后端

Docker下,两分钟极速体验Nacos配置中心,mysql视频教程百度网盘

Java 程序员 后端

Elasticsearch的高阶使用方法有哪些?,rabbitmq入门案例

Java 程序员 后端

Hello Git快速入门,redis常见数据结构以及使用场景分析

Java 程序员 后端

Helm部署的服务如何修改配置,nginx面试题负载均衡

Java 程序员 后端

CNCF 官方大使张磊:什么是云原生?,一个Java程序员的面试心得

Java 程序员 后端

Dubbo—SPI及自适应扩展原理,java项目系统架构图

Java 程序员 后端

透过表象看REST

Jxin

HashMap(jdk1,Java程序员进大厂面试必备基础技能

Java 程序员 后端

Gradle构建多模块SpringBoot应用,mybatis面试常问问题

Java 程序员 后端

Apache Log4j2详解,【高级Java架构师系统学习

Java 程序员 后端

BATJ真题突击:Java基础+JVM,springboot和vue实战视频

Java 程序员 后端

Docker下的Nacos环境开发,mysql联合索引原理

Java 程序员 后端

GateWay 网关服务,java程序员进阶路线

Java 程序员 后端

Github点赞接近 70k 的Spring Cloud学习教程+实战项目推荐!牛批

Java 程序员 后端

Github神作!2021Java秋招高级面试指南,吃透至少阿里P6

Java 程序员 后端

Bootstrap框架快速上手,这位阿里P7大牛分析总结的属实到位

Java 程序员 后端

CoProcessFunction实战三部曲之一:基本功能,软件技术java工程师方向

Java 程序员 后端

gRPC学习之三:初试GO版gRPC开发,Java面试题中高级

Java 程序员 后端

HashMap源码解析,操作系统原理与实践教程第三版答案

Java 程序员 后端

dubbo实战之三:使用Zookeeper注册中心,java后端工程师面试题

Java 程序员 后端

Fluid 给数据弹性一双隐形的翅膀 -- 自定义弹性伸缩,多线程面试题2021

Java 程序员 后端

GitHub上标星90k+的《Java知识总结,java基础选择题填空

Java 程序员 后端

Github又爆神作,阿里JVM垃圾回收全解小册全网开源!,已开源

Java 程序员 后端

HashMap详解,hadoop源码分析完整版

Java 程序员 后端

hive学习笔记之七:内置函数,mybatis防止sql注入原理

Java 程序员 后端

“这是我迄今见过的最大提速”:FFmpeg 开发者因手写汇编再提速 100 倍而自豪_编程语言_Mark Tyson_InfoQ精选文章