Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/06/2011, à 14:37

rasobak

Besoin explication : Python et Java

Bonjour à tous et à toutes,

j'aimerais savoir pourquoi Python est plus lent que Java.

Est-ce que c'est fausse ? y a t'il un moyen d'optimiser Python ?

Merci a tous et a toutes

Dernière modification par rasobak (Le 29/06/2011, à 15:05)

Hors ligne

#2 Le 29/06/2011, à 15:07

Jules Petibidon

Re : Besoin explication : Python et Java

Est ce que cette affirmation est fausse : Probablement pas, mais quelque part on s'en tamponne.

La vocation des deux langages est pas la même.
Code en java, code en python, ça n'a pas grand chose à voir.
Python est fait pour développer des petits trucs (enfin pas toujours si petits que ça) vite fait bien fait, alors que Java est plus adapté pour des projets plus lourds.

Hors ligne

#3 Le 29/06/2011, à 15:56

rasobak

Re : Besoin explication : Python et Java

Merci de ta reponse

j'ai une dernière question :
Ma vocation est le réseau ( application réseau et Web ) le Python serais plus adapter ?

Dernière modification par rasobak (Le 29/06/2011, à 16:16)

Hors ligne

#4 Le 29/06/2011, à 16:29

Jules Petibidon

Re : Besoin explication : Python et Java

Tout dépend de ton application smile
Les deux peuvent correspondre.

Hors ligne

#5 Le 29/06/2011, à 16:42

rasobak

Re : Besoin explication : Python et Java

J'essaye les 2 et je verrais celui qui correspond le mieux

Hors ligne

#6 Le 13/07/2011, à 17:55

Behind

Re : Besoin explication : Python et Java

Java lui est un langage "compilé" c'est à dire que pour lui il y a un byte-code qui ensuite génère un fichier que seul le PC comprend, du 01001100.....De tout le programme que tu as fait. Si tu veux tu as un bloc de "langage machine" pour tout ton programme.

Python lui n'est pas un langage "compilé", c'est un langage "interprété" et la différence tient au fait que le "langage machine" est généré au fur et à mesure de la lecture du programme. Non compilé au préalable.

Quand à la différence de vitesse.. Je pense que ça peut jouer mais je ne suis sûre de rien.

Cordialement smile


Administrateur Informatique de la Corporation des Etudiants en Médecine de Paris VI.
"On rit mal des autres, quand on ne sait pas d'abord rire de soi-même."
Quad Core Q9950 2.83 ghz | Double écran 19"*24"
4 go DDR3 G.Skill | 8800 GT 512 mo

Hors ligne

#7 Le 14/07/2011, à 07:17

bipede

Re : Besoin explication : Python et Java

Python produit du bytecode au premier lancement du script, et à chaque fois qu'il y a modification de ce même script. Ensuite, c'est le bytecode qui est interprété.

C'est cette pseudo-compilation dynamique qui le différencie de Java.

Sinon, Java comme Python sont des langages interprétés, et python n'est pas moins rapide que Java.

J'ajoute qu'il n'y a aucun projet Java qu'on ne puisse réaliser en python...


Desktop: MSI - Intel® Core™ i5-3330 CPU @ 3.00GHz × 4 - RAM 8 go- Kubuntu 21.04 - Système sur SSD 64 Go - /home sur HDD 500 Go.
Laptop: DELL Inspiron-15 3567 - Intel® Core™ i5-7200 CPU @ 2.50GHz × 4 - RAM 8 go - HDD 1 To - Ubuntu 20.10 avec /home séparé.

Mon site: Les contributions du bipède

Hors ligne

#8 Le 14/07/2011, à 10:50

Jules Petibidon

Re : Besoin explication : Python et Java

bipede a écrit :

Sinon, Java comme Python sont des langages interprétés, et python n'est pas moins rapide que Java.

Tu es certain de cela ? Une VM et un interpréteur c'est pas tout à fait la même chose tout de même.
Il serait intéressant d'avoir quelques comparatifs de rapidité et consommation sur l'exécution d'algos équivalents. J'ai jamais rien trouvé comme "benchmark" de Python, hélas (même si ceux ci sont jamais réellement exacts, ça donne une idée globale).

Hors ligne

#9 Le 14/07/2011, à 11:30

grim7reaper

Re : Besoin explication : Python et Java

bipede a écrit :

Sinon, Java comme Python sont des langages interprétés, et python n'est pas moins rapide que Java.

C'est des conneries ça, une JVM standard contre l'interpréteur Python standard (pas PyPy ou truc du genre hein, je parle de CPython (l'implémentation de référence)) c'est le Java qui est le plus rapide.

Dernière modification par grim7reaper (Le 14/07/2011, à 11:32)

Hors ligne

#10 Le 14/07/2011, à 11:48

bipede

Re : Besoin explication : Python et Java

Jules Petibidon a écrit :

Tu es certain de cela ? Une VM et un interpréteur c'est pas tout à fait la même chose

Une JVM est un environnement permettant l'interprétation et l'exécution du bytecode Java.
La seule chose qui différencie l'environnement runtime de Python d'une JVM c'est que Python en plus de l'interprétation et de l'exécution produit le bytecode de façon dynamique.

Quant à la vitesse d'exécution elle est directement liée d'un côté comme de l'autre á la qualité du code source.

C, C# ou C++ seront toujours plus rapides que Java ou Python, mais la différence est négligeable dans les applications de gestion.

Perso, quand j'ai besoin d'effectuer des calculs complexes de nature à ralentir mon appli, j'écris mes fonctions de calcul en C et je les appelle dans Python à l'aide de la bibliothèque ctypes.


Desktop: MSI - Intel® Core™ i5-3330 CPU @ 3.00GHz × 4 - RAM 8 go- Kubuntu 21.04 - Système sur SSD 64 Go - /home sur HDD 500 Go.
Laptop: DELL Inspiron-15 3567 - Intel® Core™ i5-7200 CPU @ 2.50GHz × 4 - RAM 8 go - HDD 1 To - Ubuntu 20.10 avec /home séparé.

Mon site: Les contributions du bipède

Hors ligne

#11 Le 14/07/2011, à 11:54

grim7reaper

Re : Besoin explication : Python et Java

bipede a écrit :
Jules Petibidon a écrit :

Tu es certain de cela ? Une VM et un interpréteur c'est pas tout à fait la même chose

Une JVM est un environnement permettant l'interprétation et l'exécution du bytecode Java.
La seule chose qui différencie l'environnement runtime de Python d'une JVM c'est que Python en plus de l'interprétation et de l'exécution produit le bytecode de façon dynamique.

T'as une vision bien simpliste de ce qu'est une JVM toi.
Y'a bien plus de différence que ça entre une JVM et un interpréteur, je te laisse te documenter sur le sujet (c'est loin d'être ma spécialité).

Hors ligne

#12 Le 14/07/2011, à 11:57

bipede

Re : Besoin explication : Python et Java

grim7reaper a écrit :

C'est des conneries ça

Comme quoi, il n'y a pas que des gens intelligents sur ce forum... Ni très polis d'ailleurs...


Desktop: MSI - Intel® Core™ i5-3330 CPU @ 3.00GHz × 4 - RAM 8 go- Kubuntu 21.04 - Système sur SSD 64 Go - /home sur HDD 500 Go.
Laptop: DELL Inspiron-15 3567 - Intel® Core™ i5-7200 CPU @ 2.50GHz × 4 - RAM 8 go - HDD 1 To - Ubuntu 20.10 avec /home séparé.

Mon site: Les contributions du bipède

Hors ligne

#13 Le 14/07/2011, à 12:00

grim7reaper

Re : Besoin explication : Python et Java

bipede a écrit :
grim7reaper a écrit :

C'est des conneries ça

Comme quoi, il n'y a pas que des gens intelligents sur ce forum...

Bah ouais, y'a toi :]

bipede a écrit :

Ni très polis d'ailleurs...

Bah ouais, y'a moi :]

tongue

Dernière modification par grim7reaper (Le 14/07/2011, à 12:00)

Hors ligne

#14 Le 14/07/2011, à 15:23

bipede

Re : Besoin explication : Python et Java

grim7reaper a écrit :

T'as une vision bien simpliste de ce qu'est une JVM toi.
Y'a bien plus de différence que ça entre une JVM et un interpréteur

Mon intention n'était pas de faire une thèse sur la JVM dans ce forum. Ceci dit le principal est donné...

grim7reaper a écrit :

(c'est loin d'être ma spécialité).

Ce n'était pas la peine de le dire, j'avais deviné...


Desktop: MSI - Intel® Core™ i5-3330 CPU @ 3.00GHz × 4 - RAM 8 go- Kubuntu 21.04 - Système sur SSD 64 Go - /home sur HDD 500 Go.
Laptop: DELL Inspiron-15 3567 - Intel® Core™ i5-7200 CPU @ 2.50GHz × 4 - RAM 8 go - HDD 1 To - Ubuntu 20.10 avec /home séparé.

Mon site: Les contributions du bipède

Hors ligne

#15 Le 14/07/2011, à 17:54

grim7reaper

Re : Besoin explication : Python et Java

bipede a écrit :
grim7reaper a écrit :

T'as une vision bien simpliste de ce qu'est une JVM toi.
Y'a bien plus de différence que ça entre une JVM et un interpréteur

Mon intention n'était pas de faire une thèse sur la JVM dans ce forum. Ceci dit le principal est donné...

Entre faire des simplifications spécieuses et faire une thèse il existe un juste milieu roll

bipede a écrit :
grim7reaper a écrit :

(c'est loin d'être ma spécialité).

Ce n'était pas la peine de le dire, j'avais deviné...

Bah c'est loin d'être la tienne aussi pour ce que j'en lis.
Sauf que moi, quand je connais pas un truc je me renseigne un minimum avant de parler/d'écrire…

Fin du HS en ce qui me concerne, faudrait voir à pas polluer le topic.

Hors ligne

#16 Le 14/07/2011, à 18:09

bipede

Re : Besoin explication : Python et Java

grim7reaper a écrit :

Bah c'est loin d'être la tienne aussi pour ce que j'en lis.
Sauf que moi, quand je connais pas un truc je me renseigne un minimum avant de parler/d'écrire…

Fin du HS en ce qui me concerne, faudrait voir à pas polluer le topic.

C'est quoi ton problème ?
Papa te traitait d'incapable quand tu étais petit ?
Tu ne supportes pas la contradiction ?
En tout cas tu t'es trompé de forum...


Desktop: MSI - Intel® Core™ i5-3330 CPU @ 3.00GHz × 4 - RAM 8 go- Kubuntu 21.04 - Système sur SSD 64 Go - /home sur HDD 500 Go.
Laptop: DELL Inspiron-15 3567 - Intel® Core™ i5-7200 CPU @ 2.50GHz × 4 - RAM 8 go - HDD 1 To - Ubuntu 20.10 avec /home séparé.

Mon site: Les contributions du bipède

Hors ligne

#17 Le 14/07/2011, à 18:32

grim7reaper

Re : Besoin explication : Python et Java

bipede a écrit :
grim7reaper a écrit :

Bah c'est loin d'être la tienne aussi pour ce que j'en lis.
Sauf que moi, quand je connais pas un truc je me renseigne un minimum avant de parler/d'écrire…

Fin du HS en ce qui me concerne, faudrait voir à pas polluer le topic.

C'est quoi ton problème ?

Les attaques ad hominem dont tu fais preuve sans aucune raison valable et dont tu uses pour cacher ton manque flagrant d'arguments.
Moi je veux bien parler avec toi et que tu me montres que j'ai tort (au contraire, je me coucherais moins con comme ça), mais les réponses au ras des pâquerettes que tu m'as faites jusqu'à maintenant ne m'intéressent guère.

bipede a écrit :

Papa te traitait d'incapable quand tu étais petit ?
Tu ne supportes pas la contradiction ?

lol
La paille, la poutre, toussa…
C'est bien toi qui es monté sur tes grands chevaux parce que j'ai eu l'outrecuidance de dire que tu disais « des conneries », pas l'inverse.
Et puis pour le moment tu ne m'as pas contredit vu qu'à part t'énerver tu n'as apporté aucun argument défendant tes affirmations.

bipede a écrit :

En tout cas tu t'es trompé de forum...

Bah tu sais, j'ai déjà fait mes preuves (si je puis dire) sur ce forum donc je n'ai rien à prouver ici.

Hors ligne

#18 Le 14/07/2011, à 19:22

bipede

Re : Besoin explication : Python et Java

grim7reaper a écrit :

C'est bien toi qui es monté sur tes grands chevaux parce que j'ai eu l'outrecuidance de dire que tu disais « des conneries », pas l'inverse.
Et puis pour le moment tu ne m'as pas contredit vu qu'à part t'énerver tu n'as apporté aucun argument

Parce que toi tu as apporté la moindre argumentation ? à part qualifier de conneries ce que les autres disent ? relis attentivement ce topic

Dernière modification par bipede (Le 14/07/2011, à 21:40)


Desktop: MSI - Intel® Core™ i5-3330 CPU @ 3.00GHz × 4 - RAM 8 go- Kubuntu 21.04 - Système sur SSD 64 Go - /home sur HDD 500 Go.
Laptop: DELL Inspiron-15 3567 - Intel® Core™ i5-7200 CPU @ 2.50GHz × 4 - RAM 8 go - HDD 1 To - Ubuntu 20.10 avec /home séparé.

Mon site: Les contributions du bipède

Hors ligne

#19 Le 14/07/2011, à 20:21

tshirtman

Re : Besoin explication : Python et Java

@bipède: pas besoin d'en arriver aux insultes, grim est aussi un codeur sérieux, même si le python n'est pas sa spécialité, c'est pas non plus un pisseur de code.

Pour le python, l'interpréteur est une VM¹, au même titre que le JVM, mais le langage en lui même est plus complexe a optimiser, puisqu'il laisse bien plus de liberté, notamment au niveau des types, java suppose (et s'assure) qu'une variable ne changera jamais de type, ce n'est pas le cas de python. Donc, sur les applis cpu-bound (une très faible part des applications) Python sera en général plus lent que java, c'est un fait². Cela dit, la plupart du temps, de nos jours, on a autre chose à faire que de ce préoccuper d'un facteur de 2 ou 3 sur les opérations de calculs complexes, le temps de développement, (bien plus cours en python) est plus précieux.

¹: http://en.wikipedia.org/wiki/Python_%28 … 29#CPython
²: http://shootout.alioth.debian.org/u32/w … python3=on

Dernière modification par tshirtman (Le 14/07/2011, à 20:26)

Hors ligne

#20 Le 14/07/2011, à 20:39

bipede

Re : Besoin explication : Python et Java

@tshirtman
T'as raison, c'est pas la peine de se prendre le choux...


Desktop: MSI - Intel® Core™ i5-3330 CPU @ 3.00GHz × 4 - RAM 8 go- Kubuntu 21.04 - Système sur SSD 64 Go - /home sur HDD 500 Go.
Laptop: DELL Inspiron-15 3567 - Intel® Core™ i5-7200 CPU @ 2.50GHz × 4 - RAM 8 go - HDD 1 To - Ubuntu 20.10 avec /home séparé.

Mon site: Les contributions du bipède

Hors ligne

#21 Le 14/07/2011, à 20:46

The Uploader

Re : Besoin explication : Python et Java

Aheum..

bipede a écrit :

C, C# ou C++ seront toujours plus rapides que Java ou Python

C# = MS' Java = .NET = CLR = VM (et MSIL = Bytecode).

Dernière modification par The Uploader (Le 14/07/2011, à 20:47)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#22 Le 14/07/2011, à 20:49

tshirtman

Re : Besoin explication : Python et Java

@bipede: une petite édition de ton post, maintenant que tu le prends cool? smile

@The uploader: ton post n'est pas très explicite… tongue

Hors ligne

#23 Le 14/07/2011, à 20:51

The Uploader

Re : Besoin explication : Python et Java

M'en fous, spa libre. tongue


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne