Вверх ↑
Этот топик читают: Гость
Ответов: 495
Рейтинг: 163
#1: 2012-03-22 19:14:39 ЛС | профиль | цитата
Плюсы и минусы двух предоставленных вариантов построения схемы - "индекс в канал"
В схеме (у меня ) работают одинаково. Вот задумался, а как правильно для (быстродействия, оптимизации, размера...)
Пример: code_27302.txt
карма: 4

0
файлы: 1code_27302.txt [1.3KB] [352]
Ответов: 1429
Рейтинг: 50
#2: 2012-03-22 19:23:54 ЛС | профиль | цитата
Можно измерять:

code_27303.txt
------------ Дoбавленo в 19.23:
Так более точно, разница в 3 раза:

Add(MainForm,2953706,147,252)
{
Width=403
Height=241
}
Add(IndexToChanel,11631242,672,189)
{
Count=18
link(onEvent12,6674507:doWork2,[])
link(onEvent13,7934983:doWork2,[])
link(onEvent14,1245562:doWork2,[])
link(onEvent15,12747404:doWork2,[])
link(onEvent16,9874699:doWork2,[])
link(onEvent17,9874699:doWork3,[(732,307)])
link(onEvent18,11633699:doWork2,[(763,314)(763,279)])
}
Add(If_else,416891,721,399)
{
Type=3
Op2=Integer(16)
link(onTrue,1694203:doWork1,[])
link(onFalse,9520171:doWork1,[(768,412)])
AddHint(-1,37,27,13,Op2)
}
Add(If_else,5161824,784,448)
{
Op2=Integer(17)
link(onTrue,1694203:doWork2,[(828,454)(828,412)])
AddHint(-2,36,27,13,Op2)
}
Add(HubEx,9520171,764,448)
{
link(onEvent,5161824:doCompare,[])
}
Add(If_else,9788377,672,399)
{
Type=4
Op2=Integer(11)
link(onTrue,416891:doCompare,[])
link(onFalse,9520171:doWork2,[(712,412)(712,454)])
AddHint(-2,38,27,13,Op2)
}
Add(ChanelToIndex,1694203,840,399)
{
link(onIndex,10400535:doValue,[])
}
Add(ChanelToIndex,11633699,784,266)
{
link(onIndex,11403340:doValue,[])
}
Add(HubEx,6674507,728,266)
{
link(onEvent,11633699:doWork1,[])
}
Add(HubEx,7934983,728,273)
{
Angle=3
link(onEvent,6674507:doWork3,[])
}
Add(HubEx,1245562,728,280)
{
Angle=3
link(onEvent,7934983:doWork3,[])
}
Add(HubEx,12747404,728,287)
{
Angle=3
link(onEvent,1245562:doWork3,[])
}
Add(HubEx,9874699,728,294)
{
Angle=3
link(onEvent,12747404:doWork3,[])
}
Add(TimeCounter,7414212,378,252)
{
link(onStart,13989793:doFor,[])
link(onStop,10448880:doText,[(418,265)(418,307)])
}
Add(For,13989793,427,252)
{
Start=1
End=100000
link(onEvent,9853830:doFor,[])
link(onStop,7414212:doStop,[(471,265)(471,236)(364,236)(364,265)])
}
Add(Button,6531240,210,252)
{
Left=125
Top=60
link(onClick,10379623:doEvent1,[])
}
Add(Memory,11403340,840,266)
{
Default=Integer(0)
}
Add(Memory,10400535,889,399)
{
Default=Integer(0)
}
Add(Label,10448880,427,301)
{
Left=200
Top=65
}
Add(TimeCounter,11725473,385,399)
{
link(onStart,6755417:doFor,[])
link(onStop,14469705:doText,[(425,412)(425,454)])
}
Add(For,6755417,434,399)
{
Start=1
End=100000
link(onEvent,9176190:doFor,[])
link(onStop,11725473:doStop,[(478,412)(478,383)(371,383)(371,412)])
}
Add(Label,14469705,434,448)
{
Left=200
Top=85
}
Add(Hub,10379623,287,252)
{
link(onEvent1,7414212:doStart,[])
link(onEvent2,11725473:doStart,[(328,265)(328,405)])
}
Add(StyleXP,13698409,147,301)
{
}
Add(For,9853830,497,252)
{
Start=1
End=18
link(onEvent,11631242:doEvent,[(597,258)(597,195)])
}
Add(For,9176190,497,399)
{
Start=1
End=18
link(onEvent,9788377:doCompare,[])
}


карма: 0

0
файлы: 1code_27303.txt [2.5KB] [212]
Ответов: 495
Рейтинг: 163
#3: 2012-03-22 19:24:55 ЛС | профиль | цитата
login писал(а):
Можно измерять

Спасибо! Отличная идея..
карма: 4

0
Ответов: 1429
Рейтинг: 50
#4: 2012-03-22 19:36:49 ЛС | профиль | цитата
Но лучше так

code_27304.txt


карма: 0

1
файлы: 1code_27304.txt [4.3KB] [244]
Голосовали:tig-rrr
Ответов: 495
Рейтинг: 163
#5: 2012-03-22 20:13:12 ЛС | профиль | цитата
login писал(а):
Но лучше так
С FTCG - тёмный лес..
по ходу надо пробовать (эксперементировать) изучать.
Перспектива заманчива...
карма: 4

0
Ответов: 1841
Рейтинг: 369
#6: 2012-03-22 20:19:04 ЛС | профиль | цитата
tig-rrr писал(а):
Перспектива заманчива...

Только не сильно углубляйтесь, вот-вот уже на смену придёт RTCG
карма: 1
0
Ответов: 495
Рейтинг: 163
#7: 2012-03-22 21:19:41 ЛС | профиль | цитата
CriDos писал(а):
вот-вот уже на смену придёт RTCG

на Hiasm 5?
карма: 4

0
Ответов: 1841
Рейтинг: 369
#8: 2012-03-22 22:07:04 ЛС | профиль | цитата
tig-rrr писал(а):
на Hiasm 5?

HiAsm 4/5
карма: 1
0
Ответов: 16884
Рейтинг: 1239
#9: 2012-03-22 23:11:15 ЛС | профиль | цитата
login писал(а):
Но лучше так
сравнение поставь как у ТС
code_27314.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_27314.txt [5KB] [236]
Ответов: 1429
Рейтинг: 50
#10: 2012-03-23 00:13:21 ЛС | профиль | цитата
Tad, это уже не HiAsm. Это код.
Если остаться в пределах идеи HiAsm-а то так:
code_27315.txt



------------ Дoбавленo в 00.13:
я доконца не знаю почему стандартный пакет такой медленный, я не настолько разбираюсь в этом, но когда я поработал с Share.pas, мне показалось, что создание элементов как Unit-ов не должно было настолько замедлять работу. А для типов можно было придумать какой-то простой вариант, типа отдельного юнита с переменными. (хотя, такой отдельный юнит переменных, это уже и есть FTCG концепция, может в этом и вся причина была)
карма: 0

0
файлы: 1code_27315.txt [5.3KB] [216]
Разработчик
Ответов: 26170
Рейтинг: 2127
#11: 2012-03-23 00:34:57 ЛС | профиль | цитата
login писал(а):
я доконца не знаю почему стандартный пакет такой медленный

Передача в потоке структуры TData и последующее декодирование ее в нужный тип данных на каждую связь. Кроме того, сказывается создание на каждый компонент отдельного класса
------------ Дoбавленo в 00.34:
login писал(а):
отдельный юнит переменных, это уже и есть FTCG концепция

FTCG концепция заключается не в этом, а в том, что для написания окончательного кода используется собирающий скрипт, на основе кторого кодогенератор строит окончательный код целевого языка без всяких промежуточных структур и связей
карма: 22

0
Ответов: 1429
Рейтинг: 50
#12: 2012-03-23 00:39:22 ЛС | профиль | цитата
nesco, ну да, я не ошибкся, именно это и имел ввиду, для стандартного пакета ответ на вопрос : "кто-ж тогда этот юнит переменных соберет?"
карма: 0

0
Ответов: 1841
Рейтинг: 369
#13: 2012-03-23 01:26:04 ЛС | профиль | цитата

Пакет CNET.

Схема (copy-past):
code_27318.txt

Результат:




карма: 1
0
файлы: 1code_27318.txt [1.5KB] [270]
Ответов: 1429
Рейтинг: 50
#14: 2012-03-23 01:33:51 ЛС | профиль | цитата
CriDos, не может быть
Если это правда, я завтра перейду на C++
карма: 0

0
Ответов: 1841
Рейтинг: 369
#15: 2012-03-23 01:38:49 ЛС | профиль | цитата
login, в моём пакете (PB), вообще 2 мс.
карма: 1
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)