SIMD向量化:为什么一行代码能让性能提升10倍
2019年,Daniel Lemire和Geoff Langdale发表了一篇论文,展示了一个令人惊讶的结果:他们的JSON解析器simdjson在单核上达到了每秒解析数GB JSON数据的速度,比当时最快的C++ JSON库快了4倍。这个性能飞跃的核心秘诀只有一个——SIMD向量化。 ...
2019年,Daniel Lemire和Geoff Langdale发表了一篇论文,展示了一个令人惊讶的结果:他们的JSON解析器simdjson在单核上达到了每秒解析数GB JSON数据的速度,比当时最快的C++ JSON库快了4倍。这个性能飞跃的核心秘诀只有一个——SIMD向量化。 ...
2024年4月,Amazon EKS的一个GitHub issue报告了一个诡异现象:Elixir应用容器频繁被OOMKilled,但监控显示容器的内存使用量远低于限制。排查发现,真正的元凶是容器被配置了过高的文件描述符限制(1048576),每个文件描述符在内核中都会分配相应的数据结构,累积起来消耗了大量的内核内存,最终触发了OOM Killer。 ...
2013年,Oracle Real World Performance Group发布了一段令人震惊的视频。他们在压力测试中,将9600个并发线程的数据库连接池从2048降到96——不做任何其他优化,响应时间从100毫秒骤降到2毫秒。 ...
2011年,LMAX交易平台的工程师们遇到一个奇怪的问题:他们的高性能消息队列在生产环境中表现不佳,但代码逻辑完全正确,线程安全措施也到位。经过深入排查,问题竟出在两个相邻的变量上——它们恰好落在同一个缓存行中。 ...
在一台双路服务器上,某个开发者写了一个简单的多线程程序来处理内存数据。原本以为增加线程数能线性提升性能,结果却发现:当线程数从1增加到16时,吞吐量不升反降,甚至比单线程还慢了40%。 ...
2025年11月,某电商平台在“双十一”与“黑色星期五”促销期间遭遇了一场灾难:API响应时间从200ms飙升到45秒,每小时的营收损失达到89万美元。事后复盘发现,罪魁祸首是一个配置错误的数据库连接池——最大连接数被设置为10,而数据库服务器完全可以处理500个并发连接。 ...