powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Какой метод лучше для обработки больших строк?
25 сообщений из 35, страница 1 из 2
Какой метод лучше для обработки больших строк?
    #35314481
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем.
Собственно сабж, какой метод лучше для обработки больших строк?

Задачка следующая:
Есть файл, большого размера, файл вытащенный из базы, и разделенный не нормально
Поэтому приходится, посимвольно прочитывать и парсить, и нормально разделять, т.е. скажем
ненормальный CSV, пропарсить в нормальный CSV

Я делаю так:
1. Считываю весь файл в строковую переменную
2. Обрабатываю строку, при этом результат собираю в строковой переменной
3. Записываю результат в файл

Но в данном случае все прога работает медленно, в алгоритме, в принципе проблем нет,
так как когда я использую вариант, при котором промежуточныйрезультат не собирается в строковую переменную, а сразу записывается в файл, прога работатет гораздо быстрее.
Поэтому нужен метод, который работает гораздо быстрее, чем свои строковые функции VB
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35314628
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: orunbek
> Привет всем.
> Собственно сабж, какой метод лучше для обработки больших строк?
>
> Задачка следующая:
> Есть файл, большого размера, файл вытащенный из базы, и разделенный
> не нормально
> Поэтому приходится, посимвольно прочитывать и парсить, и нормально
> разделять, т.е. скажем
> ненормальный CSV, пропарсить в нормальный CSV

Попытатася сделать "нормальный" CSV сразу при вытаскивании из базы, но я так
понимаю формат CSV был приведён для примера и используется что-то другое.
>
> Я делаю так:
> 1. Считываю весь файл в строковую переменную
> 2. Обрабатываю строку, при этом результат собираю в строковой
> переменной
> 3. Записываю результат в файл
>
> Но в данном случае все прога работает медленно, в алгоритме, в
> принципе проблем нет,
> так как когда я использую вариант, при котором промежуточныйрезультат
> не собирается в строковую переменную, а сразу записывается в файл, прога
> работатет гораздо быстрее.

Это нормальный вариант читать блоками и обрабатывать блок, а не сразу фесь
файл.
для блока объявлять строку для считывания так:
Код: plaintext
Dim sReadBuff As String =  1024 
и читать блоками в 1024 байта. тогда не будет тратится время на
перераспределение строки в памяти.

> Поэтому нужен метод, который работает гораздо быстрее, чем свои
> строковые функции VB

В зависимости от нужд преобразования можно попробовать использовать внешную
утилиту, например gsar121.zip, General
Search And Replace on files. (Documentation & Source). The archive contains
a WIN32 executable.


Вообщем тебе видней ;-)
Удачи

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315131
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за советы, попробую блоками, посмотрим скорость о результатах напишу
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315144
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
черт, блоками не получится
исходные данные у меня в строковой переменной идет

к базе доступа нет, скажем, мне дали тот CSV, который есть
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315197
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпри этом результат собираю в строковой переменнойКаким методом собирается строка?
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315216
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: orunbek
> черт, блоками не получится
> исходные данные у меня в строковой переменной идет
>
> к базе доступа нет, скажем, мне дали тот CSV, который есть

Ничего не понял :)
если это CSV то в строке данные разделены запятой, а строки vbCrLf
при чтении из файла Line input будешь читать строку(блок)
вот пример из справки к Екселю:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim TextLine As String *  256  'читсло символов нужно брать такое,
' чтобы влазила строка, иначе просто обрежет лишние данные :)
Open "TESTFILE" For Input As # 1     ' Open file.
Do While Not EOF( 1 )    ' Loop until end of file.
    Line Input # 1 , TextLine    ' Read line into variable. Читаем в блок
    Debug.Print TextLine    ' Print to the Immediate window. Делаем с ни что 
