Автор Гілка: Створення власного компілятора... з турбонадувом.  (Прочитано 2923 раз)

Відсутній eox425

  • Новачок
  • *
  • дописів: 11
  • Карма: +0/-0
Всім добрий час доби.
Ідея нещодавно проповзла у мене в голові.
Як щодо створитення власного компілятора,
а саме транслятора з С в GAS з урахуванням нелінійної
оптимізації алгоритмів, тобто з використанням
генетичної оптимізації недетермінованих
автоматів з урахуванням архітектури процессора.

Також можна використати деякі новітні методи оптимізації
динамічного розподілення памяті і т.д. і т.п.

Значить ідеї є.
Проблема наступна:
Хто дружить з GCC на рівні коду та реалізації?
Хто дружить з OpenMP?

Поясніть що де в SRC'ах знаходиться будь-ласка.

Дякую за увагу.

Відсутній INFINITI

  • Новачок
  • *
  • дописів: 9
  • Карма: +0/-0
  • Я білий і пухнастий....
Всім добрий час доби.
 тобто з використанням генетичної оптимізації недетермінованих
автоматів з урахуванням архітектури процессора.
Також можна використати деякі новітні методи оптимізації
динамічного розподілення памяті і т.д. і т.п.

Мої плани настільки геніальні 8-) ... що санітари уже виїхали  ::)

п.с. Сорі за офтоп :)
« Змінено: 2009-12-13 14:44:33 від INFINITI »

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3855
  • Карма: +12/-0
  • Програміст
Всім добрий час доби.
Ідея нещодавно проповзла у мене в голові.
Як щодо створитення власного компілятора,
а саме транслятора з С в GAS з урахуванням нелінійної
оптимізації алгоритмів, тобто з використанням
генетичної оптимізації недетермінованих
автоматів з урахуванням архітектури процессора.
Я про це вже десь читав, вже хтось робив. Генерувалися різні варіанти машинного коду і експериментальним чином перевірялося, які з них швидші саме на цьому залізі (це воно?). Але де я його бачив і що з ним зараз — я не знаю. :-/

Також можна використати деякі новітні методи оптимізації
динамічного розподілення памяті і т.д. і т.п.

Для цього не обовʼязково хакати GCC. Можна спробувати подивитися на якийсь інший компілятор, простіший. Зараз LLVM інтенсивно розвивається. У нього архітектура правильніша, додавати нові оптимізації буде значно легше.

Для того щоб з розподілом памʼятті експериментувати треба хакати libc (або можна написати свою so-шку, яка перехоплюватиме потрібні функції, так наприклад гуглівці роблять: http://goog-perftools.sourceforge.net/doc/tcmalloc.html ).
[Fedora Linux]