Цитата |
---|
Николай Камынин написал: судя по тесту, товарищи плохо знают луа. и вообще плохо пишут тесты. поясняю: Очень безграмотно отображать абсолютное время вместо приведенного на одну операцию. Теперь про тест для луа. Берем исходный текст. приведенное время выполнения вычисления составит 0.353 мкс , а если мы переменные определим как локальные то получаем 0.187 мкс. Т е время в 2 раза меньше. А если переменные f1..а3 поместить внутри функции то получаем 0.125. Т е как видим скорость реально в 3 раза больше если знать луа
Код |
---|
-- TestFloat
local f0 = 0.0
local MAX_SIZE = 1000 --35000
function Start ()
local t = os.clock ()
TestFloat()
local res = (( os.clock () - t) * 1000000 )/(MAX_SIZE * MAX_SIZE)
-- результы выполнения занесем сюда
check = f0
print ( "TestFloat time=" .. res .. " мкс check = " .. check);
end
function TestFloat ()
-- в цикле мы проходим до значение на 1 меньше, чем MAX_SIZE
local f1 = 123.456789
local f2 = 98765.12345678998765432
local f3 = 12345678943.98
for i = 1 , MAX_SIZE do
for j = 1 , MAX_SIZE do
f0 = f0 + (f1/(i + 1 )) - f2 + (f3 * i);
end
end
end
-- запускаем скрипт
Start()
|
|
Не лезу разбираться в код, но если для луа изменить место определения переменных то и для мкл5 тоже. Каков тогда результат ? Во вторых этот пост надо размещать не здесь а там, чтобы была реакция метаквотов,
Ну а в третьих как ни крути а мкл5 изначально встроен в терминал и там всё взаимосвязано, в отличии от луа, которая просто прикреплена сбоку и тут уж как ни крути а это хуже. Поэтому и сам процесс разработки и отладки и всё остальное на порядок удобнее, и это тоже бесспорно а если взять тестер, который в квике не появится никогда в жизни, то становиться совсем всё печально у квика. Я не против квика, сам работаю и в нём и в мт 4/5, но скорость разработчиков в квике поражает своей отсталостью.