нужно
'При следующем чтении, эти данные затрутся
Loop
Close # 1     ' Close file.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315223
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
Sub ParseReport(ByRef strInputString$, ByRef strOutputString$)
    Dim lngPos&, lngInputStrLen&, lngPercent&
    Dim strTemp$, strCollector$, lngCollectorLen&
    Dim strResult$, strTempResult$
'Parse string
    strResult = vbNullString: strTempResult = vbNullString
    lngPos =  0 : lngInputStrLen = Len(strInputString)
    strCollector = "": lngCollectorLen =  0 
    Do While lngPos < lngInputStrLen
        lngPos = lngPos +  1 
        lngPercent = (lngPos *  100 ) \ lngInputStrLen
        prbProgress.Value = lngPercent
        DoEvents
    'Read char
        strTemp = Mid$(strInputString, lngPos,  1 )
        If LenB(strTemp) <>  0  Then
            If (strTemp = ",") Or ((lngCollectorLen =  7 ) And (strTemp = "'")) Then
                If strTemp = "," Then
                    lngCollectorLen = lngCollectorLen +  1 
                    If LenB(strTempResult) =  0  Then
                        strTempResult = strCollector
                    Else
                        strTempResult = strTempResult & ";" & strCollector
                    End If
                    strCollector = vbNullString
                ElseIf (lngCollectorLen =  7 ) And (strTemp = "'") Then
                    strTempResult = ClearCRLF(strTempResult)
                    If LenB(strResult) =  0  Then
                        strResult = strTempResult
                    Else
                        strResult = strResult & vbCrLf & strTempResult
                    End If
                    strTempResult = vbNullString
                    lngCollectorLen =  0 
                    strCollector = strTemp
                End If
            Else
                strCollector = strCollector & strTemp
            End If
        End If
    Loop
    strOutputString = strResult
End Sub
В параметрах входная строка, и выходная строка
и ClearCRLF
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Function ClearCRLF(ByVal strInputString) As String
    Dim strResult$
    strResult = Replace$(strInputString, vbCr, "")
    strResult = Replace$(strInputString, vbLf, "")
    strResult = Replace$(strInputString, vbCrLf, "")
    strResult = Trim$(strResult)
    ClearCRLF = strResult
End Function
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315241
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно, самым медленным способом - конкатенацией. Стыдно должно быть за незнание других.
Оформить в класс и юзать вместо &:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
Option Explicit
Private LenTxt As Long
Private TxtBuf As String
Private LenBuf As Long

Private Sub Class_Initialize()
    LenBuf =  255 
    TxtBuf = Space(LenBuf)
End Sub

Public Sub Append(ByRef nStr As String)
Dim LenStr As Long
    LenStr = Len(nStr)
    If LenStr =  0  Then Exit Sub
    If (LenTxt + LenStr) > LenBuf Then
        LenBuf = (LenTxt + LenStr) *  2 &
        TxtBuf = TxtBuf & Space$(LenBuf)
    End If
    Mid$(TxtBuf, LenTxt +  1 &) = nStr
    LenTxt = LenTxt + LenStr
End Sub

Public Property Get Result() As String
    Result = Left$(TxtBuf, LenTxt)
End Property

Public Function Clear()
    LenBuf =  255 
    LenTxt =  0 
    TxtBuf = Space(LenBuf)
End Function
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315245
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: orunbek
> В параметрах входная строка,

А какая строка на вход дается? Кусочек можно?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315248
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заодно ознакомиться с тынцем .
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315258
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще пара моментов: если работа все равно происходит посимвольно, лучше перед парсингом конвертировать строку в байтовый массив, проверки типа strTemp = "," будут быстрее.
Код: plaintext
1.
2.
3.
If (strTemp = ",") Or ((lngCollectorLen =  7 ) And (strTemp = "'")) Then
    If strTemp = "," Then
...
    ElseIf (lngCollectorLen =  7 ) And (strTemp = "'")
