https://github.com/denoland/roll-your-own-javascript-runtime Ребята из deno выкатили гайд по созданию своего собственного JS окружения В Deno работает под капотом V8 от гугла, только написан на расте. Также они утверждают, что Deno быстрее ноды Есть идея поресерчить в направлении нагрузки как альтернатива k6

Есть много минусов у k6 (плюсы есть, но перечислять не буду, уж слишком большой текст получится)

  • нет промисов(завезли только недавно)
  • это отдельный JS движок, написанный на golang (ему требуется проходить ECMA тесты на соответсвия. А у Deno уже тесты ECMA включены)
  • в больших проектах как у нас с монорепозиторием невозможно пошарить один и тотже код, приходится писать все равно отдельные утилиты
  • нет тестирования БД и прикладных штук кроме браузера
  • плохо сделаны репорты

В чем идея - поресерчить перформанс собственной тулзы на расте - самые свежие АПИ. например включит фичу explicit resource management и заработало ключевое слово using - сделать апи как у vitest или playwright. Например defineConfig(/* /) на мой взгляд будет читабельнее - промисы из коробки - fetch вместо http.get / http.post - проверки в привычном виде. expect(actual).toBe(expected) - TS из коробки - апи репортов можно позаимствовать у того-же playwright - JSON в формате trace event (в хроме можно посмотреть такой отчет) - AI репорт (на основе метаданных и самих метрик нагрузки по ходу дела) - создать коллекцию репортов и алертов (алерты теже репортеры по сути - Slack, telegram, email, ops genie) - написать расширение для тестирования прикладных штук помимо Веба, сокетов, gprc. Например БД, electron, react native

Я сам только видос смотрю и вот идея такая появилась. Можно в лс написать, соберем POC вместе. Прямо сейчас я сделал подобие POC где на локальный сервак подается нагрузка k6 -> 97k итерации для 1 vus 10 секунд Custom -> 17к итераций для 1 vus 10 секунд. Наивная реализация, уже не плохо

#performance #ai #v8 @haradkou_sdet