Описание задачи:
На основе официальной версии Node.js RISC-V, исправляя ошибки и повышая стабильность, реализована оптимизация на основе аппаратного обеспечения SG2042/Pioneer Box чтобы максимально повысить оценку соответствующего бенчмарка.
Требования:
- Используйте набор эталонных тестов в исходном коде Node в качестве стандарта для тестирования, анализа и оптимизации конкурентов.
- Протестируйте и систематизируйте результаты тестов производительности Node.js v20.10.0, а также сравните и проанализируйте их с результатами тестов производительности той же версии Node хотя бы на одной основной платформе (ARM64/X64).
- Продемонстрируйте эффект оптимизации, запустив инструмент node-benchmark-compare.
- В конце концов, победитель будет оцениваться на основе (1) отчета о тестировании, представленного участниками; (2) количества проектов, достигших эффекта оптимизации; (3) индивидуального диапазона оптимизации; (4) комплексного диапазон оптимизации.
Инструкции по подаче материалов
- Ссылка на репозиторий для отправки https://github.com/plctlab/rvspoc-s2306-node.
- Пожалуйста, отправьте результат в вышеуказанный репозиторий в форме Pull Request.
- При отправке, пожалуйста, укажите программное окружение, необходимое для воспроизведения, для модификации вы можете обратиться к программному окружению по умолчанию в “Инструкциях по приему”.
- В период проведения конкурса весь оптимизированный контент может быть представлен следующими способами:
- в бинарном виде
- в виде зашифрованного исходного кода (зашифрованная информация должна быть отправлена по электронной почте на адрес rvspoc@cyberlimes.cn)
- исходный код
- После объявления окончательных результатов поданные заявки должны быть полностью открыты.
- Оргкомитет закроет канал Pull Request в репозитории конкурса после окончания конкурса (т.е. после
16 февраля29 февраля 2024 года) и начнет принимать результаты.
Инструкции по приему
- валидационной платформой является SG2042 с фиксированными аппаратными характеристиками.
- **Участникам конкурса разрешается самостоятельно выбирать операционную систему и другие программные среды, которые могут быть воспроизведены оргкомитетом. **
- версия Node.js использует актуальную версию LTS v20.10.0, что позволяет осуществлять обратный перенос основных оптимизаций.
- более подробные веса оценки оптимизации (для каждого элемента бенчмарка) должны быть определены.
- В дополнение к условию 1, комиссия будет использовать следующую программную среду для сравнения среднего значения нескольких запусков в качестве базовой линии с оптимизированными данными конкурента:
- Fedora 38, пустая металлическая среда.
- Fedora 38 поставляется с GCC 13.2.
- Версия Node.js выбрана LTS v20.10.0
- Используются все внешние зависимости, связанные с исходным пакетом Node.js, кроме openssl.
- openssl использует версию 3.0.8 из Fedora 38.
- Используйте значение по умолчанию -O3 с оптимизацией lto и другими настройками по умолчанию.
- выполните четыре пункта, перечисленные в разделе “Требования к выводу и подсчету баллов”.
- Победителем считается тот, у кого самая высокая оптимизация.
- **В соответствии с фактическим ходом оптимизации конкурсных вопросов, по ходу конкурса могут вноситься корректировки по аспектам, которые не были учтены, поэтому, пожалуйста, следите за сайтом конкурса, а окончательная интерпретация принадлежит комиссии по оценке конкурсных вопросов конкурса. **
Описание прав интеллектуальной собственности и соглашений с открытым исходным кодом:
Все результаты конкурса должны быть с открытым исходным кодом и опубликуется по указанному репозитория организатора. Право собственности на работу принадлежит участнику (автору). Организатор призывает участников внести код обратно в сообщество апстрима.
Resources(на китайском)
- Live Replay & Documents (Chinese): plctlab/rvspoc:archives/2023/Docs/S2306