Вверх ↑
Этот топик читают: Гость
Ответов: 4641
Рейтинг: 334
#16: 2009-12-23 00:21:52 ЛС | профиль | цитата
Tad писал(а):
не я решаю

тогда выложи в соответствующий раздел. Там и порешаем

карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1237
#17: 2009-12-23 00:24:12 ЛС | профиль | цитата

------------ Дoбавленo в 00.49:
Konst писал(а):
При открытии громадного файла (~80 метров) вариант с IC зависает
Где зависает ? В моей или твоей схеме ? Если в моей, то виноват ListBox.Add

Add(Memory,14785991,175,84)
{
Default=String(C:A12Street.txt)
}
Add(Button,9103806,70,126)
{
Left=20
Top=15
link(onClick,7961797:doEvent1,[])
}
Add(Label,10587039,287,133)
{
Left=200
Top=20
}
Add(Hub,7961797,133,126)
{
OutCount=3
link(onEvent1,11167105:doStart,[])
link(onEvent2,8651700:doRead,[(161,139)(161,160)])
link(onEvent3,11167105:doStop,[(210,146)(210,139)])
}
Add(TimeCounter,11167105,224,126)
{
link(onStop,15861291:doWork2,[])
}
Add(InlineCode,8651700,175,154)
{
WorkPoints=#6:doRead|
EventPoints=#6:onRead|
VarPoints=#4:tStr|
DataPoints=#8:FileName|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|15: str:string;|9: public|13: FileName,|22: onRead: THI_Event;|49: Procedure doRead(var _Data:TData;Index:Word);|47: Procedure tStr(var _Data:TData;Index:Word);|5: end;|0:|14:implementation|0:|29:Procedure THiAsmClass.doRead;|3:var|14: F: TextFile;|13: fn: string;|5:begin|36: fn := ReadString(_Data, FileName);|34: if not FileExists(fn) then exit;|20: AssignFile(F, fn);|11: Reset(F);|23: while not eof(F) do|11: begin|22: Readln(F, str);|32: _hi_onEvent(onRead, str);|10: end;|15: CloseFile(F);|4:end;|0:|27:procedure THiAsmClass.tStr;|5:begin|23: dtString(_Data, str);|4:end;|4:end.|
link(FileName,14785991:Value,[])
}
Add(HubEx,15861291,273,133)
{
link(onEvent,10587039:doText,[])
}
В Memory запиши имя своего файла и скажи сколько миллисекунд.
У меня читает 800 000 строк за 859
карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 485
Рейтинг: 86
#18: 2009-12-23 01:43:50 ЛС | профиль | цитата
Konst писал(а):
При открытии громадного файла (~80 метров) вариант с IC зависает

Громадного файла говоришь...? IC открыл файл 576 метров за 76 секунд, DataToFile пришлось прервать (не хватило терпения). На файле около двух метров IC быстрее раз в 5-6. Вот такие результаты у меня по этой схеме:
code_16104.txt

карма: 0

0
файлы: 1code_16104.txt [2.2KB] [209]
Ответов: 16884
Рейтинг: 1237
#19: 2009-12-23 12:31:59 ЛС | профиль | цитата
filyaxxxcom, помоему схема немного некорректная (вроде DataToFile без "нагрузки" не работает)
Вот схема:
code_16110.txt

А это результат:


Между прочим IC считает строки верно (в моем файле ровно 803004 строки). Почему-то стримовские компоненты выдали на одну строку больше. Где они её берут нужно разобираться.
Ну и это не время работы IC - время перебора 850 в тех же единицах. Это время перебора строк+счетчик+вывод в Label
------------ Дoбавленo в 13.09:
Леонид писал(а):
здесь файл целиком в памяти, а если слишком большой, то ещё и на диске второй экземпляр - нетрудно проверить, открыв какой-либо громадный файл, контролируя объём памяти через диспетчер.
оба метода не грузят файл целиком в память - использование памяти и загрузка проца почти одинаковы
------------ Дoбавленo в 13.12:
Да filyaxxxcom, а сколько строк в твоем 576 метровом файле ?
карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 2code_16110.txt [3.2KB] [221], test.png [7.9KB] [414]
Ответов: 6
Рейтинг: 1
#20: 2009-12-23 14:42:07 ЛС | профиль | цитата
Леонид писал(а):
раз программа работает с БД, можно, наверное, в ней составить нужный запрос и получить в этом же логе ответ

Это не совсем база данных, это куски файлов из которых комбинатор выливает комбинации.... Вот на разных компьютерах по разному тратится время на выливание комбинации. Вот я как раз хочу подсчитать скорость выливания комбинаций... как раз из лога и нужно выдрать всю инфу. напомню что лог этот создает комбинатор в процессе своей работы.
карма: 1

0
Ответов: 16884
Рейтинг: 1237
#21: 2009-12-23 15:00:24 ЛС | профиль | цитата
Neutrino, смотри второе сообщение в этом топике
Что и сделал Леонид в code_16083.txt посчитал скорость с точностью до долей байта и даже с вероятностью юникода.
(Леонид, скорость до четырнадцатого знака - верх точности )

карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Гость
Ответов: 17029
Рейтинг: 0
#22: 2009-12-23 17:39:15 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2020-03-01 18:55:53
карма: 0

0
Ответов: 16884
Рейтинг: 1237
#23: 2009-12-23 17:41:14 ЛС | профиль | цитата
Пока ликбезился, то улетел в Гости.
Выше - это я
Вот здесь можно почитать подробнее и с примерами
http://www.delphisources.ru/pages/faq/faq_delphi_basics/1Keywords.php.html
карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8609
Рейтинг: 800
#24: 2009-12-23 20:03:33 ЛС | профиль | цитата
Tad, спасибо! особенно за ссылку!
карма: 18

0
Ответов: 1326
Рейтинг: 68
#25: 2009-12-23 20:58:34 ЛС | профиль | цитата
Где зависает ? В моей или твоей схеме ? Если в моей, то виноват ListBox.Add

в обоих. А в схеме code_16110.txt IC выдал время 6614 1 строка, вариант со стримом дошел ~ до 30000 и повесился, загрузка проца до 99% в обоих вариантах. Это просто текстовый файл - лог, WordPad долго но его открывает. Комп AMD 1,9 гиг оперативки.
карма: 2

0
Ответов: 16884
Рейтинг: 1237
#26: 2009-12-23 22:15:55 ЛС | профиль | цитата
Konst, ищи проблему у себя - вроде нормально все Загрузка проца 50%, память вообще не заметно.
карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Гость
Ответов: 17029
Рейтинг: 0
#27: 2009-12-24 09:34:08 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2020-03-01 18:55:53
карма: 0

0
Ответов: 4641
Рейтинг: 334
#28: 2009-12-24 09:53:12 ЛС | профиль | цитата
г. Neutrino1 писал(а):
А как это в HiAsm реализовать ?

Обмен файлами
------------ Дoбавленo в 09.54:
wiki писал(а):
Для того, чтобы с форума вставить схему обратно в среду HiAsm нужно всего лишь скопировать текст схемы и перейдя в среду нажать: Ctrl+V, или Shift+Insert, или <Вставить> в контекстном меню.

карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1237
#29: 2009-12-24 10:02:10 ЛС | профиль | цитата
Ravilr, вот и я говорю
карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1326
Рейтинг: 68
#30: 2009-12-24 16:03:23 ЛС | профиль | цитата
ищи проблему у себя - вроде нормально все Загрузка проца 50%, память вообще не заметно


попробую на другом компе
карма: 2

0
30
Сообщение
...
Прикрепленные файлы
(файлы не залиты)