Bonjour,
Je suis en train de me lancer dans la création d'une boîte à outils pour traiter mes données issues de mesure (par exemple FFT sur quelques millions de ponts).
Pour le moment j'utilise des scripts Scilab mais cela est long voir très long étant donné que parfois je suis obligé de lire ligne par ligne des tableaux 2x4000000 (pour faire des estimations de Bit Error Rate pour ceux qui connaisse).
Je souhaite aussi pouvoir générer des courbes via gnuplot et avoir une jolie interface graphique et avoir un code facilement portable sous windows et linux.
Pour rendre mon choix plus facile, je me suis dis "voyons quel langage me permettrait de lire un fichier ligne par ligne et de l'enregistrer ligne par ligne dans un autre fichier le plus rapidement possible avec remplacement des "," par des " " ". (cf PS2)
J'ai essayer en perl de balayer un fichier, ca prends 12 secondes pour un fichier de 150Mo.
J'ai tenter en c mais c'est plus long (peut-être que je n'utilise pas les bonnes fonctions - fopen,fscanf,fprintf), ca dure environ une bonne trentaine de seconde sans le remplacement.
Dans un premier temps, je voudrais savoir si quelqu'un avait un code optimisé (c/c++) pour la lecture ligne par ligne de fichier volumineux et l'enregistrement ligne par ligne dans un autre fichier avec le remplacement indiqué ci-dessus pour que je puisse tester sur ma machine ou au moins les meilleurs fonctions à utiliser pour cette application.
Sinon d'après vos expériences, quels langages serait les plus appropriés pour ce que je souhaite faire ?
Pour le moment, le Perl est mon candidat favori pour sa simplicité car je n'ai pas trop de temps a perdre pour coder tout ça mais si le gain de temps en traitement est important en passant au c/c++, ca ne me dérange pas car j'ai une préférence pour faire l'interface graphique avec qt toujours grâce à la simplitcité (encore) et pas mal de fonction présente dans ce dernier me serait utile.
Peut-être un programme en c/c++ utilisant du perl quand j'en besoin serait la bonne solution mais je ne sais pas trop comment ça se passe.
J'attends vos réponses, merci d'avance !
PS : pour la communication avec gnuplot, je ne souhaite pas forcement faire du plot temps réel, la génération du script me suffit.
PS2 : le choix de ce programme vient du fait que Scilab ne lit pas les csv (comma separate values) je dois donc remplacer les "," par des " " avec emacs et cela met plus de deux minutes
Partager