Настройка производительности при переборе коллекций FileSystemObject
Я не знаю, сколько система хранит в памяти в этой строке For Each objFile in objFolder.Files
и итерации ли, используя что-то вроде objFile.Files.Count
было бы более выгодно. Кто-нибудь знает, если использование следующего кода создаст какие-либо существенные проблемы с производительностью?
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
'Get the folder object associated with the directory
Dim objFolder
Set objFolder = objFSO.GetFolder("C:\InetPub\wwwroot")
Response.Write "The files found in " & objFolder.Name & ":<br>"
'Loop through the Files collection
Dim objFile
For Each objFile in objFolder.Files
Response.Write objFile.Name & "<br>"
Next
'Clean up!
Set objFolder = Nothing
Set objFile = Nothing
Set objFSO = Nothing
1 ответ
Решение
Я не знаю, сколько система хранит в памяти в этой строке For Every objFile в objFolder.Files
Не уверен, что вы имеете в виду, но это просто зацикливает коллекцию объектов File, которые не будут использовать много памяти. Этот вызов явно не будет загружать содержимое файлов в память, если это ваш вопрос.