С5.0 ШВС, Вынь ХР.
Есть текстовый файлик, типа csv. Большой на 500 метров. Надо некие поля из него перегнать в tps. Все локально. Вот сгенерил порцедуру как обычно типа process... Уже 4 часа работает, а обработано всего 6 метров..
Как бы ускорить???
Астахов Михаил mihael_a@mtu-net.ru (Диатоника)
(Добавление)
Для записи в tps скобки stream и flush (или logout, commit) с периодическим сбросом (~1000 записей), для чтения - buffers. Вместо process проще window.
Насколько помню, была закачка ~15 мег около полминуты на Cel400 и Win98.
С уважением,
Вячеслав Черников support@finsoft.ryazan.ru
Я давно этим безобразием не занимался..мона пример?
stream(file_текстовый)
прочитал строчку из текстового файла
разобрал ее
присвоиk поля в tps
append(file_tps) (или add? хотя add медленнее буит?)
flush(текстовый_файл). Так?
Астахов Михаил
Написал: ClaList(2)
Вопрос про ускорение обработки фалов
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Михаил,
С уважением,
Вячеслав Черников
Сорри, маленькая поправка:
С уважением,
Вячеслав Черников
Написал: ClaList(2)
Код: Выделить всё
num#=0
stream(file)
set(text)
loop
next(text)
if error()
break
.
!!!!!!!!!!!!!
!разбор строки и присвоение
!!!!!!!!!!
append(file)
num#+=1
if num#>1000
flush(file)
stream(file)
num#=0
.
.
if num#>0
flush(file)
.
build(file)
Вячеслав Черников
Сорри, маленькая поправка:
Код: Выделить всё
num#=0
stream(file)
set(text)
loop
next(text)
if error()
break
.
!!!!!!!!!!!!!
!разбор строки и присвоение
!!!!!!!!!!
append(file)
num#+=1
if num#>1000
flush(file)
stream(file)
num#=0
.
.
flush(file)
build(file)
Вячеслав Черников
Написал: ClaList(2)