Зачем дублировать условия? Тем более строчные.
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315276
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Косяков предостаточно. Можно упростить это:
авторSub ClearCRLF(strInputString as String)
Dim strResult$
strInputString = Replace$(strInputString, vbCr, "")
strInputString = Replace$(strInputString, vbLf, "")
strInputString = Trim$(strResult)
End Sub
strInputString был объявлен как variant - двойная неявная конвертация. Передача параметра ByVal медленнее ByRef. И вообще передача параметров в VB - операция тормозная. Лучше эти строчки переместить в основной цикл.
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315281
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибся...
Код: plaintext
1.
2.
3.
4.
Sub ClearCRLF(strInputString as String) 
    strInputString = Replace$(strInputString, vbCr, "")
    strInputString = Replace$(strInputString, vbLf, "")
    strInputString = Trim$(strInputString)
End Sub
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315286
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос
> Автор: orunbek
> черт, блоками не получится
> исходные данные у меня в строковой переменной идет
>
> к базе доступа нет, скажем, мне дали тот CSV, который есть

Ничего не понял :)
если это CSV то в строке данные разделены запятой, а строки vbCrLf
при чтении из файла Line input будешь читать строку(блок)
вот пример из справки к Екселю:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim TextLine As String *  256  'читсло символов нужно брать такое,
' чтобы влазила строка, иначе просто обрежет лишние данные :)
Open "TESTFILE" For Input As # 1     ' Open file.
Do While Not EOF( 1 )    ' Loop until end of file.
    Line Input # 1 , TextLine    ' Read line into variable. Читаем в блок
    Debug.Print TextLine    ' Print to the Immediate window. Делаем с ни что 
нужно
'При следующем чтении, эти данные затрутся
Loop
Close # 1     ' Close file.

Posted via ActualForum NNTP Server 1.4
Я же говорил что это "неправильный CSV", это просто текстовый файл, в котором значения разделены запятыми, а строки vbCrLf, только в определенных, некоторые строки не разделяются, они сливаются, и это делается беспорядочно
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315326
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот как оно должно выглядеть в идеале:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
Sub ParseReport(ByRef strInputString$, ByRef strOutputString$)
Dim arr() As Byte
Dim cApp As New clsConcat
Dim lngPos&, lngInputStrLen&, lngPercent&
Dim strCollector$, lngCollectorLen&
Dim strResult$, strTempResult$
    strResult = vbNullString: strTempResult = vbNullString
    lngPos =  0 : lngInputStrLen = Len(strInputString)
    strCollector = "": lngCollectorLen =  0 
    arr = StrConv(strInputString$, vbFromUnicode)
    Do While lngPos < lngInputStrLen
        lngPercent = (lngPos *  100 ) \ lngInputStrLen
        prbProgress.Value = lngPercent
        DoEvents
        If arr(lngPos) =  44  Then
            lngCollectorLen = lngCollectorLen +  1 
            If LenB(strTempResult) =  0  Then
                strTempResult = strCollector
            Else
                strTempResult = strTempResult & ";" & strCollector
            End If
            strCollector = vbNullString
        ElseIf (lngCollectorLen =  7 ) And (arr(lngPos) =  39 ) Then
            strTempResult = ClearCRLF(strTempResult)
            If LenB(strResult) =  0  Then
                strResult = strTempResult
            Else
                strResult = strResult & vbCrLf & strTempResult
            End If
            strTempResult = vbNullString
            lngCollectorLen =  0 
            strCollector = strTemp
        Else
            cApp.Append Chr$(arr(lngPos))
        End If
        lngPos = lngPos +  1 
    Loop
    strOutputString = cApp.Result
