Вверх ↑
Этот топик читают: Гость
Ответов: 8888
Рейтинг: 823
#301: 2013-05-19 17:51:01 ЛС | профиль | цитата
nesco, не надо тему в корзину, пригодится воды напиться!
карма: 19

0
Ответов: 9906
Рейтинг: 351
#302: 2013-05-19 18:20:52 ЛС | профиль | цитата
У nesco уже условный рефлекс выработался на магическое сочетание цифр

Надо знакомые слова использовать:
nesco, а всю тему-то - за что

карма: 9

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#303: 2013-05-19 19:11:49 ЛС | профиль | цитата
Ой! Пардонсе, точно, сейчас верну
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#304: 2013-05-19 21:44:34 ЛС | профиль | цитата
seagai писал(а):
схемка цикл с подсчетом длины
Схемкой поделись.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 9906
Рейтинг: 351
#305: 2013-05-19 22:33:28 ЛС | профиль | цитата
Tad писал(а):
использование ассемблера оправдано в двух случаях:
1. Обработка большого количества данных.
2. В высокоскоростных подпрограммах работы с дисплеем


Коллосальное знание предмета.

Вот вопрос: я трачу день, чтобы некий код (даже могу показать какой) начал работать в полтора раза быстрее. Этим воспользовалось тысячу пользователей. И сэкономили ватт-час электроэнергии, предположим - каждый.
Оправдано ли.

Здесь различие в идеологиях: IT-ной, и до нее. Инженерная разработка делается для того, чтобы цена разработки утонула в цене изделия.
А IT-шники экономят время на разработку, не освоивши ее азов.



карма: 9

0
Ответов: 16884
Рейтинг: 1239
#306: 2013-05-20 00:07:50 ЛС | профиль | цитата
Galkov писал(а):
съэкономили
Galkov писал(а):
Коллосальное
Колоссальное знание русского языка.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26066
Рейтинг: 2120
#307: 2013-05-20 00:16:58 ЛС | профиль | цитата
Если оппоненту сказать нечего, он начинает до@бываться до знаний языка (с просторов нэта)
карма: 22

0
Ответов: 9906
Рейтинг: 351
#308: 2013-05-20 07:38:37 ЛС | профиль | цитата
Ну давайте посмотрим на Кладова (в смысле - KOL).
Вот у него - большая часть на asm-е написана.

Спрашивается, он настолько тупой, что не постиг Знания, изложенного Tad-ом
Или по жизни ему делать нефиг

Для тех, кому интересен НЕ процесс словоблудия, а настоящие Знания - вопросы должны быть интересны.

[flood]PS даже исправлять не буду. Хотя обычно это делаю.
Ошибся - значит ошибся. Пусть дитя потешится - Акела промахнулся.[/flood]
карма: 9

0
Гость
Ответов: 17029
Рейтинг: 0
#309: 2013-05-20 21:21:34 правка | ЛС | профиль | цитата


Редактировалось 9 раз(а), последний 2022-09-20 01:35:31
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#310: 2013-05-21 20:34:33 ЛС | профиль | цитата
Опять выкинуло.
Выше я.
В StrList указать путь к текстовому файлу.
------------ Дoбавленo в 21.32:
nesco писал(а):
Если оппоненту сказать нечего
nesco, просто на
Galkov писал(а):
Вот вопрос: я трачу день, чтобы некий код (даже могу показать какой) начал работать в полтора раза быстрее. Этим воспользовалось тысячу пользователей. И сэкономили ватт-час электроэнергии, предположим - каждый.
Ну и что можно ответить ? Просто он за день работы потратил больше ватт-часов, чем сэкономила тысяча пользователей.
Поневоле начнёшь искать ошибки в тексте сообщения. И мне совсем не интересен "процесс словоблудия" кого-бы то ни было.

------------ Дoбавленo в 20.34:
nesco, посмотри у себя.
Это схема:

