Page 1 of 3

Производительность Lua

Posted: Thu 28 Jan, 2016 15:05
by Aidar
cmd.exe wrote: Как выяснилось...
Недостаточное знание языка и транслятора может привести к интересным результатам.

Примечание модератора:
Смежная тема: http://forum.farmanager.com/viewtopic.php?f=15&t=7822

AngelScript — Плагин–обертка

Posted: Thu 28 Jan, 2016 15:17
by Shmuel
cmd.exe wrote: Луа уже бесит на слабых машинах тормазами.
За три с лишним года использования Lua в Far, вы, пожалуй, первый, кто пожаловался на тормоза, связанные с применением Lua. Это о многом говорит. Впрочем, жалоба ваша голословная, не подкреплённая никакими конкретными данными.

AngelScript — Плагин–обертка

Posted: Thu 28 Jan, 2016 16:31
by cmd.exe
Shmuel wrote:не подкреплённая никакими конкретными данными.
Исходники теста который в шапке. lua vs AngelScript
Если вы предложите как улучшить код написанный на Lua, в данном сравнении, для улучшения результата буду очень благодарен.

AngelScript — Плагин–обертка

Posted: Thu 28 Jan, 2016 16:54
by Shmuel
Конкретные данные, которые вы должны были привести, это данные о торможении в Far из-за Lua.
А что касается тестов, на которые вы ссылаетесь, то с первого взгляда видно, что их автор слабоват как в Lua, так и в C++. Естественно, я не буду тратить своё время на эти тесты, поскольку AngelScript меня сейчас не интересует.

AngelScript — Плагин–обертка

Posted: Thu 28 Jan, 2016 17:05
by cmd.exe
Shmuel wrote: Конкретные данные, которые вы должны были привести, это данные о торможении в Far из-за Lua.
Конкретно, само использование макросов выполняется очень медленно, иногда приходится использовать машины которые в утиль не списали с каким-нибудь Celeron 2.3 на 478-ом. Клавишные макросы выполняются медленно. Тот-же SciTE или Vim форматируют быстрее.

AngelScript — Плагин–обертка

Posted: Thu 28 Jan, 2016 17:10
by Shmuel
cmd.exe wrote: Конкретно, само использование макросов выполняется очень медленно, иногда приходится использовать машины которые в утиль не списали с каким-нибудь Celeron 2.3 на 478-ом. Клавишные макросы выполняются медленно.
Это НЕ конкретно. Конкретно, это пример макроса с его кодом и замер времени исполнения. Пока этого нет, не о чем говорить.

AngelScript — Плагин–обертка

Posted: Thu 28 Jan, 2016 18:36
by cmd.exe
Shmuel wrote:Это НЕ конкретно. Конкретно, это пример макроса с его кодом и замер времени исполнения. Пока этого нет, не о чем говорить.
Выше пример от DDMZ прямого обращения к Стандартным методам. С таймингами. Я-же не буду в фаре при помощи lua число Фибоначчи вычислять каждый день.

Производительность Lua

Posted: Thu 28 Jan, 2016 18:49
by Shmuel
cmd.exe wrote: Выше пример от DDMZ прямого обращения к Стандартным методам. С таймингами. Я-же не буду в фаре при помощи lua число Фибоначчи вычислять каждый день.
Будьте здоровы.

Производительность Lua

Posted: Thu 28 Jan, 2016 20:45
by Karagy
Shmuel wrote:А что касается тестов, на которые вы ссылаетесь, то с первого взгляда видно, что ...
Каюсь, как увидел эти тесты - тут-же вспомнил известный анекдот:
- Доктор! В зале есть доктор?!
- Я доктор!
- Коллега! Что за херню нам показывают?! Компилятор выбросит "++a;"?

Производительность Lua

Posted: Thu 28 Jan, 2016 21:37
by NightRoman
http://dada.perl.it/shootout/craps.html
Lua чуть ли не сразу после С идет

Производительность Lua

Posted: Thu 28 Jan, 2016 22:12
by zg
NightRoman wrote:Lua чуть ли не сразу после С идет
и там ещё не luajit. да и как бы все в курсе. поэтому совет топикстартеру подкреплять свои слова более весомыми аргументами, нежели ссылками на какие-то мутные тесты ни о чём. если таковых нет, то продолжать не стоит.

Производительность Lua

Posted: Thu 28 Jan, 2016 22:24
by DrKnS
NightRoman wrote: Lua чуть ли не сразу после С идет
А С++ после Python? С после Java? Ну-ну.

Производительность Lua

Posted: Fri 29 Jan, 2016 16:37
by cmd.exe
zg wrote:и там ещё не luajit
Так и AngelScript-JIT не использовался.

Производительность Lua

Posted: Fri 29 Jan, 2016 19:29
by zg
зачем сравнивать не jit реализации, если есть jit?

trucer - замена одноимённого плагина

Posted: Mon 12 Sep, 2016 09:48
by John Doe
raven428 wrote: попробовал отсюда на коленке trim7, разницы особо не заметил. надо с замерами тестировать, но пока не могу себе позволить выделить на это время.
Зачем trim7, у вас проще: string.match(str,"(.+)%s+$")
Скорость "тримминга" отличается на порядок
Но это лишь иллюстрация ненужности mf.trim, потому что в данном случае узким местом скорее являются преобразования строк c/lua и utf16/utf8.
А значит можно попробовать использовать editor.GetStringW/editor.SetStringW, и/или ffi.

P.S.
У меня исключительно спортивного интерес, я не вовсе утверждаю что имеющаяся производительность недостаточна.