Вверх ↑
Этот топик читают: Гость
Ответов: 6
Рейтинг: 1
#1: 2009-12-22 13:27:59 ЛС | профиль | цитата
Вот у меня есть программа которая выливает комбинации (Она занимается том что собирает отдельные куски базы данных другой программы и собирает это все вместе в зависиммости от там конфигурации, но это все лирика) и она выливает (создает) 3 комбинации за одно время. Я хочу посчитать с какой скоростью программа выливает комбинации.
Логика:
Размер 3-х комбинаций (3 комбинации это постоянное число оно не меняется) складывается (Он м мегабайтах) и делится на затраченное время (в минутах). Итого мы узнаем скорость записи. В этом логе много разных комбинаций выливается нужно что бы программа брала номера этих 3- комбинаций потом читала время от пункта "Выливаются комбинации" до "Комбинирование законченно" потом складывала вес этих помбинаций и в общем вес делила на время затраченное от пункта "Выливаются комбинации" до "Комбинирование законченно".
Ниже привожу лог программы из которого требуется выдрать эту инфу:

code_16083.txt

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

0
файлы: 1code_16083.txt [8.6KB] [437]
vip
#1.1контекстная реклама от партнеров
Ответов: 8609
Рейтинг: 800
#2: 2009-12-22 18:56:24 ЛС | профиль | цитата
Neutrino, раз программа работает с БД, можно, наверное, в ней составить нужный запрос и получить в этом же логе ответ code_16092.txt
карма: 18

0
файлы: 1code_16092.txt [5.8KB] [225]
Ответов: 16884
Рейтинг: 1237
#3: 2009-12-22 21:39:53 ЛС | профиль | цитата
Леонид, не знаю как Вам, а мне не хватает компонента чтения из текстового файла по одной строке.
Вот нашёл свою IC. Может пригодится. Кто его знает какой длины у чел Log. Грузить его весь в память ... видно привычка осталась с тех пор когда 32 кб оперативки было пределом мечтания
code_16098.txt
карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
2
файлы: 1code_16098.txt [1.2KB] [190]
Голосовали:Konst, filyaxxxcom
Ответов: 4641
Рейтинг: 334
#4: 2009-12-22 22:04:43 ЛС | профиль | цитата
Tad, а это не одно и тоже?
Если не трудно...прокомментируй.

------------ Дoбавленo в 22.05:

Add(MainForm,10824360,126,98)
{
Width=607
}
Add(Memory,14785991,182,98)
{
Default=String(License.txt)
}
Add(Button,9103806,126,147)
{
Left=20
Top=15
link(onClick,12721924:doOpen,[])
}
Add(ListBox,13041989,245,238)
{
Left=15
Top=45
Width=575
Height=210
}
Add(FileStream,12721924,182,147)
{
link(onLoad,5834388:doRepeat,[(226,153)(226,188)(175,188)(175,202)])
link(FileName,14785991:Value,[])
}
Add(DataToFile,1223787,182,238)
{
Type=7
link(onGet,13041989:doAdd,[])
link(Stream,12721924:Stream,[])
}
Add(Repeat,5834388,189,196)
{
Check=1
link(onRepeat,1223787:doGet,[(229,202)(229,233)(170,233)(170,251)])
link(Op1,12721924:Size,[])
link(Op2,12721924:Position,[])
}


карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 8609
Рейтинг: 800
#5: 2009-12-22 22:15:46 ЛС | профиль | цитата
Tad, этот IC у меня есть, но я про него забыл
Кстати, по малому знанию Паскаля не увидел в нём, где ограничение (по количеству строк или байт?) на объём чтения? Как бы ликбез провести
------------ Дoбавленo в 22.21:
Ravilr, здесь файл целиком в памяти, а если слишком большой, то ещё и на диске второй экземпляр - нетрудно проверить, открыв какой-либо громадный файл, контролируя объём памяти через диспетчер.
карма: 18

0
Ответов: 4674
Рейтинг: 516
#6: 2009-12-22 22:33:10 ЛС | профиль | цитата
эм, кажись через строки читаем господа.
Neutrino писал(а):
Я хочу посчитать с какой скоростью программа выливает комбинации.


карма: 6

0
Ответов: 4641
Рейтинг: 334
#7: 2009-12-22 22:33:41 ЛС | профиль | цитата
Леонид, понял. спасибо!

Tad, почему тогда его нет в компонентах до сих пор!!!
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 8609
Рейтинг: 800
#8: 2009-12-22 22:35:14 ЛС | профиль | цитата
andrestudio, "Вот приедет топикстартёр, топикстартёр нас рассудит"
карма: 18

0
Ответов: 4641
Рейтинг: 334
#9: 2009-12-22 22:53:46 ЛС | профиль | цитата
Neutrino, держи заготовку
все остальное допишешь сам. А то что ты написал похоже уже на тех задание.
Раздели процесс создание программы на логические этапы и вперед. Что не поймешь спрашивай.
Но предварительно изучи Основы и в справку смотреть не забывай. И все у тебя получится.


Add(MainForm,4304614,119,112)
{
Width=607
}
Add(Memory,14785991,175,112)
{
Default=String(c:\comb.txt)
}
Add(Button,9103806,119,161)
{
Left=20
Top=15
link(onClick,9561268:doSearch,[])
}
Add(ListBox,13041989,518,217)
{
Left=15
Top=45
Width=575
Height=210
}
Add(StrMask,10079257,259,161)
{
Mask="*Выливаются комбинации*"
link(onTrue,3090514:doCopy,[])
}
Add(StrMask,5313637,259,210)
{
Mask="*Комбинирование закончено*"
link(onTrue,4255834:doCopy,[])
}
Add(Hub,11503090,231,161)
{
link(onEvent1,10079257:doCompare,[])
link(onEvent2,5313637:doCompare,[(252,174)(252,216)])
}
Add(DateDiff,10991588,420,217)
{
link(onCalc,7841678:doOperation,[])
link(DateTime2,16515186:Result,[(433,209)(377,209)])
}
Add(DateConvertor,16515186,371,168)
{
Mode=8
Format="dd.MM.yyyy HH:mm:ss"
Point(Result)
}
Add(Copy,3090514,308,168)
{
Position=1
Count=19
link(onCopy,16515186:doConvert,[])
}
Add(Copy,4255834,308,217)
{
Position=1
Count=19
link(onCopy,14646258:doConvert,[])
}
Add(DateConvertor,14646258,371,217)
{
Mode=8
Format="dd.MM.yyyy HH:mm:ss"
Point(Result)
link(onResult,10991588:doCalc,[])
}
Add(Math,7841678,469,217)
{
OpType=3
Op2=60
ResultType=0
link(onResult,13041989:doAdd,[])
}
Add(SearchInFile,9561268,175,161)
{
Text=" "
link(onSearch,11503090:doEvent1,[])
link(FileName,14785991:Value,[])
}


карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1237
#10: 2009-12-22 22:55:48 ЛС | профиль | цитата
Леонид писал(а):
Кстати, по малому знанию Паскаля не увидел в нём, где ограничение (по количеству строк или байт
По кол. строк нет ограничения - читает то по одной строке. А вот ограничение длинну строки (на число байт в строке) - где-то nesco приводил.
------------ Дoбавленo в 22.59:
andrestudio писал(а):
эм, кажись через строки читаем господа
Neutrino писал(а):
Я хочу посчитать с какой скоростью программа выливает комбинации.
andrestudio, как только пойму, что такое "вылить комбинацию" так и подскажу, а пока получается комбинация из трёх ...
карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8609
Рейтинг: 800
#11: 2009-12-22 23:11:36 ЛС | профиль | цитата
Tad, я спрашивал, правильно-ли что команда Readln(F, str); читает по одной линии в str, а где же хранится точка останова?
Ravilr, заготовку во втором посте топика (16092), наверное не видели
карма: 18

0
Ответов: 16884
Рейтинг: 1237
#12: 2009-12-22 23:13:46 ЛС | профиль | цитата
Ravilr писал(а):
Tad, почему тогда его нет в компонентах до сих пор!!!
У меня есть.
Есть (только для текстовых файлов) - Read, Write, ReadWrite, Append, FindText.
карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 4641
Рейтинг: 334
#13: 2009-12-22 23:16:39 ЛС | профиль | цитата
Леонид писал(а):
Ravilr, заготовку во втором посте топика (16092), наверное не видели

не видел.

Tad, Леонид, а вот компонент SearchInFile файл не целиком в память грузит??

Tad писал(а):
У меня есть.

а надо чтобы у всех
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1237
#14: 2009-12-22 23:30:00 ЛС | профиль | цитата
Леонид, команда Readln(F, str) читает одну строку до
выдает её и переходит на начало следующей строки. Точка останова видно хранится где-то внутри процедуры ReadLn (никогда не задавался этим вопросом)
------------ Дoбавленo в 23.31:
Ravilr писал(а):
а вот компонент SearchInFile файл не целиком в память грузит??
Нет не грузит - читает по одной строке. Это моя идея (мой FindText), спасибо nesco за реализацию.
------------ Дoбавленo в 23.47:
Ravilr писал(а):
а надо чтобы у всех
не я решаю
------------ Дoбавленo в 23.55:

карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1326
Рейтинг: 68
#15: 2009-12-23 00:13:22 ЛС | профиль | цитата
здесь файл целиком в памяти, а если слишком большой, то ещё и на диске второй экземпляр - нетрудно проверить, открыв какой-либо громадный файл, контролируя объём памяти через диспетчер


При открытии громадного файла (~80 метров) вариант с IC зависает
------------ Дoбавленo в 00.21:
а при меньшем объеме ( 1,2 метра) в диспетчере задач объем памяти примерно одинаковый.
Add(MainForm,10824360,182,63)
{
Width=607
}
Add(FileStream,12721924,476,182)
{
link(onLoad,5834388:doRepeat,[(520,188)(520,223)(469,223)(469,237)])
link(FileName,1357405:Var3,[(482,135)])
}
Add(DataToFile,1223787,476,273)
{
Type=7
link(onGet,13089276:doEvent1,[])
link(Stream,12721924:Stream,[])
}
Add(Repeat,5834388,483,231)
{
Check=1
link(onRepeat,1223787:doGet,[(523,237)(523,268)(464,268)(464,286)])
link(Op1,12721924:Size,[])
link(Op2,12721924:Position,[])
}
Add(DropFile,5033232,273,56)
{
link(onDropFile,8663227:doValue,[])
}
Add(Hub,13089276,546,273)
{
link(onEvent1,6095622:doProcessMessages,[(588,279)(588,223)])
link(onEvent2,8493684:doNext,[])
}
Add(Application,6095622,616,217)
{
}
Add(Counter,8493684,658,280)
{
Max=1000000
link(onNext,7428892:doText,[])
}
Add(Label,7428892,714,280)
{
Left=135
Top=175
}
Add(InlineCode,8651700,406,378)
{
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(onRead,12495488:doEvent1,[])
link(FileName,1357405:Var2,[])
}
Add(Counter,2200361,581,378)
{
Max=1000000
link(onNext,1392561:doText,[])
}
Add(Hub,12495488,532,378)
{
link(onEvent1,2200361:doNext,[])
link(onEvent2,3881187:doProcessMessages,[(567,391)(567,468)])
}
Add(Label,1392561,637,378)
{
Left=320
Top=175
}
Add(Application,3881187,588,462)
{
}
Add(Memory,8663227,392,56)
{
link(onData,10824360:doCaption,[(440,62)(440,48)(170,48)(170,69)])
}
Add(GetDataEx,1357405,406,130)
{
Angle=3
link(Data,8663227:Value,[(398,135)])
}
Add(Button,12947402,273,182)
{
Left=135
Top=210
Caption="1"
link(onClick,12721924:doOpen,[])
}
Add(Button,8767311,294,378)
{
Left=320
Top=210
Caption="2 IC"
link(onClick,8651700:doRead,[])
}


карма: 2

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