32bit_me (32bit_me) wrote,
32bit_me
32bit_me

Category:

Ещё один перевод на хабр

Перевод статьи "Сколько стоит компилятор?"

Статья любопытная, компания Embecosm разрабатывает компиляторы для специализированных систем заказчика. В статье описывается опыт создания компилятора на основе LLVM для некоторого 16-битного DSP, приводятся основные этапы работы и оценки сроков.

Есть несколько любопытных моментов.

Во-первых, они зачем-то сделали 16-битный char. Я знаю также,что у какого-то известного производителя также был компилятор для их DSP с 16-битным char. Я также знаю, что это допустимо по стандарту С. Я только не понимаю, зачем так делать. То, что ядро 16-битное, не означает, что char также должен быть 16-битный. К тому же, LLVM просто так не собирается с типом char, отличным от 8 бит (я проверял), но они как-то это сделали. Вообще, они про это тоже пишут, в другой статье, но я её ещё не читал. И я считаю, что если так сделать, наверняка отвалятся какие-нибудь оптимизации (хотя я это не проверял). И в любом случае, это вызовет у многих программистов вопросы, потому что очень многие библиотеки могут просто неправильно работать при нестандартном размере char.

Во-вторых, оценки сроков у них сильно занижены, имхо. Даже учитывая, что у них был готовый ассемблер и линкер, и работала группа из 5 человек, они потратили на всю работу 120 человеко-дней, это просто нереально маленький срок. Может быть, они такие суперэксперты, конечно, но имхо, 120 рабочих дней не хватит даже на создание прототипа. Реальный срок разработки в несколько раз больше. Но это опять же, по моему мнению.

В-третьих, то, что компания-заказчик включила в группу разработки своего человека, это просто суперграмотное решение. Я не могу представить такое в наших реалиях.
Tags: llvm, хабр
Subscribe

  • Моя прелесть - 1

    SEL90M28G 1. 2. 3. 4. И сделанные им снимки: 1. Какая-то неведомая плата 2. Куплено в Минске, за нал, и с товарным чеком…

  • PCI SCSI-1 RAID контроллер

    RAID контроллер в несколько разобранном состоянии. Возможно, что даже рабочий, но как это проверить? Картинки кликабельны 1. 2. 3. 4.…

  • Das Keyboard

    Кликабельно.

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments