Topic de Knuckles6001 :

Je suis en train de résoudre mon premier algorithme sur France-IOI et je comprends pas un truc

  • 1

je vais tout résoudre en python, mais les corrections me permettent de voir les autres langages et celui de java a l'air de sacrément puer la merde :

class Main {
   public static void main(String[] args) {
      System.out.println("Hello world!");
   }
}

?????

Et en C++ :

#include <iostream>
using namespace std;
int main()
{
   cout << "Hello world!";
}

??????

Hmm... Ne parlons pas de :

include <cstdio>

int main ()
{
for (int i = 0 ; i < 100 ; ++i)
for (int j = 0 ; j < 100 ; ++j)
for (int k = 0 ; k < 100 ; ++k)
printf(" ");

return 0;
}

-->

$ g++ main.cpp -O2 -o exec.out
$ time ./exec.out
real 0m0,047s
user 0m0,008s
sys 0m0,008s

Tout va bien. Mais alors...

for i in range(100):
for j in range(100):
for k in range(100):
print(" ")

-->

$ time python3 exec.py
real 0m1,988s
user 0m0,956s
sys 0m1,032s

??????

Pour faire exactement la même chose, le code C++ a mis 0.047s, contre 1.988s pour le code python. Le code python est donc 1,988/0,047 = 42,2979 fois plus lent.

Tu comprends maintenant ?
python est très pratique, quand tu te fiches un petit peu de la performance et veux juste déveloper ton produit rapidement.
Il fait tout de suite pâle figure quand il s'agit de prendre un peu de vitessse...

  • 1

Données du topic

Auteur
Knuckles6001
Date de création
12 décembre 2022 à 14:46:40
Nb. messages archivés
3
Nb. messages JVC
3
En ligne sur JvArchive 239