End Sub
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315339
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вернее так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Sub ParseReport(ByRef strInputString$, ByRef strOutputString$)
Dim arr() As Byte
Dim cApp As New clsConcat
Dim lngPos&, lngInputStrLen&, lngPercent&
Dim strCollector$, lngCollectorLen&
Dim strTempResult$
    strTempResult = vbNullString
    lngPos =  0 : lngInputStrLen = Len(strInputString)
    strCollector = "": lngCollectorLen =  0 
    arr = StrConv(strInputString$, vbFromUnicode)
    Do While lngPos < lngInputStrLen
        lngPercent = (lngPos *  100 ) \ lngInputStrLen
        prbProgress.Value = lngPercent
        DoEvents
        If arr(lngPos) =  44  Then
            lngCollectorLen = lngCollectorLen +  1 
            strTempResult = strTempResult & ";" & strCollector
            strCollector = vbNullString
        ElseIf (lngCollectorLen =  7 ) And (arr(lngPos) =  39 ) Then
            ClearCRLF strTempResult
            cApp.Append vbCrLf
            cApp.Append strTempResult
            strTempResult = vbNullString
            lngCollectorLen =  0 
            strCollector = arr(lngPos)
        Else
            cApp.Append Chr$(arr(lngPos))
        End If
        lngPos = lngPos +  1 
    Loop
    strOutputString = cApp.Result
End Sub
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315341
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyКосяков предостаточно. Можно упростить это:
авторSub ClearCRLF(strInputString as String)
Dim strResult$
strInputString = Replace$(strInputString, vbCr, "")
strInputString = Replace$(strInputString, vbLf, "")
strInputString = Trim$(strResult)
End Sub
strInputString был объявлен как variant - двойная неявная конвертация. Передача параметра ByVal медленнее ByRef. И вообще передача параметров в VB - операция тормозная. Лучше эти строчки переместить в основной цикл.
проморгал, я сначал скрипт написал, потом в VB переделывал...
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315357
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А совсем хорошо так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
Sub ParseReport(ByRef strInputString$, ByRef strOutputString$)
Dim arr() As Byte
Dim cApp As New clsConcat
Dim lngPos&, lngInputStrLen&, lngPercent&
Dim strCollector$, lngCollectorLen&
Dim strTempResult$
    strTempResult = vbNullString
    lngPos =  0 : lngInputStrLen = Len(strInputString)
    strCollector = "": lngCollectorLen =  0 
    arr = StrConv(strInputString$, vbFromUnicode)
    Do While lngPos < lngInputStrLen
        lngPercent = (lngPos *  100 ) \ lngInputStrLen
        prbProgress.Value = lngPercent
        DoEvents
        If arr(lngPos) =  44  Then
            lngCollectorLen = lngCollectorLen +  1 
            strTempResult = strTempResult & ";" & strCollector
            strCollector = vbNullString
        ElseIf (lngCollectorLen =  7 ) And (arr(lngPos) =  39 ) Then
            cApp.Append vbCrLf
            cApp.Append Trim$(strTempResult)
            strTempResult = vbNullString
            lngCollectorLen =  0 
            strCollector = arr(lngPos)
        ElseIf arr(lngPos) <>  10  And arr(lngPos) <>  13  Then
            cApp.Append Chr$(arr(lngPos))
        End If
        lngPos = lngPos +  1 
    Loop
    strOutputString = cApp.Result
End Sub
Можно избавиться от дурацких реплейсов.
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315358
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо Antonariy, большое
Сейчас уже на 2 минуты быстрее, попробую вариант с массивом
о результате напишу :)
Спасибо еще раз
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315374
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чей-то я увлекся)))
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Sub ParseReport(ByRef strInputString$, ByRef strOutputString$)
Dim arr() As Byte
Dim cApp As New clsConcat
Dim cAppTemp As New clsConcat
Dim lngPos&, lngInputStrLen&, lngPercent&
Dim strCollector$, lngCollectorLen&
    strTempResult = vbNullString
    lngPos =  0 : lngInputStrLen = Len(strInputString)
    strCollector = "": lngCollectorLen =  0 
    arr = StrConv(strInputString$, vbFromUnicode)
    Do While lngPos < lngInputStrLen
        lngPercent = (lngPos *  100 ) \ lngInputStrLen
        prbProgress.Value = lngPercent
        DoEvents
        If arr(lngPos) =  44  Then
            lngCollectorLen = lngCollectorLen +  1 
            cAppTemp.Append ";" & strCollector
            strCollector = vbNullString
        ElseIf (lngCollectorLen =  7 ) And (arr(lngPos) =  39 ) Then
            cApp.Append vbCrLf & cAppTemp.Result
            cAppTemp.Clear
            lngCollectorLen =  0 
            strCollector = arr(lngPos)
        ElseIf arr(lngPos) <>  10  And arr(lngPos) <>  13  Then
            cApp.Append Chr$(arr(lngPos))
        End If
        lngPos = lngPos +  1 
    Loop
    strOutputString = cApp.Result
End Sub
Заводить еще один объект для strCollector смысла нет - оно в длину не превышает 7 символов.
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315381
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда исправил ClearCRLF, работать стал на 2 минуты быстрее,
вариант с массивами и с классом - на 4 минуты, только выходные данные уже некорректные ;)
Но, в принципе я понял, переделаю под вариант с массивами
Но все равно спасибо! Супер!

AntonariyПонятно, самым медленным способом - конкатенацией. Стыдно должно быть за незнание других.

Про это действительно не слышал, может быть, из-за того что раньше не приходилось обрабатывать большие текстовые файлы ;)
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315393
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЗаодно ознакомиться с тынцем .
супер сайт! спасибо за ссылку!
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35315465
Chelovek Tapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вам в массив все перекинуть не подойдет?
Я парсил HTML-код по следующим образом
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
    TegiStrMassiv( 1 ) = "<TABLE"
    TegiStrMassiv( 2 ) = "</TABLE"
    TegiStrMassiv( 3 ) = "<TR"
    TegiStrMassiv( 4 ) = "<TH"
    TegiStrMassiv( 5 ) = "<TD"
    TegiStrMassiv( 6 ) = "</TR"
    
    Erase VihodnoiMassiv: RazmerMassiv =  0 
    ...
    ...
    ...
    Open strPut For Input As # 1 
    Do Until EOF( 1 )
        DoEvents
        Line Input # 1 , TxtHelp
        HitriiIndex = HitriiIndex +  1 
        ReDim Preserve HitriiMassiv( 1  To HitriiIndex)
        HitriiMassiv(HitriiIndex) = TxtHelp
    Loop
    
    Txt = Join(HitriiMassiv, "")
    
    Erase HitriiMassiv
    Close # 1 
    
    For i =  1  To  6 
        Txt = Replace(Txt, TegiStrMassiv(i), Chr( 134 ) & Chr( 134 ) & Chr( 134 ) & TegiStrMassiv(i), , ,  1 )
    Next i
    
    VihodnoiMassiv = Split(Txt, Chr( 134 ) & Chr( 134 ) & Chr( 134 ))
    RazmerMassiv = UBound(VihodnoiMassiv)
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35316218
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chelovek TapokА вам в массив все перекинуть не подойдет?

Насчет этого незнаю, так как уже нашел приемлемый метод,
единственное класс, который предложил Antonariy заменил на этот:
Fast String concatenation with the String Class
Отличие класса в том, что конкатенация делается через API CopyMemory
Обработка строки теперь делается за 15 секунд ;)
...
Рейтинг: 0 / 0
Какой метод лучше для обработки больших строк?
    #35316308
Chelovek Tapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вы попробуйте мой вариант (у меня самые объемные страницы обрабатываются не более чем за 2 сек), большая часть времени уходит на скачивание.
P.S. Мне и самому интересно, какой из этих вариантов эффективнее, только сейчас не могу проверить.
...
Рейтинг: 0 / 0
25 сообщений из 35, страница 1 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Какой метод лучше для обработки больших строк?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]