Comments 22
Идиотское название, если честно. Или там действительно какой-то FFI?
-7
Аргументируйте.
0
Ссылочку выше дали. Ну или en.wikipedia.org/wiki/Foreign_function_interface.
Кусок из поста, который ввел меня в заблуждение
>> Это расширение называется FFI
Это не расширение так называется, которое позволяет делать быстрые malloc, а технология написания расширений. В том числе и вот того, которое в статье приведено.
Кусок из поста, который ввел меня в заблуждение
>> Это расширение называется FFI
Это не расширение так называется, которое позволяет делать быстрые malloc, а технология написания расширений. В том числе и вот того, которое в статье приведено.
+1
Уверен, и в Джаваскрипте есть куда оптимизировать)
0
Почему бы вам не выложить всё это на ГитХаб?
+4
Зачем? Это же простой пример рейтрейсера который можно написать за полдня.
0
У вас есть пример Рейтрейсера на JS + два примера на Lua. К примеру, я бы зашёл и обнаружил, что вы пошли очень неоптимальным путём в JS и повысил бы скорость с 20к до 50к, потом кто-то бы добавил код на Java, которая выдает 60к и т.д.
В конце концов, если это просто простой пример рейтрейсера, то зачем его вообще делать? ;)
Я бы посмотрел на исходники в удобном виде.
В конце концов, если это просто простой пример рейтрейсера, то зачем его вообще делать? ;)
Я бы посмотрел на исходники в удобном виде.
+10
Вот теперь я доволен результами теста. Спасибо =)
0
Чем вы довольны? Тем, что в Lua оказались серьезные проблемы с массивами/аллокацией, которых удается избежать даже в джаваскрипте, при том, что в последнем внешне массивы устроены также (массив — одновременно hash)? И что эти проблемы лечатся только низкоуровневыми хаками?
Вообще крайней странная идея совмещать вектор и хэш, зачем это надо было — неизвестно, а к чему приводит — вот, хорошо видно.
Вообще крайней странная идея совмещать вектор и хэш, зачем это надо было — неизвестно, а к чему приводит — вот, хорошо видно.
+3
А что мешает преаллоцировать массивы в JavaScript и использовать там же иные оптимизации?
+2
читерство :-)
в браузерах есть webgl typed arrays (
в браузерах есть webgl typed arrays (
new Float64Array(length)
), но Crankshaft их еще не оптимизирует, но будет. +3
Lua даже не знает, что индексы массива — числа в диапазоне 1..n, а значения — целые числа, поэтому ему приходится рассчитывать на худший вариант когда однажды в массив запишут вот так:
a['qqq'] = {red = 1, green = 0.5, blue = 0.8}
Это, мягко говоря, неверно. В реализации таблиц в Луа есть оптимизация для поддержки массивов с целочисленными ключами. С этим там хорошо и быстро.
a['qqq'] = {red = 1, green = 0.5, blue = 0.8}
Это, мягко говоря, неверно. В реализации таблиц в Луа есть оптимизация для поддержки массивов с целочисленными ключами. С этим там хорошо и быстро.
0
Обсуждение предыдущей статьи в официальной рассылке Луа: thread.gmane.org/gmane.comp.lang.lua.general/75252
0
Sign up to leave a comment.
Lua+FFI vs. JavaScript