Add(MainForm,11106523,245,70)
{
Width=265
Height=252
Caption="DELPHI 4"
link(onCreate,10386734:doEvent1,[])
}
Add(StrList,13149159,378,56)
{
FileName="..License.txt"
}
Add(Button,13319121,161,196)
{
Left=40
Top=175
Caption="TEST"
link(onClick,3481352:doEvent1,[])
}
Add(Str_Enum,2258172,490,196)
{
Delimiter=" "
link(String,3426764:Var2,[])
}
Add(TimeCounter,6856819,308,196)
{
Precision=1
link(onStart,11548312:doFor,[])
link(onStop,1349864:doText,[(361,209)(361,244)])
}
Add(TimeCounter,9371103,308,287)
{
Precision=1
link(onStart,11792497:doFor,[])
link(onStop,12807532:doText,[(358,300)(358,335)])
}
Add(InlineCode,2448795,455,287)
{
WorkPoints=#6:doEnum|
EventPoints=#6:onEnum|9:onEndEnum|
DataPoints=#3:Str|
Code=#15:unit HiAsmUnit;|13:// Author Tad|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|7: str,|10: onEnum,|25: onEndEnum : THI_Event;|51: PROCEDURE doEnum(var _Data:TData; Index:Word);|0:|5: end;|0:|14:implementation|0:|29:PROCEDURE THiAsmClass.doEnum;|13:var s:string;|17: i, k:integer;|5:BEGIN|8: k:=1;|25: s:=toStringEvent(str);|27: for i:=1 to Length(s) do|20: if s[i]= then |9: begin|41: _hi_onEvent(onEnum, Copy(s,k,i-k));|13: k:=i+1;|8: end;|40: _hi_onEvent(onEnum, CopyEnd(s,k));|29: _hi_onEvent(onEndEnum);|12: s:='; |4:END;|0:|0:|4:end.|
link(Str,3426764:Var1,[(461,180)])
}
Add(Label,1349864,490,238)
{
Left=140
Top=25
Width=80
Height=30
Font=[Courier New,12,1,0,204]
Caption=""
AutoSize=1
Alignment=1
}
Add(Label,12807532,497,329)
{
Left=140
Top=65
Width=80
Height=30
Font=[Courier New,12,1,0,204]
Caption=""
AutoSize=1
Alignment=1
}
Add(GetDataEx,3426764,490,175)
{
link(Data,9098684:Text,[])
}
Add(For,11548312,399,196)
{
End=999
link(onEvent,2258172:doEnum,[])
link(onStop,6856819:doStop,[(444,209)(444,257)(296,257)(296,209)])
}
Add(For,11792497,399,287)
{
End=999
link(onEvent,2448795:doEnum,[])
link(onStop,9371103:doStop,[(443,300)(443,345)(296,345)(296,300)])
}
Add(Memory,2748844,602,196)
{
}
Add(Memory,2382537,609,287)
{
}
Add(Label,14697089,161,252)
{
Left=15
Top=25
Width=93
Height=108
Font=[Consolas,12,1,16711680,204]
Caption="Str_enum

IC_enum

IC_Pascal
"
AutoSize=1
Alignment=1
}
Add(Hub,3481352,224,196)
{
OutCount=3
link(onEvent1,6856819:doStart,[])
link(onEvent2,9371103:doStart,[(273,209)(273,293)])
link(onEvent3,13089441:doStart,[(268,216)(268,391)])
}
Add(InlineCode,15830598,539,385)
{
WorkPoints=#6:doEnum|
EventPoints=#6:onEnum|9:onEndEnum|
DataPoints=#3:Str|
Code=#15:unit HiAsmUnit;|13:// Author Tad|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|7: str,|10: onEnum,|25: onEndEnum : THI_Event;|51: PROCEDURE doEnum(var _Data:TData; Index:Word);|0:|5: end;|0:|14:implementation|0:|29:PROCEDURE THiAsmClass.doEnum;|18:var s, ss :string;|23: i, k, j, m:integer;|5:BEGIN|16: k:=1; ss:=';|25: s:=toStringEvent(str);|21: if s=' then exit;|27: for i:=1 to Length(s) do|20: if s[i]= then |9: begin|41: for j:=k to i-1 do ss := ss + s[j];|30: _hi_onEvent(onEnum, ss);|13: k:=i+1;|13: ss:=';|8: end;|43: for j:=k to Length(s) do ss:=ss+s[j];|35: _hi_onEvent(onEnum, ss); |29: _hi_onEvent(onEndEnum);|22: s:='; ss:='; |4:END;|0:|0:|4:end.|
link(Str,3426764:Var3,[(545,180)])
}
Add(StrList,9098684,490,91)
{
}
Add(Trim,16046146,378,112)
{
Mode=7
link(onTrim,9098684:doText,[])
link(Text,13149159:Text,[])
}
Add(Hub,10386734,315,84)
{
link(onEvent1,13149159:doLoad,[])
link(onEvent2,16046146:doTrim,[(353,97)(353,118)])
}
Add(TimeCounter,13089441,308,385)
{
Precision=1
link(onStart,16487367:doFor,[])
link(onStop,2711271:doText,[(372,398)(372,427)])
}
Add(Label,2711271,497,421)
{
Left=140
Top=105
Width=80
Height=30
Font=[Courier New,12,1,0,204]
Caption=""
AutoSize=1
Alignment=1
}
Add(For,16487367,399,385)
{
End=999
link(onEvent,15830598:doEnum,[])
link(onStop,13089441:doStop,[(443,398)(443,440)(293,440)(293,398)])
}
Add(Memory,7188861,609,385)
{
}

