Forum Programmation.java Analyse de log - rapidité ?

Posté par  .
Étiquettes : aucune
0
1
fév.
2006
Bonjour à tous,

J'ai découvert le java il y a peu de temps et ce langage m'a bien plut.
Pour l'instant, j'ai un besoin qui consiste à faire de l'analyse de log, un peu comme le fait webalizer ou awstats.
J'aurais aimer le faire en java, mais j'entends beaucoup de choses sur sa lenteur. Qu'en est il pour ce type de traitement ? Ou ce situe il entre le C++, le Perl et le Python ? On m'a parlé aussi de Groovy, Jython, BeanShell, ... qu'en est il ?

Ce que j'ai à traiter comme logs pèse plusieurs centaines de Mo. Ce qui commence à faire j'en conviens.

Vos avis m'intéressent.
Merci
  • # les logs c'est des chaines de caracteres...

    Posté par  . Évalué à 2.

    avec des recherche de "pattern"
    Donc pour moi le perl s'impose...

    ensuite pour la rapidité et l'encombrement mémoire de java, si tu codes comme un porc ça passe pas, si tu codes correctement, ca passe.

    moi personellement, je ferai un tableau de truc a reconnaitre en perl, et je parserai le fichier ça prendrait 10 lignes a tout casser ( plus un fichier de conf selon le log ) et j'aurais un truc largement suffisant.

    ensuite comment classer le java par rapport au c++... ben faudrait que je le code pour savoir

    Normalement vu que tu ne charges pas tout le fichier en mémoire ( enfin j'espere ) la taille n'influe que sur le temps ( sauf si tu veux garder tout ce que tu trouves en mémoire)

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • # Expressions régulières en Java

    Posté par  . Évalué à 2.

    Bonjour,

    Java (depuis le JDK 1.4) propose un package java.util.regexp qui contient tous les objets nécessaires à la manipulation de patterns. Sa couverture fonctionnelle est très proche de ce que propose Perl. Je t'invite à consulter la javadoc à ce sujet.

    Il est très délicat de comparer java par rapport aux autres langages dont tu parles. Un gros effort a été fait depuis plusieurs années afin d'améliorer la performance de java (hotspot, compilation JIT).

    Je ne pense pas que la taille de tes logs soit, en soit, un problème pour Java. Maintenant, si tu codes ça comme un cochon, quel que soit le langage, le résultat sera désastreux.

    Bien à toi

    François
  • # Concernant la lenteur

    Posté par  . Évalué à 2.

    La JVM est longue a charger par rapport à un interprète perl ou python par exemple.

    Par contre une fois démarrée le performance de Java sont comparables au C puisq'il il y a un optimisation du traitement à la volée.

    Je te conseille de relire ce thread qui discutait de l'intêret des VM aujourd'hui
    http://linuxfr.org/comments/674181.html#674181

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.