SlNPacifist / hashcode-2019

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Подготовка к hashcode

Решаем задание 2019 года.

Таблица с результатами

Используем optaplanner. Дока, примеры.

Запуск в dev

src/main/kotlin/main.kt

Запуск под ассертами

После каждого сложного изменения src/main/kotlin/asserted.kt

benchmark

src/main/kotlin/benchmark.kt

Пример отчёта бенчмарка

Запуск в проде

Необходимые зависимости

sudo apt install maven3

Сборка и запуск

git clone git@github.com:SlNPacifist/hashcode-2019.git
cd ./hashcode-2019
mvn package appassembler:assemble
./target/appassembler/bin/app data/b_lovely_landscapes.txt

Многопоточность

Дока

Нет смысла запускать на разных потоках решения из разных исходных позиций – это очень незначительные улучшения. Авторы рекомендуют увеличивать скорость расчёта мувов в обычном решении за счёт переноса их в отдельные треды. Чтобы это работало, нужно имплементировать на каждом муве метод rebase – он возвращает свою "копию", которую можно использовать в другом треде.

About


Languages

Language:HTML 53.3%Language:Kotlin 44.4%Language:CSS 2.3%