Accueil > Forum > > > > exécutable jar plus lent que eclipse
exécutable jar plus lent que eclipse
vendredi 4 juillet 2008 à 10:45:43 |
exécutable jar plus lent que eclipse

yyyx
|
Bonjour à tous ! Je viens de créer une petite application java qui, à partir d'un fichier xls me renvoie les données dans un csv et les en-têtes de colonnes ansi que diverses informations dans un fixhier xml. Evidemment, je suis obligé d'utiliser une librairie. J'ai choisi poi. Jusque là, tout va bien, mon appli fonctionne à merveille :D J'ai donc buildé le tout, d'abord avec fat-jar (un module d'éclipse permettant d'inclure toutes les librairies dans l'exécutable). Mais ohh surprise, le temps d'éxécution qui dans éclipse était d'environ 7sec pour un fichier d'à peu près 1000 lignes * 250 colonnes passe à 30 secondes ! Je me suis alors dit, plugin de merde, retour au bon vieux classpath et la librairie dans le dossier lib. Re-surprise, il me faut alors 40 secondes pour extraire les données du même fichier ! Bon, je sais, mon algo n'est surement pas tip-top (je parcours les cellules par lignes et concatène les données dans un string) mais si je pouvais éviter de tripler le temps d'éxécution en créant un exécutable, ça m'arrangerais. Avez-vous une idée d'où vient le pb ?? Merci d'avance. Laurent
|
|
vendredi 4 juillet 2008 à 13:04:18 |
Re : exécutable jar plus lent que eclipse

tlaloctzin
|
Coucou , t as essayé de compiler ton jar avec des arguments du type -Xms512m ?
Il vaut mieu être riche et en bonne santé que pauvre et malade .
|
|
vendredi 4 juillet 2008 à 14:37:10 |
Re : exécutable jar plus lent que eclipse

yyyx
|
Non, je n'avais pas essayé, je viens donc de le faire et ça ne change rien : java -Xmx512m -Xms32m -jar xls2csv.jar test.xls test.csv test.xml 35 sec  Après un petit tour sur google, il s'avère que ces arguments servent à augmenter la mémoire allouable quand un objet dépasse la taille maximum. Or ce n'est pas mon cas. Ici, je n'ai pas d'erreur, juste une forte augmentation du temps d'éxécution. Après optimisation, j'ai réussi à réduire un peu le nombre de boucles : je gagne 1 sec en exécution dans éclipse et 6 avec le jar ! Si quelqu'un sait comment récupérer les paramètres d'exécution dans eclipse pour lancer le jar de la même façon dans le terminal je suis prenneur. En attendant, je googlise :D Bonne aprèm à tous 
|
|
vendredi 4 juillet 2008 à 16:18:18 |
Re : exécutable jar plus lent que eclipse

AlexN
|
Il vaut mieux concaténer tes chaines de caractères avec un StringBuffer ou un StringBuilder, plutôt que de faire String = new String() + new String() + new String(); Parce qu'à chaque new String() il y a création d'un nouvel objet.
|
|
vendredi 4 juillet 2008 à 17:49:07 |
Re : exécutable jar plus lent que eclipse

yyyx
|
Merci du tuyau :D
Mais même si cela me permet de gagner encore tu temps d'exécution, ça ne résoud toujours pas mon pb de différence d'exécution entre eclipse et le terminal...
|
|
vendredi 4 juillet 2008 à 18:20:10 |
Re : exécutable jar plus lent que eclipse

AlexN
|
J'ai dit ça parce que sinon je n'ai aucune idée sur ton problème. Mais il m'intéresse, c'est au cas où quelqu'un trouve une solution. y'aurait une option du genre "java -runAtSpeedOfLight -jar my.jar" ?
|
|
vendredi 4 juillet 2008 à 18:32:16 |
Re : exécutable jar plus lent que eclipse

yyyx
|
MDR Ce serait bon ça  Mais bon, je pense que eclipse doit gérer par lui même des options lors du run, quelquechose qui optimiserait l'allocation de la mémoire ou un truc comme ça, j'en sais pas grand chose, tout ce que je constate c'est que dès que je lance mon appli via le terminal, il faut 5 fois plus de temps... Et comme je débute en java et sous eclipse, ben je trouve pas où c'est... Surtout qu'apparemment, mon appli est destinée à servir sur un projet de gestion de données où on doit pouvoir importer un dataset en xls de taille assez conséquente, le tout sur, me semble-t-il, un vieux serveur pourri. Donc si la version jar du truc met 40 secondes sur 1 P4 2GHz/1GoDDR pour un fichier de seulement 1000valeurs*250variables=250000 cellules, et pas 2000variables*10000valeurs, ça va pas le faire. Merci quend même de t'intéresser à mon cas, je testerai le coup du StringBuffer dès lundi.
|
|
lundi 7 juillet 2008 à 09:55:02 |
Re : exécutable jar plus lent que eclipse

