Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Delphi |
![]() ![]() |
Топик располагается на нескольких страницах: ←Ctrl назад 1 [2] 3 вперед Ctrl→ все |
ёёёёё Member Откуда: Сообщений: 2017 |
Зараза, и демки-то не сразу соберешь. Например, в классе TdwsSymbolDictionary больше нет индексируемого свойства Items[index : ineger] : TSymbolPositionList. Доступ к элементам теперь через энумератор. Соответственно, этот код больше не работает: for ItemIndex := 0 to SymbolDictionary.Count - 1 do begin TestSymbol := SymbolDictionary.Items[ItemIndex].Symbol; ... теперь нужно вот так: for var Item in SymbolDictionary do begin TestSymbol := Item.Symbol; ... |
||||
12 сен 19, 18:09 [21969724] Ответить | Цитировать Сообщить модератору |
Kazantsev Alexey Member Откуда: Сообщений: 4987 |
В SMS приложения пишутся на DWS, который затем транслируется в JS. Запускается оно, понятное дело, везде где браузер работает. |
||
12 сен 19, 18:32 [21969739] Ответить | Цитировать Сообщить модератору |
ёёёёё Member Откуда: Сообщений: 2017 |
Интересно. В DWS, при декларации типов скриптовых объектов, которые реализуются в коде Delphi, предлагается реализовать соответствующий метод-событие *OnCleanUp(). Который автоматически вызывается при сбросе количества ссылок на конкретный объект данного типа в ноль (например, при выходе из области видимости или явно - путем вызова деструктора). То есть, объекты всех дельфийских классов типа TStringList и т.п., экспортированные в скрипт, нужно только создавать, не заботясь об их освобождении. Ну, или заботясь, если вдруг нужно резко освободить память. Классно, можно без try-finally обходиться. |
12 сен 19, 21:34 [21969906] Ответить | Цитировать Сообщить модератору |
asviridenkov Member Откуда: Сообщений: 4028 |
ёёёёё, У меня аналогично сделано, только автоматом - если объект создается через вызов конструктора, он уничтожается. Плюс есть спец. функция для регистрации в случае других ситуаций. |
12 сен 19, 21:55 [21969913] Ответить | Цитировать Сообщить модератору |
kmsskm Member Откуда: Сообщений: 28 |
Может так удобней будет DWScript |
||
13 сен 19, 01:35 [21969967] Ответить | Цитировать Сообщить модератору |
ёёёёё Member Откуда: Сообщений: 2017 |
Весьма "доставляющая" картинка... ![]() ![]() |
13 сен 19, 22:59 [21970777] Ответить | Цитировать Сообщить модератору |
rgreat Member Откуда: Сообщений: 6561 |
ёёёёё, Код покажи. ;) |
13 сен 19, 23:48 [21970789] Ответить | Цитировать Сообщить модератору |
Kazantsev Alexey Member Откуда: Сообщений: 4987 |
Просто DWS умеет в JIT (код есть в демках, там же и сравнение с LaPe). Кстати, если скорость важна, есть ещё интересный движок LaPe, там даже работа с указателями имеется. |
||
14 сен 19, 00:00 [21970791] Ответить | Цитировать Сообщить модератору |
ёёёёё Member Откуда: Сообщений: 2017 |
|
||||
14 сен 19, 12:27 [21970846] Ответить | Цитировать Сообщить модератору |
ёёёёё Member Откуда: Сообщений: 2017 |
rgreat, Причем, никакого рисования внутри цикла тестирования не делается:
В DWS обращение к SetPixel() транслируется в ту же дельфийскую процедуру:
-------- Процедура тестирования:
|
|||||
14 сен 19, 12:38 [21970847] Ответить | Цитировать Сообщить модератору |
ёёёёё Member Откуда: Сообщений: 2017 |
rgreat, и, это. Код не совсем равнозначен. Например, Integer в Dephi - это 32-битное знаковое. А в DWS интыджер - это 64-битное целое. И, как мне кажется, надо бы вынести время компиляции за пределы теста. Но тогда результаты совсем уж дикими будут... ![]() |
14 сен 19, 12:41 [21970848] Ответить | Цитировать Сообщить модератору |
ёёёёё Member Откуда: Сообщений: 2017 |
Да. :) Сейчас прогоню без JIT. И так, на моей машинке, с JIT: К сообщению приложен файл. Размер - 25Kb |
||||
14 сен 19, 12:46 [21970850] Ответить | Цитировать Сообщить модератору |
ёёёёё Member Откуда: Сообщений: 2017 |
ёёёёё, с отключенным JIT. К сообщению приложен файл. Размер - 23Kb |
14 сен 19, 12:48 [21970852] Ответить | Цитировать Сообщить модератору |
ёёёёё Member Откуда: Сообщений: 2017 |
Delphi все же в 18 раз быстрее... :) |
14 сен 19, 12:48 [21970854] Ответить | Цитировать Сообщить модератору |
makhaon Member Откуда: A galaxy far far away Сообщений: 3787 |
Еще интересна раскладка по ядрам процессора. Есть стойкое подозрение, что жит 'мухлюет' ядрами. И если распараллелить делфи код (что в общем можно элементарно сделать в одну строку буквально), то картина поменяется на обратную. |
14 сен 19, 18:14 [21970969] Ответить | Цитировать Сообщить модератору |
ёёёёё Member Откуда: Сообщений: 2017 |
Ты всерьез считаешь, что следует доказывать преимущество Delphi перед скриптовым движком? :) |
||
14 сен 19, 18:28 [21970972] Ответить | Цитировать Сообщить модератору |
rgreat Member Откуда: Сообщений: 6561 |
ёёёёё, Почему нет, если он компилируемый. |
14 сен 19, 18:31 [21970975] Ответить | Цитировать Сообщить модератору |
makhaon Member Откуда: A galaxy far far away Сообщений: 3787 |
ёёёёё, Я не люблю нездоровых сенсаций :) И так. Один поток, 100 итераций, 2700 ms. 100 итераций + либа распараллеливания STParallel, режим pfAtomic. 400 ms. i7, 4 ядра x 2 Ht |
14 сен 19, 18:41 [21970977] Ответить | Цитировать Сообщить модератору |
ёёёёё Member Откуда: Сообщений: 2017 |
Можешь в исходниках DWS посмотреть, что там да как, если настолько подгорает. |
||
14 сен 19, 19:04 [21970978] Ответить | Цитировать Сообщить модератору |
makhaon Member Откуда: A galaxy far far away Сообщений: 3787 |
ёёёёё, в jit то как залезть? раскладку по ядрам так и не показали, увы. |
14 сен 19, 19:47 [21970985] Ответить | Цитировать Сообщить модератору |
makhaon Member Откуда: A galaxy far far away Сообщений: 3787 |
и нет, не подгорает. в отличие от сенсационстов я всегда ищу причины. |
14 сен 19, 19:49 [21970987] Ответить | Цитировать Сообщить модератору |
asviridenkov Member Откуда: Сообщений: 4028 |
В теории он может for распараллеливать, но вряд ли это делает без спроса, т.к. side эффекты могут быть неожиданными. Я добавил специальный parallel for синтаксис для этого. |
||
14 сен 19, 19:53 [21970988] Ответить | Цитировать Сообщить модератору |
Kazantsev Alexey Member Откуда: Сообщений: 4987 |
|
||
14 сен 19, 20:00 [21970991] Ответить | Цитировать Сообщить модератору |
ёёёёё Member Откуда: Сообщений: 2017 |
Может, кто-нибудь когда-нибудь и для Delphi напишет... JIT - компайлер... :( |
||||
14 сен 19, 20:05 [21970994] Ответить | Цитировать Сообщить модератору |
Kazantsev Alexey Member Откуда: Сообщений: 4987 |
Надо бы, а то в некстгене совсем всё тухло... |
||
14 сен 19, 20:14 [21970995] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: ←Ctrl назад 1 [2] 3 вперед Ctrl→ все |
Все форумы / Delphi | ![]() |