Video yükleniyor...

Video Yüklenemedi

Ana Sayfaya Dön

Speed comparison between C++ and Python for a program that counts to 1,000,000,000.

914,236 görüntüleme • 3 ay önce •via X (Twitter)

41 Yorum

🇺🇸Eric S - America ONLY 🇺🇸 profil fotoğrafı
🇺🇸Eric S - America ONLY 🇺🇸3 ay önce

2.4s? Was your C++ binary writing all those numbers to the console?

Lxyv profil fotoğrafı
Lxyv3 ay önce

Nope, not at the console. In both programs (in C++ and Python), only a for loop was established, and the final output, i.e., 1 billion, was outputted to the console.

Daedalus profil fotoğrafı
Daedalus3 ay önce

I’m too old to put up with that nonsense anymore. I’d rather perfect the programs appearance and logic in Python then convert and optimize portions or the entire program later. Speed during design and development is a metric that matters far more than execution speed during design and development phase. You can figure out if a program and workflow will work with real users MUCH FASTER with a language like Python. Anything can be optimized and/or rebased later.

Iluvalar profil fotoğrafı
Iluvalar3 ay önce

You clearly made a mistake and did a poor job in your python code.

Rango profil fotoğrafı
Rango3 ay önce

Stupid engagement bait for weak programmers.

Aditya 𖢻 Onchain profil fotoğrafı
Aditya 𖢻 Onchain3 ay önce

If I'm not wrong it mostly shows C++ compiler optmizn deleting empty loops, vs .py intrptr overhead. Running python through PyPy or NumPy narrows that gap instantly. Great example of compiled vs. intrptr design though

Lxyv profil fotoğrafı
Lxyv3 ay önce

@Adi_Verse_ performance critical parts are implemented in C in numpy.

Niraj profil fotoğrafı
Niraj3 ay önce

This means nothing without also posting the source code used.

Lxyv profil fotoğrafı
Lxyv3 ay önce

Code used (C++): int main() { size_t n = 0; while (n < 1'000'000'000) n++; std::cout << n << std::endl; } Code used (Python): n = 0 while (n < 1000000000): n += 1 print(n)

AIRobin profil fotoğrafı
AIRobin3 ay önce

only 0.2 sec with python here

Appreciator profil fotoğrafı
Appreciator3 ay önce

Now do machine language.

Ruud Harmsen profil fotoğrafı
Ruud Harmsen3 ay önce

The optimising phase of the C compiler sees that the program produces no output, so all the counting can be optimised out, or at least replaced by just setting the variable to the end value.

Caveman2ez profil fotoğrafı
Caveman2ez3 ay önce

Complines down to; C++ --> Machine Code Python --> C++ --> Machine Code

Hbg profil fotoğrafı
Hbg3 ay önce

Show the code because that looks just like compiler optimization. C loops should be faster regardless but like not THAT fast

Svetovid profil fotoğrafı
Svetovid3 ay önce

Apples and oranges. ASM will have C++ eating its dust.

Lxyv profil fotoğrafı
Lxyv3 ay önce

I code in ASM. difference of speed between C and ASM is not even noticeable. even tho asm is obviously faster. to humans, gap between <1s and <2s is irrelevant.

Major profil fotoğrafı
Major3 ay önce

@TopCurlsoid People who don’t see real value behind the different purposes of languages they use are easily measuring the things they understand; speed, time or delay. But if that is necessary to have just a loop like that, why don’t you write it as asm function and call it from Python prog?

Svetovid profil fotoğrafı
Svetovid3 ay önce

@wholyv Precisely. And if you need to optimize coefficient's of a horner's scheme, use Python, not C or ASM.

sable profil fotoğrafı
sable3 ay önce

are we serious still doing this? in 2026?

TechX profil fotoğrafı
TechX3 ay önce

🐍 is still better for ML

矢部っち profil fotoğrafı
矢部っち3 ay önce

@grok 何か胡散臭いんだけど…

sxr!ptr profil fotoğrafı
sxr!ptr3 ay önce

It's bs to compare a compiled language and interpreted one

Muthu / முத்து profil fotoğrafı
Muthu / முத்து3 ay önce

w/o seeing the code this post is useless

all goroutines are asleep profil fotoğrafı
all goroutines are asleep3 ay önce

you need to compile it with -O0 to avoid constant propagataion and loop unrolling. C++ doesn't actually run the loop if the optimizations elliminate it completely before generating assembly code. rookie mistake, terrible example

Magnus Jørgensen profil fotoğrafı
Magnus Jørgensen3 ay önce

I got even larger difference.

Pedro profil fotoğrafı
Pedro3 ay önce

it's the comparison between monster and baby chicken!

Alexander profil fotoğrafı
Alexander3 ay önce

Different use cases for these languages. Plus your test case is silly because it serves no real purpose

sreecharan profil fotoğrafı
sreecharan3 ay önce

how about rust ?

Jadon | Jadox Engine profil fotoğrafı
Jadon | Jadox Engine3 ay önce

C++ makes it harder for you to shoot yourself in the foot but once you do it it blows away your entire leg

Ayhan Sipahi profil fotoğrafı
Ayhan Sipahi3 ay önce

😅

jeffnyalik profil fotoğrafı
jeffnyalik3 ay önce

Interpreted Vs compiled of course the interpreted one will be slow.

Pol profil fotoğrafı
Pol3 ay önce

Given the post AND the comments, I understand most people don't know the differences in execution time magnitude between compiled and interpreted code, and why that doesn't really matters when most of your computation is done by a compiled lib...

EA-18G Growler Enjoyer profil fotoğrafı
EA-18G Growler Enjoyer3 ay önce

Delete your account

解約リスナー profil fotoğrafı
解約リスナー3 ay önce

コンパイル言語なんだから当たり前の話だと思いますが・・・

Warsemaphore3 profil fotoğrafı
Warsemaphore33 ay önce

That's not what Python is design for. Python is a glue code, when it needs speed it calls C++ libraries. It's strength is how easy it is to learn and use. Each language has its pros and cons, use the right tool for the job.

Ordinary Beaver 🇺🇸 profil fotoğrafı
Ordinary Beaver 🇺🇸3 ay önce

The real trick is to call the C++ from python, and use python for everything that is IO bound instead of CPU bound.

Jay profil fotoğrafı
Jay3 ay önce

There used for different things so this is pointless

Decrypt profil fotoğrafı
Decrypt3 ay önce

@grok compare avec rust

ArtClark profil fotoğrafı
ArtClark3 ay önce

#include <stdio.h> #include <time.h> int main(){ volatile int count=0;clock_t start=clock(); for(int i=1;i<=1000000;i++)count=i;clock_t end=clock();double time_ms=1000.0*(double)(end-start)/CLOCKS_PER_SEC; printf("%.3f ms\n",time_ms,count); return 0; } 3.000 ms

honeybunny profil fotoğrafı
honeybunny3 ay önce

It does not matter anymore. Programming language were a filter for binary so us humans can work with machine. With AI, this becomes completely obey

Collins profil fotoğrafı
Collins3 ay önce

Python is slower than C++ in raw computation, but its real world speed comes from how quickly you can build and iterate making it faster for development even if it's slower for execution. E.g on Msc project doc retriever used python later embedded c for more faster retriever

Benzer Videolar