1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openarkcompiler-OpenArkCompiler

 / Детали:

Milestone: Maple C компилятор с использованием arm64 backend превзошёл производительность GCC 7.5 (-O2) в SPEC 2016 тестах.

Предстоит сделать
Владелец
Создано  
28.02.2025

После почти девяти месяцев работы Maple C компилятор (ARM backend) достиг уровня GCC 7.5 -O2 и превзошёл его. Для получения конкретных данных и процесса обратитесь к следующей таблице.

Хотя мы верили в возможности нашего Maple-фреймворка, прогресс был быстрее, чем ожидалось. Участники сообщества Maple действительно проделали отличную работу. Этот милицейский камень указывает на то, что как отечественный компилятор, Maple имеет базовый фреймворк, который ничуть не уступает основным компиляторам. Более того, благодаря гибкости расширяемого IR, мы смогли продемонстрировать свои преимущества при быстрой разработке оптимизированного компилятора.

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

  1. Традиционные статические компиляторы
    a) Кросс-модульный анализ между модулями
    b) Обратная связь на всех уровнях (средний уровень, конечный уровень, двоичный уровень)
    c) Попытки поддержки нескольких backends (x64, arm32, riscv)
    d) Разработка собственного переднего конца

  2. Вне традиционных статических компиляторов...
    a) Легковесные фреймы JIT/AOT
    b) Да, мы никогда не прекращали попыток статического преобразования динамических языков...

  3. Расширение языка и адаптация к различным требованиям и сценариям
    Кроме традиционных высокопроизводительных требований, новые сценарии применения также требуют большего разнообразия от компилятора, таких как безопасность, обслуживание и т.д. Драйвер новых языковых расширений является движущей силой системы Maple, и это также прекрасная возможность для демонстрации нашей способности к гибкому расширению IR.

В целом, мы полагаем, что система Maple уже обладает всем необходимым для становления платформой исследования и инженерии последних технологий компиляции и программирования. Кроме того, этот C компилятор отличается от Java тем, что он не связан с большим количеством runtime, поэтому мы можем сделать его полностью открытым исходным кодом, обеспечивая полную прозрачность. Сердечно надеемся, что вы попробуете и примете участие.

Каждый день делайте шаг вперёд.

Benchmark Case ARM-GCC MapleC(текущий) Отклонение
500.perlbench_r case_1 219.544 224.34 -2.41%
case_2 138.25 152.99
case_3 168.737 161.39
502.gcc_r case_1 66.437 69.53 -3.70%
case_2 81.435 84.17
case_3 80.429 82.77
case_4 75.677 78.51
case_5 99.139 103.64
505.mcf_r case_1 579.71 558.91 +3.72%
525.x264_r case_1 67.538 63.728 +9.80%
case_2 255.368 226.456
case_3 241.598 218.369
557.xz_r case_1 146.37 149.764 +0.25%
case_2 182.037 175.596
case_3 134.697 135.584
Среднее +1.53%

Комментарий (0)

GitLife Service Account Задача создана

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/openarkcompiler-OpenArkCompiler.git
git@api.gitlife.ru:oschina-mirror/openarkcompiler-OpenArkCompiler.git
oschina-mirror
openarkcompiler-OpenArkCompiler
openarkcompiler-OpenArkCompiler