От новичка до гуру: Курсы программирования на CyberDuff

тест времени и пригодности в scala

Я использовал шаблон на основе суппорта https://github.com/dcsobral/scala-foreach-benchmark счастливо в течение многих лет. Он запускает случайно сконструированные задачи несколько раз, а затем вычисляет среднее время.

Теперь я столкнулся с недетерминированным алгоритмом. Поэтому мне нужно знать как время бега, так и конечную физическую форму. Я ищу тестовую среду java/scala, которая может измерять обе характеристики в среднем и наихудшем сценарии.

Недетерминированный означает, что алгоритм полагается на некий генератор случайных чисел для принятия решений. Раньше он находил решение, близкое к оптимальному, тогда как поиск оптимума требовал слишком много процессорного времени. например решение проблемы ТС.

Пригодность означает функцию стоимости для процесса оптимизации. Различные запуски (с разными случайными семенами) могут иметь разную стоимость. Поэтому вам нужно стабилизировать не только время выполнения, но и стоимость (фитнес).

Я не знаю, является ли повторяющийся вызов функции до тех пор, пока она не покажет приемлемое изменение времени выполнения, обычной чертой тестовых фреймворков, но калипер делает это, и я ищу аналогичный фреймворк, который является более продвинутым и способным обрабатывать пригодность помимо времени.


Ответы:


1

Используйте JMH: он имеет привязки Scala и может пример времени выполнения.

27.03.2014
  • Это помогает с одним из аспектов проблемы: временем. А как же второе: фитнес (расстояние до оптимума)? 29.03.2014
  • Я не понимаю, что точно вы имеете в виду под фитнесом. Является ли оптимальное просто лучшим временем работы, которое когда-либо наблюдалось? Если да, то в чем проблема измерить несколько запусков бенчмарка и обработать полученные данные? 30.03.2014
  • точно объясняет искомое поведение 09.04.2014
  • @ayvango, извините, я не понимаю этих четырех, казалось бы, случайных слов :) 09.04.2014
  • Я тот, кто должен извиниться. Я хотел бы, чтобы вы обратили внимание на недавнее обновление темы, в котором я добавил детали, которые, как я полагаю, достаточны для точного описания того, что я ищу. 09.04.2014
  • Новые материалы

    Отслеживание состояния с течением времени с дифференцированием снимков
    Время от времени что-то происходит и революционизирует часть моего рабочего процесса разработки. Что-то более забавное вместо типичного утомительного и утомительного процесса разработки. В..

    Я предполагаю, что вы имеете в виду методы обработки категориальных данных.
    Я предполагаю, что вы имеете в виду методы обработки категориальных данных. Пожалуйста, проверьте мой пост Инструментарий специалиста по данным для кодирования категориальных переменных в..

    Игра в прятки с данными
    Игра в прятки с данными Я хотел бы, чтобы вы сделали мне одолжение и ответили на следующие вопросы. Гуглить можно в любое время, здесь никто не забивается. Сколько регионов в Гане? А как..

    «Раскрытие математических рассуждений с помощью Microsoft MathPrompter и моделей больших языков»
    TL;DR: MathPrompter от Microsoft показывает, как использовать математические рассуждения с большими языковыми моделями; 4-этапный процесс для улучшения доверия и рассуждений в математических..

    Раскройте свой потенциал в области разработки мобильных приложений: Абсолютная бесплатная серия
    Глава 6: Работа в сети и выборка данных Глава 1: Введение в React Native Глава 2: Основы React Native Глава 3: Создание пользовательского интерфейса с помощью React Native Глава 4:..

    Все о кейсах: Camel, Snake, Kebab & Pascal
    В программировании вы сталкивались с ними при именовании переменной, класса или функции. Поддержание согласованности типов и стилей случаев делает ваш код более читабельным и облегчает совместную..

    Как работает дистанционное парное программирование и почему оно может изменить вашу жизнь
    Серебряная пуля от одиночества и отвлекающих факторов во время обучения программированию Независимо от того, работаете ли вы или учитесь удаленно, велика вероятность, что одиночество и..