Question
Découper fichier texte trop long (+65335 lignes)
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 17 ans 1 mois #3908
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Découper fichier texte
Merci,
et que donnerait ceci sur le même fichier ?
[code:1]
#path par défaut
${C:Fichier.txt}.Count
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 3/02/09 18:01
et que donnerait ceci sur le même fichier ?
[code:1]
#path par défaut
${C:Fichier.txt}.Count
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 3/02/09 18:01
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Bredin Samuel
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 52
- Remerciements reçus 0
il y a 17 ans 1 mois #3910
par Bredin Samuel
Réponse de Bredin Samuel sur le sujet Re:Découper fichier texte
Laurent,
Pas mal aussi.
4 sec 9 millisec.
9 milli de plus mais bien plus simple à écrire.
Pas mal aussi.
4 sec 9 millisec.
9 milli de plus mais bien plus simple à écrire.
Connexion ou Créer un compte pour participer à la conversation.
- Jacques Barathon
- Hors Ligne
- Administrateur
-
Réduire
Plus d'informations
- Messages : 576
- Remerciements reçus 0
il y a 17 ans 1 mois #3911
par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Découper fichier texte
Ca confirme que l'utilisation directe des classes .NET est en général plus rapide. Là, passer de 43 secondes à 4 secondes, ça déchire grave. 
En effet, get-content ajoute des métadonnées à tous les objets lus (c'est-à-dire à chaque ligne), ce qui alourdit considérablement le temps de traitement. La solution, si on veut passer par get-content, c'est clairement d'utiliser le paramètre -readcount. A l'extrême on peut utiliser \"-readcount -1\" qui va lire toutes les lignes d'un coup au lieu de les traiter une par une.
Janel (pas Jamel
)
En effet, get-content ajoute des métadonnées à tous les objets lus (c'est-à-dire à chaque ligne), ce qui alourdit considérablement le temps de traitement. La solution, si on veut passer par get-content, c'est clairement d'utiliser le paramètre -readcount. A l'extrême on peut utiliser \"-readcount -1\" qui va lire toutes les lignes d'un coup au lieu de les traiter une par une.
Janel (pas Jamel
Connexion ou Créer un compte pour participer à la conversation.
- Bredin Samuel
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 52
- Remerciements reçus 0
il y a 17 ans 1 mois #3912
par Bredin Samuel
Réponse de Bredin Samuel sur le sujet Re:Découper fichier texte
Un petit recap dans l'ordre des plus mauvaises aux meilleurs perfs :
Moyenne du temps de 2 essais chacun
[code:1]
1:
(gc C:\Fichier.txt).Count
2:
([System.IO.File]::ReadAllLines('C:\Fichier.txt')).Count
3:
${C:\Fichier.txt}.count
4:
(gc C:\Fichier.txt -ReadCount -1).Count
[/code:1]
Ce qui donne respectivement :
1: 42.613 sec
2: 5.071 sec
3: 3.976 sec
4: 3.773 sec
En conclusion le paramètre \"ReadCount -1\" est non-négligeable.
Moyenne du temps de 2 essais chacun
[code:1]
1:
(gc C:\Fichier.txt).Count
2:
([System.IO.File]::ReadAllLines('C:\Fichier.txt')).Count
3:
${C:\Fichier.txt}.count
4:
(gc C:\Fichier.txt -ReadCount -1).Count
[/code:1]
Ce qui donne respectivement :
1: 42.613 sec
2: 5.071 sec
3: 3.976 sec
4: 3.773 sec
En conclusion le paramètre \"ReadCount -1\" est non-négligeable.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 17 ans 1 mois #3928
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Découper fichier texte
Mephisto écrit:
Je te remercie
Super !Un petit recap dans l'ordre des plus mauvaises aux meilleurs perfs
Je te remercie
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.097 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Découper fichier texte trop long (+65335 lignes)