probleme de performance avec scripting.filesystemobject
1 réponse
Daniel Blais
Bonjour,
je dois parcourir un repertoire a la fois et afficher les noms des
fichiers et sous-repertoire et c'est tres slow à l'occasion. Le serveur
n'est pas très occupé.
voici mon code (asp) (moins le code html) :
set fso = server.createobject("scripting.filesystemobject")
set fold = fso.getfolder(basedir)
for each fold2 in fold.subfolders
fname = fold2.name
%>
<%=fname%>
<%
end if
next
set fold2 = nothing
Par exemple, un repertoire qui contient 700 sous-repertoire (aucun
fichier), ca prend plus de 7 secondes à parcourir. Si je prend la
commande dir en VBA, ca prend 0.3 sec pour le meme repertoire. C'est
pratiquement 25x plus rapide.
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
jean-marc
"Daniel Blais" wrote in message news:t_Uki.58436$
Bonjour, je dois parcourir un repertoire a la fois et afficher les noms des fichiers et sous-repertoire et c'est tres slow à l'occasion. Le serveur n'est pas très occupé.
voici mon code (asp) (moins le code html) :
set fso = server.createobject("scripting.filesystemobject") set fold = fso.getfolder(basedir) for each fold2 in fold.subfolders fname = fold2.name %> <%=fname%> <% end if next set fold2 = nothing
Par exemple, un repertoire qui contient 700 sous-repertoire (aucun fichier), ca prend plus de 7 secondes à parcourir. Si je prend la commande dir en VBA, ca prend 0.3 sec pour le meme repertoire. C'est pratiquement 25x plus rapide.
Hello,
Ceci est normal. Voici un article qui explique le problème, benchmark à l'appui: http://faq.vb.free.fr/index.php?question6
Solution (théorique) : ne pas utiliser fso.
Solution pratique : aucune idée. Ce groupe est dédié à VB6, et antérieures. Il existe des groupes spécialisés pour le développement web.
"Daniel Blais" <daniel@danielblais.net> wrote in message
news:t_Uki.58436$MY2.340971@weber.videotron.net...
Bonjour,
je dois parcourir un repertoire a la fois et afficher les noms des
fichiers et sous-repertoire et c'est tres slow à l'occasion. Le serveur
n'est pas très occupé.
voici mon code (asp) (moins le code html) :
set fso = server.createobject("scripting.filesystemobject")
set fold = fso.getfolder(basedir)
for each fold2 in fold.subfolders
fname = fold2.name
%>
<%=fname%>
<%
end if
next
set fold2 = nothing
Par exemple, un repertoire qui contient 700 sous-repertoire (aucun
fichier), ca prend plus de 7 secondes à parcourir. Si je prend la
commande dir en VBA, ca prend 0.3 sec pour le meme repertoire. C'est
pratiquement 25x plus rapide.
Hello,
Ceci est normal. Voici un article qui explique le problème,
benchmark à l'appui:
http://faq.vb.free.fr/index.php?question6
Solution (théorique) : ne pas utiliser fso.
Solution pratique : aucune idée. Ce groupe est dédié à VB6,
et antérieures. Il existe des groupes spécialisés pour le
développement web.
Bonjour, je dois parcourir un repertoire a la fois et afficher les noms des fichiers et sous-repertoire et c'est tres slow à l'occasion. Le serveur n'est pas très occupé.
voici mon code (asp) (moins le code html) :
set fso = server.createobject("scripting.filesystemobject") set fold = fso.getfolder(basedir) for each fold2 in fold.subfolders fname = fold2.name %> <%=fname%> <% end if next set fold2 = nothing
Par exemple, un repertoire qui contient 700 sous-repertoire (aucun fichier), ca prend plus de 7 secondes à parcourir. Si je prend la commande dir en VBA, ca prend 0.3 sec pour le meme repertoire. C'est pratiquement 25x plus rapide.
Hello,
Ceci est normal. Voici un article qui explique le problème, benchmark à l'appui: http://faq.vb.free.fr/index.php?question6
Solution (théorique) : ne pas utiliser fso.
Solution pratique : aucune idée. Ce groupe est dédié à VB6, et antérieures. Il existe des groupes spécialisés pour le développement web.