yyyx
|
Personne n'a d'idée sur mon pb ?? Je viens de tout passer en String Buffer, tu avais raison, 2 secondes à l'exécution dans éclipse. Je suis plutôt satisfait. Mais une fois compilé et exporté en jar, il m'en faut 25  ...
|
|
lundi 7 juillet 2008 à 10:12:23 |
Re : exécutable jar plus lent que eclipse

AlexN
|
Attention pour vraiment gagner du temps, il faut choisir la bonne classe :
- environnement multithread où il est nécessaire de synchroniser l'accès aux données : StringBuffer - environnement où il n'y a pas besoin de synchroniser les accès : StringBuilder
Le second choix est plus rapide mais ne fonctionnera pas en environnement synchronisé.
|
|
lundi 7 juillet 2008 à 10:26:16 |
Re : exécutable jar plus lent que eclipse

yyyx
|
Je n'ai pas besoin de travailler en multithread. Je ss donc passé au StringBuilder, ça ne change pas grand chose mais si c'est théoriquement plus rapide, je garde. Avec tout ça, merci j'ai pu gagner pas mal de temps d'exécution dans eclipse (et apprendre pas mal de nouveaux trucs). Mais je cherche toujours quelquechose pour en gagner à l'extérieur, parce que passer de 1.5 secondes dans éclipse à 20 dans le terminal, ça m'ennuie un peu, mais bon, si on peut pas faire autrement, je m'en passerai.
|
|
Cette discussion est classée dans : fichier, données, lent, jar, exécutable
Répondre à ce message
Sujets en rapport avec ce message
SOS URGENT, Problème lors de la création d'un jar exécutable [ par FunkyJulius ]
Tout d'abord bonjour, Voilà, j'ai créer une petite applic, un jeu de Black Jack. Quand je l'éxécute sous eclipse, pas de problème, tout ce passe com
Utiliser des images ou fichier txt avec un jar exécutable [ par bourgi220 ]
Bonjour, Je me suis déjà beaucoup documenté sur les jar exécutables, j'ai notamment lu ce sujet: http://www.javafr.com/infomsg_CR-233-ER-FICHIER-JAR-E
Problème de Connexion MS Access et Java [ par eclisia ]
Bonjour,</fon
Création d'un jar exécutable d'une application utilisant une base de données ORACLE [ par princessemira ]
Bonjour a tous, J'ai besoin de votre aide, j'ai réalisé une application et je dois la livrer, donc il faut que je crée son jar exécutable. Mon applic
Création d'un Exécutable avec un JNLP [ par wilkom2009 ]
Salut, J'utilise la technologie JNLP dans un projet. Voici les détails: j'ai un fichier .JAR situé sur un serveur auquel sont connectés des postes cli
lire des données à partir d'un fichier d'extension .tsp [ par adrahammoud ]
Bonjour, SVP si cous avez un bout de code pour pouvoir lire des données qui conviennent au PVC à partir d'un fichier qui a une extension .tsp,ce derni
RECUPERER CODE DANS ECLISPE [ par STDANTIGNY ]
BonJour, J'ai en ma possession un fichier JAR et je voudrais savoir dans eclipse comment créer un nouveau projet et récuperer les infos dans le fichi
comment signé un fichier .jar [ par ghezella ]
salut; je dois signer un fichier .jar je tappe la commande : {keytool -genkeypair -alias -keypass} il me génere un mot de passe mais quand je voudra
Problème de fichier .jar sous netbeans [ par lilusse ]
Bonjour , j'ai développé une petite application sous netbeans , tout marche très bien quand je compile [^^happy13]mais [^^sad2]quand j'ai fais le fich
Livres en rapport
|
Derniers Blogs
[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi
Forum
AIDEAIDE par mlawah
Cliquez pour lire la suite par mlawah RE : J2EERE : J2EE par issats1987
Cliquez pour lire la suite par issats1987 RE : J2EERE : J2EE par abdouffff
Cliquez pour lire la suite par abdouffff RE : J2EERE : J2EE par issats1987
Cliquez pour lire la suite par issats1987
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|