Retourner au contenu associé (entrée de forum : Demande pour que mon code python aille 1 million de fois plus vite car j'ai au moins 4 millions de f)
Posté par Nicolas le 04 février 2025 à 21:05. En réponse au message Demande pour que mon code python aille 1 million de fois plus vite car j'ai au moins 4 millions de f. Évalué à 4. Dernière modification le 04 février 2025 à 21:08.
Voilà, flemme d’expliquer parce que je suis un peu rouillé :
gcc -masm=intel -O2 -S a.c
Un code sans boucle :
call strtol@PLT xor edx, edx mov edi, 1 lea rsi, .LC0[rip] test eax, eax cmovns edx, eax xor eax, eax call __printf_chk@PLT
VERSUS
gcc -masm=intel -S a.c
Un code avec boucle (jmp est l’instruction de saut pour initier la boucle et jl est l’instruction de saut tant que la boucle continue)
jmp
jl
⇀ jmp⇀ .L2 .L3: ⇀ add⇀ DWORD PTR -8[rbp], 1 ⇀ add⇀ DWORD PTR -4[rbp], 1 .L2: ⇀ mov⇀ eax, DWORD PTR -4[rbp] ⇀ cmp⇀ eax, DWORD PTR -12[rbp] ⇀ jl⇀ .L3
En Python, tu ne vas pas écrire ton code comme tu l’écris en C. Tu va faire plutôt un truc du genre (pas testé, j’ai la flemme) :
import numpy a = numpy.ones(NUMBER, numpy.int32) s = numpy.sum(a)
T’auras à peu de chose prêt les perf. du C. À fortiori.
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
[^] # Re: C facile
Posté par Nicolas . En réponse au message Demande pour que mon code python aille 1 million de fois plus vite car j'ai au moins 4 millions de f. Évalué à 4. Dernière modification le 04 février 2025 à 21:08.
Voilà, flemme d’expliquer parce que je suis un peu rouillé :
gcc -masm=intel -O2 -S a.cUn code sans boucle :
VERSUS
gcc -masm=intel -S a.cUn code avec boucle (
jmpest l’instruction de saut pour initier la boucle etjlest l’instruction de saut tant que la boucle continue)En Python, tu ne vas pas écrire ton code comme tu l’écris en C. Tu va faire plutôt un truc du genre (pas testé, j’ai la flemme) :
T’auras à peu de chose prêt les perf. du C. À fortiori.