ArtemiiKravchuk / рапід

🕐 Пак для бенчмаркінгу (тестування продуктивності) коду 📒 Документація на mavka.pp.ua/rapid.htm.

Отримати
взяти "хмарний.пак.укр/рапід/0.0.2"
0.0.2
js "
const mavka = getMavka();
const context = getContext();

const get_ns_now = mavka.makeProxyFunction(() => {
  const time = process.hrtime.bigint();

  return mavka.toCell(Number(time));
});

context.set(\"now\", get_ns_now);
"

модуль рапід

  ;; доступні перелічувані типи (enum)
  ;; на скільки треба поділити результат
  НАНОСЕК = 1
  МІКРОСЕК = 1000
  МІЛІСЕК = 1000000
  СЕК = 10 ** 9

  дія зараз(ов число = 1)
    якщо ов не є число
      впасти "рапід.м: Одиниця вимірювання повинна бути числом або перелічуваним типом (enum), напр. рапід.МІЛІСЕК"
    кінець
    вернути now() // ов
  кінець

  структура Вимір
    ов число = НАНОСЕК
    початок число = пусто
    завершення число = пусто
    час число = пусто
  кінець

  дія Вимір.виконати_створення(ов число = НАНОСЕК)
    якщо ов не є число
      впасти "рапід.м: Одиниця вимірювання повинна бути числом або перелічуваним типом (enum), напр. рапід.МІЛІСЕК"
    кінець
    я.ов = ов
  кінець

  дія Вимір.почати()
    я.початок = зараз(я.ов)
  кінець

  дія Вимір.завершити()
    якщо я.початок є пусто
      впасти "рапід.м: Спроба викликати Вимір.завершити() не викликавши Вимір.почати()"
    кінець

    я.завершення = зараз(я.ов)
    я.час = я.завершення - я.початок
    вернути я.час
  кінець

  дати НАНОСЕК, МІКРОСЕК, МІЛІСЕК, СЕК
  дати зараз, Вимір

кінець

дати рапід
Версії