riky
@riky
Laravel

Чистите ли вы комментарии в PHP коде для оптимизации?

предполагаю что многие меня сейчас будут учить что пхп компилируется в opcode и выполняется уже оттуда, а в опкоде комменты игнорируются.
но есть небольшой нюанс, комменты открывающиеся с /** перед методами и свойствами класса расцениваются как аннотации и могут быть получены через рефлексию, то есть они должны быть в опкоде.

пример
<?php

class A
{
    /**
     * тут много много разного текста
     */ 
    public $a;
}

echo memory_get_usage();


если менять размер текста то потребление оперативной памяти меняется.
если заменить /** на /* то потребление уменьшается и не зависит от размера коммента. то есть коммент не расценивается как аннотация и не компилится в опкод.

PS изначально хотел навести ревизию в папке vendor в симфони, меня напрягает ее размер 150мб на каждый проект, как оказалось можно легко уменьшить до 50 если выпилить не нужные на проде папки типа Tests/Fictures/Docs/.git (размер последнего для некоторых бандлов особенно умиляет). хотя бы размер дистрибутива будет меньше. если выпилить комменты-аннотации, которые зачастую не используются (естественно есть исключения - аннотации которые реально используются), то можно еще и потребление оперативной памяти уменьшить, а также думаю косвенно и скорость улучшится.

поэтому вопрос в заголовке.

может показаться что экономия на спичках, но в симфони сплошь и рядом используются аннотации только лишь в качестве php-doc но с /**. а кода там десятки мегабайт. мне интересно стало сколько оперативки можно этим сэкономить.
  • Вопрос задан
  • 1357 просмотров
Пригласить эксперта
Ответы на вопрос 1
SerafimArts
@SerafimArts
Senior Notepad Reader
1) Симфони и так компилит большинство файлов кернела в app[Env]Kernel в папочку app
2) Учитывая что на основе аннотаций у симфони построена значительная часть логики приложения - удаление оных сравнима с удалением исходного кода. Так же будет всё быстрее на 0.001% и точно так же всё поломается
3) Лезть в вендор папки - это верх извращения де-факто

Ну т.д. Подобные мысли - это пережиток времён php 4, сейчас же проще поставить php 7, нежели поганить исходники (которые, между прочим, придётся "чистить" каждые пару недель руками, т.к. обновления ядра никуда не деваются).

А ещё проще отключить какой-нибудь бандл или переписать один тяжёлый sql\dql запрос - по скорости на порядок будет профитнее.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы