Equivalent Java de ton bench:
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 int LOOP = (int)10E6; long t0 = System.currentTimeMillis(); for(int j=0;j<LOOP;j++) for(int i=0;i<20;i++) exp(-i*1.33); long t1 = System.currentTimeMillis(); System.out.println("duration : " + (t1-t0));
Sur mon PC du boulot (Java 6-u21 32bits), en utilisant l'appel natif Math.exp() j'arrive à 16.212 secondes. En utilisant l'interpolation de la table j'arrive à 2.89 secondes. Soit un gain de facteur 5.
Edit: et avec le hack sur les flottants, on tombe à 0.156 seconde
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
Consignes aux jeunes padawans : une image vaut 1000 mots !
- Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
- Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
-ton poste tu dois marquer quand la bonne réponse tu as obtenu.
Bonsoir,
au-delà de l'optimisation de ta fonction elle-même, il faut aussi que tu utilises ta fonction de manière optimale, en particulier dans les boucles.
Il ne faut pas non plus oublier de compiler ton code avec un tag d'optimisation.
Consignes aux jeunes padawans : une image vaut 1000 mots !
- Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
- Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
-ton poste tu dois marquer quand la bonne réponse tu as obtenu.
Je marque cette discussion "Résolu" car l'optimisation proposée par PseudoCode est pertinente, mais je suis ouvert à toutes nouvelles propositions !!!
Consignes aux jeunes padawans : une image vaut 1000 mots !
- Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
- Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
-ton poste tu dois marquer quand la bonne réponse tu as obtenu.
Bonjour,
l'option de compilation en java est -O.
Consignes aux jeunes padawans : une image vaut 1000 mots !
- Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
- Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
-ton poste tu dois marquer quand la bonne réponse tu as obtenu.
Partager