Войти
ФлеймФорумОбщее

Holywar: AngelScript vs Lua (4 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
#45
22:55, 9 июня 2006

doc.
хмм... а что за своя?

примерчик скрипта аналогичный...


#46
23:01, 9 июня 2006

doc.
> в 1.4 раза быстрее чем LUA

Кстати, это выдающийся результат. Мои поздравления.

#47
23:09, 9 июня 2006

Jay-C
>хмм... а что за своя?
Да, LUA меня неустроил в свое время своим интерфейсом сопряжения с C, и работой со структурами данных :) , написал свой под свои требования. За базу для синтаксиса взял C.

>примерчик скрипта аналогичный...
Просто перепиши на Си, получишь что надо :))


nbkolchin
>Кстати, это выдающийся результат. Мои поздравления.
Спасибо.

#48
23:19, 9 июня 2006

doc.
ясно, ну это здорово, а функциональность как?

#49
0:20, 10 июня 2006

Jay-C
>а функциональность как?
В смысле? Разверни вопрос поконкретнее.

#50
0:31, 10 июня 2006

xpinguin
>Также проводил тесты для N=30. Тут всех порвал Lua - 1 секунда, далее Python - 5 секунд и в аутсайдерах TCL - 7 секунд.
Наводит на мысль о невовремя сработавшем GC в Lua тесте для N=40. Если для меньшего числа итераций Lua быстрее, то и для большего он теоретически тоже должен быть быстрее.
GC threshold покрутить надо бы...

Правка: GC не имеет к этому отношения :(

Попробовал фибоначчи на Squirrel:

function fib(n)
{
    if (n < 2) return n
    return fib(n-1) + fib(n-2)
}

local n=30
print(fib(n)+"\n")

Lua 5.0 (не Jit) дает 0.69 сек,  Squirrel - 1.1 сек.

#51
1:23, 10 июня 2006

RPGman
Aaa!! Один if замылил!! :)
Тут это критично.
Такой урезаный вариант у меня в 1.8 раза быстрее.


Правка:

Кстати вот еще тест на рекурсию(ф-ия Аккермана):

function Ack(M, N)
    if (M == 0) then
        return( N + 1 )
    end
    if (N == 0) then
        return( Ack(M - 1, 1) )
    end
    return( Ack(M - 1, Ack(M, (N - 1))) )
end

Ack(3,9)

Операции с массивами:

function array_test( n )
	local x, y = {}, {}
	for i=1,n do
		x[i] = i
		y[i] = 0
	end

	for k=1,1000 do
		for j=n,1,-1 do
			y[j] = y[j] + x[j]
		end
	end

end

array_test(10000)

Непомню уже откуда брал, с какогото сайта по сравнению производительности.

#52
1:49, 10 июня 2006

doc.
>Aaa!! Один if замылил!! :)

Я не со зла :) Глупой показалась цепочка if(n==0) return 0 else if (n==1) return 1

Да и фибоначчи считать рекурсией глупо :)
Вот как надо: (Lua)

function fib(n)
    local r,p=0,1
    for i=1,n do
        p,r=r,r+p
    end
    return r
end

Никак не замеряешь скорость для N=1476 :)  Дальше числа заваливают за 2e+309 и диапазона плавучки не хватает :)
Но то ясно, что рекурсия была для тестов, а не для скорости.

>Кстати вот еще тест на рекурсию(ф-ия Аккермана):

Я у себя могу только Lua и Squirrel (питоны и прочие троглодиты уже не в счет). С твоим на разных тачках меряться некорректно :)

#53
2:05, 10 июня 2006

Jay-C

>Ты с чем кроме ЛУА работал? чем он лучше?

питон, всем: прост в освоении, лаконичен, без типов, более читабелен, быстр, легко байндить, гибок

#54
3:23, 10 июня 2006


http://www.gamedev.ru/community/unixdev/forum/?id=1085

#55
3:25, 10 июня 2006

xpinguin
А какой был уровень оптимизации для luaJIT в тестах? А то у меня на рекурсивном фибоначчи для N=40 вышло 22 сек (-O2, P4 3GHz)

Правка: Отбой, _ace_ опередил.

#56
21:49, 10 июня 2006

RPGman
>Если для меньшего числа итераций Lua быстрее, то и для большего он теоретически тоже должен быть быстрее.
Для меньшего числа итераций Lua быстрее только чем Python. Python c Psyco в любом случае на рекурсии быстрее.

Про расчёт чисел Фибоначчи - это просто тест на рекурсию - я тм вообще что угодно считать мог ;) А оптимизация - мелочи, главное - все были в абсолютно одинаковых условиях.

#57
22:19, 10 июня 2006

Jay-C
>xpinguin
>Ну чтож тесты убедительны, а как с их внедрением в движок/программу?
попробуй lua + luabind внедрение будет улетным :)

для pyton есть boost::pyton тожа неплохая весчь!

#58
22:31, 10 июня 2006

IROV..
Дарофф :)
luabind для чего нужен? насколько я помню твою тему давным-давно, то для сохранения стэйтов?

#59
22:43, 10 июня 2006

Jay-C

http://www.rasterbar.com/products/luabind/docs.html

Страницы: 1 2 3 4 5 6 7 Следующая »
ФлеймФорумОбщее

Тема в архиве.