Bonjour,
J'ai une demande et j'ai besoin de vos aides. En r=E9alit=E9, J'ai fichier
XML "input.xml" de taille volumineux. Pour lire ce fichier, j'ai
utilis=E9 la fonction 'lire_fichier(nom de fichier)'.
Dans mon cas, je dois d=E9composer ce fichier xml en plusieurs fichiers
XML selon des crit=E8res bien d=E9finis.
Supposons que N est le nombre de ces fichiers d=E9compos=E9s.
Je vais faire le m=EAme traitement X pour chacun de ces N fichiers
Voici une partie de code:
for(i=3D1;i <=3D N;i++)
{
sprintf(tmp,"input%d",i);
lire_fichier(tmp);
//le m=EAme traitement X
..........
............
}
J'ai test=E9 ce code sur ma machine alors ceci prendre beaucoup de
temps.
Mon but est d'avoir le temps d'ex=E9cution le moins possible.
Est ce que c'est possible d'avoir un temps plus longue si on a
travaille sur les N fichiers au lieu de travailler sur un seul fichier
ou bien ceci d=E9pend d'autres facteurs?
Dans mon cas, est ce que le m=E9canisme de parall=E9lisme est possible ?
c'est =E0 dire on ex=E9cute chaque traitement sur une machine portant un
fichier et donc on va utiliser N machines ?
C'est =E0 dire on lance le traitement en m=EAme temps. Mais, ceci garantie
que on va obtenir le r=E9sultat en un temps le moins possible ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
marc
On 30 oct, 11:34, programmation wrote:
.... Dans mon cas, est ce que le mécanisme de parallélisme est possible ? c'est à dire on exécute chaque traitement sur une machine portant un fichier et donc on va utiliser N machines ? C'est à dire on lance le traitement en même temps. Mais, ceci garanti e que on va obtenir le résultat en un temps le moins possible ?
Pourquoi "N machines" ? Fais du multi-threading (n threads)
On 30 oct, 11:34, programmation <bouali.a...@gmail.com> wrote:
....
Dans mon cas, est ce que le mécanisme de parallélisme est possible ?
c'est à dire on exécute chaque traitement sur une machine portant un
fichier et donc on va utiliser N machines ?
C'est à dire on lance le traitement en même temps. Mais, ceci garanti e
que on va obtenir le résultat en un temps le moins possible ?
Pourquoi "N machines" ?
Fais du multi-threading (n threads)
.... Dans mon cas, est ce que le mécanisme de parallélisme est possible ? c'est à dire on exécute chaque traitement sur une machine portant un fichier et donc on va utiliser N machines ? C'est à dire on lance le traitement en même temps. Mais, ceci garanti e que on va obtenir le résultat en un temps le moins possible ?
Pourquoi "N machines" ? Fais du multi-threading (n threads)
programmation
> Pourquoi "N machines" ? Fais du multi-threading (n threads)
Bonjour,
J'ai un fichier bien défini X et N fichiers Y de même format.
A chaque fois je compare le fichier X avec un de N fichiers. Donc j'ai N comparaisons.
le but de comparaison est chercher les lignes qui existent dans X et qui n'existent pas dans Y
Le principe de comparaison entre les deux fichiers X et Y: on lit ligne par ligne de fichier X et on parcoure tout le fichier Y s'il n'existe pas cette ligne dans Y alors on affiche cette ligne etc ...
Voici un pseudo code :
<code type="c"> for(i=1;i<=N;i++) while(fgets(s,100,X)) while(fgets(s,100,Y[i])) //chercher les lignes qui existent dans X et qui n'existent pas dans Y
</code>
On a ici le même traitement : chercher les lignes qui existent dans X et qui n'existent pas dans Y
Que proposez vous ?
C'est quoi le multi-threading (n threads) et comment adapter ceci à mon cas ?
Merci.
> Pourquoi "N machines" ?
Fais du multi-threading (n threads)
Bonjour,
J'ai un fichier bien défini X et N fichiers Y de même format.
A chaque fois je compare le fichier X avec un de N fichiers. Donc j'ai
N comparaisons.
le but de comparaison est chercher les lignes qui existent dans X et
qui n'existent pas dans Y
Le principe de comparaison entre les deux fichiers X et Y:
on lit ligne par ligne de fichier X et on parcoure tout le fichier Y
s'il n'existe pas cette ligne dans Y alors on affiche cette ligne
etc ...
Voici un pseudo code :
<code type="c">
for(i=1;i<=N;i++)
while(fgets(s,100,X))
while(fgets(s,100,Y[i]))
//chercher les lignes qui existent dans X et qui n'existent pas dans Y
</code>
On a ici le même traitement :
chercher les lignes qui existent dans X et qui n'existent pas dans Y
Que proposez vous ?
C'est quoi le multi-threading (n threads) et comment adapter ceci à
mon cas ?
> Pourquoi "N machines" ? Fais du multi-threading (n threads)
Bonjour,
J'ai un fichier bien défini X et N fichiers Y de même format.
A chaque fois je compare le fichier X avec un de N fichiers. Donc j'ai N comparaisons.
le but de comparaison est chercher les lignes qui existent dans X et qui n'existent pas dans Y
Le principe de comparaison entre les deux fichiers X et Y: on lit ligne par ligne de fichier X et on parcoure tout le fichier Y s'il n'existe pas cette ligne dans Y alors on affiche cette ligne etc ...
Voici un pseudo code :
<code type="c"> for(i=1;i<=N;i++) while(fgets(s,100,X)) while(fgets(s,100,Y[i])) //chercher les lignes qui existent dans X et qui n'existent pas dans Y
</code>
On a ici le même traitement : chercher les lignes qui existent dans X et qui n'existent pas dans Y
Que proposez vous ?
C'est quoi le multi-threading (n threads) et comment adapter ceci à mon cas ?