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

Knuckles6001
2022-12-12 14:46:40

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!";
}

??????

Macron-yaourt
2022-12-20 20:04:51

C'est quoi l'énoncé ?

Durza42
2022-12-20 20:09:57

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...

Infos
Gestion du forum

contact@geevey.com

API disponible. Utilisez le paramètre "api" en GET, peu importe le contenu, sur une page du site.

Notes

    Partenaire: JVFlux
    Ce site n'est pas associé à Jeuxvideo.com ou Webedia. Nous utilisons seulement des archives publiques.
    Il est inutile de me spammer par e-mail pour supprimer un topic. Au contraire, en conséquence, je mettrais votre topic dans le bloc ci-dessous.
Non-assumage
    Personne n'a pas assumé de topic pour le moment.