У меня вот такая картина (Название формы - использованный компилятор)
teststrenum.gif
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1teststrenum.gif [73.4KB] [755]
Ответов: 9906
Рейтинг: 351
#311: 2013-05-21 23:19:07 ЛС | профиль | цитата
Обнови Str_Enum, и не морочь людям голову.
карма: 9

0
Ответов: 16884
Рейтинг: 1239
#312: 2013-05-22 10:08:24 ЛС | профиль | цитата
Galkov писал(а):
Обнови Str_Enum
Обновил. Ну и что ? Кака была - кака есть.(с)
Для тех, кому лень вникнуть, выкладываю ещё одну картинку.
Верхний ряд - без "нагрузки".
Нижний ряд - с "нагрузкой" Memory.
test2strenum.gif
Людям мои извинения за то, что морочу голову.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1test2strenum.gif [152.4KB] [751]
Ответов: 1535
Рейтинг: 176
#313: 2013-05-22 10:25:32 ЛС | профиль | цитата
р65р.jpg
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#314: 2013-05-22 11:06:26 ЛС | профиль | цитата
ser_davkin, проверь, похоже, что у тебя файл не грузится
------------ Дoбавленo в 11.02:
Tad писал(а):
Обновил

Странно как-то обновил

Без нагрузки
result_001.png
С нагрузкой
result_002.png
------------ Дoбавленo в 11.06:
Я не вижу большой разницы между между Str_Enum и IC_Enum, учитывая еще и то, что в Str_Enum стоит еще куча условий
карма: 22

0
файлы: 2result_001.png [15.9KB] [739], result_002.png [19KB] [853]
Ответов: 9906
Рейтинг: 351
#315: 2013-05-23 11:44:24 ЛС | профиль | цитата
Tad писал(а):
Обновил. Ну и что ? Кака была - кака есть.(с)

Понятно, это твой стиль.
Демонстрирующий (не побоюсь этого слова ) коллосальное знание предмета.

Разница быстродействия элемента (который был), и твоих IC-кодов заключается в асимптотике.
Первый - O(N^2), остальные - O(N).
А не в каких-то там цифирьках, зависящих от компилятора, и/или компьютера.

Сравнивать быстродействие алгоритмов с разной асимптотикой - глупое занятие.
License.txt - не самый представительный текст. В нем всего 400 слов. Возьми kol.pas (в нем 500000) - и посмотри свое "Ну и что ?"

Сегодняшний Str_Enum имеет асимптотику O(N), плюс около 30% потерь на пляску с бубном вокруг разных "универсальностей".
Мне представляется конкретный вопрос про Str_Enum закрытым.



Ну ты помнишь: у нас разные подходы.
Я понятно продемонстрировал разницу


------------ Дoбавленo в 11.44:
Похоже, что Tad решил реально проверить старый Str_Enum на миллионе слов. И по тысяче раз на каждом компиляторе.
Ну что же. Подход обязывает.
карма: 9

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