Меню
Контакты
107023, Москва, пл. Журавлёва, 10с3, подъезд 31, офис 309
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Интернет-магазин
сетевого оборудования
Москва +7 (495) 103-41-03 +7 (915) 420-28-94
107023, Москва, пл. Журавлёва, 10с3, подъезд 31, офис 309
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Заказать звонок

Как выбрать самый быстрый скрипт?

 20 Янв 2012    MikroTik, Scripts

Итак, приступим.

 

Mikrotik Routerboard, задержка работы скрипта на 2 секунды

Рис.1. Mikrotik Routerboard, задержка работы скрипта на 2 секунды.

 

:local a [/sys clock get time]; :delay 2; :local b [/sys clock get time]; :put $a; :put $b; :local c ($b-$a); :put $c;

Рассмотрим подробнее работу скрипта:

:local a [/sys clock get time]; - извлекаем в переменную текущее время.

После определения текущего времени выполняется скрипт. В данном примере :delay 2; приостановил скрипт на две секунды.

:local b [/sys clock get time]; - после окончания работы скрипта в переменную $b извлекаем данные о текущем времени.

В результате у нас есть две переменные со значением времени до начала работы скрипта и времени окончания работы скрипта.

:put $a; :put $b; :local c ($b-$a); :put $c; - переменная определяет продолжительность работы скрипта. Значение переменной получаем вычитанием переменной $a из переменной $b. То есть, из конечного времени вычитаем начальное время.

 

Mikrotik Routerboard, задержка работы скрипта на 39 секунд

Рис.2. Mikrotik Routerboard, задержка работы скрипта на 39 секунд.

 

:local a [/sys clock get time]; :delay 39; :local b [/sys clock get time]; :put $a; :put $b; :local c ($b-$a); :put $c;

 

Как определить время работы скриптов в Mikrotik Routerboard?

Рис.3. Mikrotik Routerboard, работа цикла for.

 

:local a [/sys clock get time]; :for i from=1 to=20000 do={:put $i;}; :local b [/sys clock get time]; :put $a; :put $b; :local c ($b-$a); :put $c;

 

В этом примере мы вместо приостановки скрипта выполняем цикл for, который в переменную $i заносит значения от 1 до 20000. Значение выводится на экран.

 

Результат работы цикла for

Рис.4. Mikrotik Routerboard, работа цикла for. Результат работы.

 

Mikrotik RouterBoard RB435G выполнил данный скрипт за 5 секунд. В случае нескольких возможных реализаций скрипта, можно выбрать наилучший в плане продолжительности выполнения. Тем самым мы снизим нагрузку на процессор Mikrotik Routerboard.

 

Евгений Рудченко специально для ASP24.