Тест FSO.WriteLine против Open.Print

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Тест FSO.WriteLine против Open.Print

Сообщение vvs_adm » 27.08.2006 (Вс) 0:00

Код: Выделить всё
Option Explicit

Private Sub Command1_Click()
    Dim fso As New FileSystemObject
    Dim ts As TextStream
    Dim i As Long
    Dim sTimer As Single
   
    Set ts = fso.OpenTextFile("C:\temp1.txt", ForAppending, True)
    sTimer = Timer
    For i = 0 To 100000
        ts.WriteLine CStr(i)
    Next i
    Debug.Print Timer - sTimer
    Set ts = Nothing
   
    Open "C:\temp2.txt" For Append As #1
    sTimer = Timer
    For i = 0 To 100000
        Print #1, CStr(i)
    Next i
    Debug.Print Timer - sTimer
    Close #1

    Open "C:\temp3.txt" For Append As #1
    sTimer = Timer
    For i = 0 To 100000
        Print #1, i
    Next i
    Debug.Print Timer - sTimer
    Close #1
End Sub
Результат теста:
0,8901367
0,171875
0,2971191
Не буду пользоваться FSO (или просто не умею?)
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.08.2006 (Вс) 0:26

Для чего придумали FSO?
Чтобы было удобно использовать его из скриптов.
См. навание библиотеки, в которой он находится.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 27.08.2006 (Вс) 22:52

А у меня различия не такие существенные:
0,34375
0,140625
0,2109375
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

AjaxVS
Постоялец
Постоялец
 
Сообщения: 506
Зарегистрирован: 01.12.2004 (Ср) 13:12
Откуда: Donetsk, Battle.Net

Сообщение AjaxVS » 28.08.2006 (Пн) 4:21

Ого! Я ж вроде тестировал (правда, на VB5, но какая разница), FSO почти не отличался от Print.. Глюкнуло тогда.. Сечас:
Debug писал(а):2,533203
0,3115234
0,4707031

:shock:


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 136

    TopList