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

Здесь обсуждается всё, что касается макросов.
User avatar
Aidar
Posts: 524
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 7 times
Been thanked: 6 times
Contact:

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

Postby Aidar » Thu 28 Jan, 2016 15:05

cmd.exe wrote:Source of the post Как выяснилось...
Недостаточное знание языка и транслятора может привести к интересным результатам.

Примечание модератора:
Смежная тема: Проблемы производительности (Lua)?FAR API
Last edited by HaRT on Thu 28 Jan, 2016 18:51, edited 1 time in total.
Reason: Добавлена ссылка на исходную тему

Shmuel
Posts: 4997
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 132 times

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

Postby Shmuel » Thu 28 Jan, 2016 15:17

cmd.exe wrote:Source of the post Луа уже бесит на слабых машинах тормазами.
За три с лишним года использования Lua в Far, вы, пожалуй, первый, кто пожаловался на тормоза, связанные с применением Lua. Это о многом говорит. Впрочем, жалоба ваша голословная, не подкреплённая никакими конкретными данными.

User avatar
cmd.exe
Posts: 317
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 168 times
Been thanked: 5 times
Contact:

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

Postby cmd.exe » Thu 28 Jan, 2016 16:31

Shmuel wrote:Source of the postне подкреплённая никакими конкретными данными.
Исходники теста который в шапке. lua vs AngelScript
Если вы предложите как улучшить код написанный на Lua, в данном сравнении, для улучшения результата буду очень благодарен.
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates

Shmuel
Posts: 4997
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 132 times

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

Postby Shmuel » Thu 28 Jan, 2016 16:54

Конкретные данные, которые вы должны были привести, это данные о торможении в Far из-за Lua.
А что касается тестов, на которые вы ссылаетесь, то с первого взгляда видно, что их автор слабоват как в Lua, так и в C++. Естественно, я не буду тратить своё время на эти тесты, поскольку AngelScript меня сейчас не интересует.

User avatar
cmd.exe
Posts: 317
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 168 times
Been thanked: 5 times
Contact:

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

Postby cmd.exe » Thu 28 Jan, 2016 17:05

Shmuel wrote:Source of the post Конкретные данные, которые вы должны были привести, это данные о торможении в Far из-за Lua.
Конкретно, само использование макросов выполняется очень медленно, иногда приходится использовать машины которые в утиль не списали с каким-нибудь Celeron 2.3 на 478-ом. Клавишные макросы выполняются медленно. Тот-же SciTE или Vim форматируют быстрее.
Last edited by HaRT on Thu 28 Jan, 2016 18:51, edited 1 time in total.
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates

Shmuel
Posts: 4997
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 132 times

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

Postby Shmuel » Thu 28 Jan, 2016 17:10

cmd.exe wrote:Source of the post Конкретно, само использование макросов выполняется очень медленно, иногда приходится использовать машины которые в утиль не списали с каким-нибудь Celeron 2.3 на 478-ом. Клавишные макросы выполняются медленно.
Это НЕ конкретно. Конкретно, это пример макроса с его кодом и замер времени исполнения. Пока этого нет, не о чем говорить.

User avatar
cmd.exe
Posts: 317
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 168 times
Been thanked: 5 times
Contact:

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

Postby cmd.exe » Thu 28 Jan, 2016 18:36

Shmuel wrote:Это НЕ конкретно. Конкретно, это пример макроса с его кодом и замер времени исполнения. Пока этого нет, не о чем говорить.
Выше пример от DDMZ прямого обращения к Стандартным методам. С таймингами. Я-же не буду в фаре при помощи lua число Фибоначчи вычислять каждый день.
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates

Shmuel
Posts: 4997
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 132 times

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

Postby Shmuel » Thu 28 Jan, 2016 18:49

cmd.exe wrote:Source of the post Выше пример от DDMZ прямого обращения к Стандартным методам. С таймингами. Я-же не буду в фаре при помощи lua число Фибоначчи вычислять каждый день.
Будьте здоровы.

Karagy
Posts: 56
Joined: Tue 02 May, 2006 08:43
Location: Питер
Been thanked: 3 times

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

Postby Karagy » Thu 28 Jan, 2016 20:45

Shmuel wrote:А что касается тестов, на которые вы ссылаетесь, то с первого взгляда видно, что ...

Каюсь, как увидел эти тесты - тут-же вспомнил известный анекдот:
- Доктор! В зале есть доктор?!
- Я доктор!
- Коллега! Что за херню нам показывают?! Компилятор выбросит "++a;"?

User avatar
NightRoman
Posts: 5849
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 8 times
Been thanked: 8 times
Contact:

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

Postby NightRoman » Thu 28 Jan, 2016 21:37

http://dada.perl.it/shootout/craps.html
Lua чуть ли не сразу после С идет

User avatar
zg
zero-gravity
Posts: 5223
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 42 times
Contact:

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

Postby zg » Thu 28 Jan, 2016 22:12

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

User avatar
DrKnS
Posts: 4502
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 110 times
Contact:

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

Postby DrKnS » Thu 28 Jan, 2016 22:24

NightRoman wrote:Source of the post Lua чуть ли не сразу после С идет
А С++ после Python? С после Java? Ну-ну.

User avatar
cmd.exe
Posts: 317
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 168 times
Been thanked: 5 times
Contact:

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

Postby cmd.exe » Fri 29 Jan, 2016 16:37

zg wrote:и там ещё не luajit
Так и AngelScript-JIT не использовался.
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates

User avatar
zg
zero-gravity
Posts: 5223
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 42 times
Contact:

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

Postby zg » Fri 29 Jan, 2016 19:29

зачем сравнивать не jit реализации, если есть jit?

User avatar
John Doe
Бюрократ
Posts: 11048
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 10 times
Been thanked: 63 times

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

Postby John Doe » Mon 12 Sep, 2016 09:48

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

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

User avatar
zg
zero-gravity
Posts: 5223
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 42 times
Contact:

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

Postby zg » Mon 12 Sep, 2016 10:33

John Doe wrote:Source of the postСкорость "тримминга" отличается на порядок
у меня в 4,5 раза. а вот если пробелы на конце убрать, то match дольше в 6 раз. а ведь отсутствие пробелов в среднем будет гораздо чаще встречаться. я у себя в макро аналоге [esc] такое использую:

Code: Select all

KillSpaces1=(id,lineno,mms=false,spaces=true,eol)->
  line=editor.GetString id,lineno,0
  eol=(eol and line.StringEOL\len!>0) and eol or line.StringEOL
  replaces=0
  if spaces and (not mms or line.StringText!="-- ") then line.StringText,replaces=line.StringText\gsub "%s+$",""
  if replaces>0 or eol!=line.StringEOL then editor.SetString id,lineno,line.StringText,eol
оно примерно как mf.trim по скорости, если заменить на string.gsub — будет в два раза быстрее. ну и по идее на длинных строках за счёт отсутствия сравнения будет тоже небольшой выигрыш. судя по всему gsub больше тормозит с увеличением длины строки, чем сравнение.
Last edited by zg on Mon 12 Sep, 2016 10:37, edited 1 time in total.


Return to “Обсуждение макросов”

Who is online

Users browsing this forum: No registered users and 1 guest