Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

“Hello world”在 C++ 中比在 C (Linux) 中慢

Posted on 2022-08-10

肖像2018facebook.jpg

一个简单的 C 程序可能会在屏幕上打印“hello world”:

 #包括< stdio.h >   #包含< stdlib.h >      int main ( ) {       printf ( "你好世界\n " ) ;       返回EXIT_SUCCESS ;   }   

您可以在 C++ 中编写等价的代码:

 #包含< iostream >   #包含< stdlib.h >      int main ( ) {       std :: cout < < "你好世界" < < std :: endl ;       返回EXIT_SUCCESS ;   }   

这些程序的运行速度有多快?我们可以使用hyperfine之类的基准测试工具进行检查。此类工具处理各种因素,例如 shell 启动时间等。

我不认为在 C++ 中打印“hello world”本身应该更慢或更快,至少不会显着。我们通过运行这些程序来测试的是由于选择编程语言而产生的开销。

在 Linux 下使用标准 C++ 库 (libstdc++) 时,我们可以要求将标准 C++ 与可执行文件链接。结果是一个更大的二进制可执行文件,但它可以提供更快的启动时间。

Hyperfine 告诉我 C 可执行文件的运行速度要快得多:

C 0.5 毫秒
C++(动态) 1.4 毫秒
C++(静态) 0.7 毫秒

我的源代码和 Makefile 可用。我使用 AWS 节点(Graviton 3)在 Ubuntu 22.04 LTS 上获得了这些数字。

可能存在与超精细有关的方法问题。然而,如果这些数字是可信的,那么在 Linux 下,由于 C++ 对小程序执行的影响很大。

一毫秒的开销,如果它确实是正确的,是一个巨大的惩罚。

原文: https://lemire.me/blog/2022/08/09/hello-world-is-slower-in-c-than-in-c-linux/

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Bits about Money
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Colin Percival
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • Elad Gil
  • Ellie Huxtable
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • Henrique Dias
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Liz Danzico
  • Lou Plummer
  • Luke Wroblewski
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mostly metrics
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Small Good Things
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • Understanding AI
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme