LINUX.ORG.RU

Зачем нужна трансляция?

 , ,


0

3

HipHop for PHP (букв. HipHop для языка PHP) — транслятор исходного кода, созданный компанией Facebook. HipHop программно превращает исходный код, написанный на языке PHP, в оптимизированный код на C++, а затем использует компилятор g++ для его компиляции.

Зачем тут нужна промежуточная трансляция в C++, если можно сразу компилировать (just in time) (то есть, просто написать компилятор вместо транслятора)



Последнее исправление: hfucker (всего исправлений: 1)

Напиши, будут использовать, если окажется лучше.

%%inb4: >implying ананiмус может что-то написать%%

Deleted
()

Зачем тут нужна промежуточная трансляция в C++, если можно сразу компилировать (just in time) (то есть, просто написать компилятор вместо транслятора)

kphp

/thread

reprimand ★★★★★
()
Ответ на: комментарий от Deleted

А как она может оказаться не лучше, если, в данном случае, задействован абсолютно ненужный слой?

hfucker
() автор топика

Затем, что написать траснлятор куда как проще, чем конпелятор, тем более уровня гцц.

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

тем более уровня гцц.

И что это за уровень такой, кстати, недостижимый? То что он хавает кучу языков? Так это же не требуется в данном случае. А в целом, авторитетные люди говорят, что гцц говно, как конпелятор.

hfucker
() автор топика

GCC умеет затачиваться под каждую платформу, используя те мли иные оптимизации. Угадай, что легче: написать транслятор в логичный и быстрый C++ код (и стандартизованный, и переносимый), зная только C++ Или заного пилить все костыли под все требуемые платформы, когда это уже реализовано в GCC?

Deleted
()
Ответ на: комментарий от Deleted

Но ведь вроде C++ не имеет кросплатформенности искаропки? На уровне плюсов тогда придется выдрачиваться, не все ли равно?

hfucker
() автор топика

Потому что написать новый фронтенд для gcc не может никто, кроме полутора красноглазиков в мире, а llvm генерит тормозный код.

anonymous
()
Ответ на: комментарий от anonymous

Нет, я не понял вот этого

Потому что написать новый фронтенд для gcc не может никто

Кто говорит о написании чего бы то ни было для gcc, если в качестве альтернативы рассматривается написание компилятора?

hfucker
() автор топика
Ответ на: комментарий от hfucker

Это один чёрт куда проще, чем писать низкоуровневые оптимизации для каждой платформы. Достаточно транслировать в кросплатформенный код для плюсов, а плюсовые оптимизирующие компиляторы неплохо улучшат производительность. Сколько лет оптимизировали clang, gcc, icc, tcc?

Deleted
()
Ответ на: комментарий от tailgunner

И не надоело Вам прикидываться, что Вы что-то понимаете? Корчить из себя эксперта, так сказать? Я давно слежу за вашим поведением. Другие когда оставляют какие-то комментарии, они как-то обозначают свою позицию. А вы просто смотрите на автора темы и ставите комментарии в подобном стиле.

anonymous
()
Ответ на: комментарий от tailgunner

Во, чувак, а ты не такой тупой, как мне раньше казалось. Что-то дельное можешь родить иногда. Пожалуй, уберу тебя из игнор-листа.

anonymous
()
Ответ на: комментарий от anonymous

Я давно слежу за вашим поведением

Вау.

вы просто смотрите на автора темы и ставите комментарии в подобном стиле.

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

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Не о том речь. Данное поведение вообще типично для вас. Ваши сообщения не несут в себе никакой информации. Абсолютно не понятна степень вашей компетентности в обсуждаемых вопросах.

anonymous
()
Ответ на: комментарий от arkadij-smirnov

Другие то как-то обозначили?

anonymous
()
Ответ на: комментарий от hfucker

Пых настолько ущербен, что транслировать его в цппшные хелловорды не составляет практически никакого труда.

deep-purple ★★★★★
()
Ответ на: комментарий от Deleted

Подожди, сейчас он с царем объединится, и они напишут whole-program оптимизирующий, автоматически векторизующий инкрементальный JIT-суперкомпилятор PHP для всех мыслимых платформ.

buddhist ★★★★★
()

Зачем тут нужна промежуточная трансляция в C++

Затем, что они сразу не осилили JIT. Потом они запилили и JIT-компилятор, hhvm. Теперь hiphop - депрекейтед.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 3)

Ну вот, мои идеи стырили. Интересно, это нужно кому-нибудь?

den73 ★★★★★
()
Ответ на: комментарий от buddhist

Подожди, сейчас он с царем объединится, и они напишут whore-program оптимизирующий, автоматически векторизующий инкрементальный JIT-суперкомпилятор PHP для всех мыслимых платформ.

поправил.

anonymous
()
Ответ на: комментарий от hateyoufeel

email мейнтейнера как бы намекает

А мы недооценивали царя!

anonymous
()

да они глупенькие прост)

Debasher ★★★★★
()
Ответ на: комментарий от tailgunner

Хорош уже. Это не невежество, это психическое заболевание. Автора надо пожалеть и изолировать (а лучше сразу усыпить), а не глумиться над ним.

anonymous
()
Ответ на: комментарий от anonymous

Глум какой-то слабенький правда получается, как тихое тяфканье моськи под ногами. Так что не парься, это не травмирует мою шизо-психику. Мухи меня раздражают гораздо больше.

hfucker
() автор топика

Она нужна, дружок. Ты поймешь это, когда у тебя будет legacy php код и надо будет как-то выкручиваться, пока переписываешь его на подходящий под реалии язык.

А пока ты прочитал 2 строки и задаешь вопрос «зачем какая-то там трансляция, ведь жит-ко-ко-ко» - тебе она незачем.

SevikL ★★★★★
()
Ответ на: комментарий от hfucker

Посчитай, сколько строк кода в хотя бы одном бекенде gcc. Ты, шизофреник, опухнешь столько писать.

anonymous
()

Потому что такой подход быстрее дал достаточную отдачу при низком уровне затрат. Только поэтому. Это бизнес, а не абстрактное программирование трансляторов/конпеляторов в вакууме. Еще потому что Лицокнига это не компания, занимающаяся конпеляторами, им незачем вкладывать в идеологически более правильное, но невыгодное для их бизнеса решение.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.