За последние 24 часа нас посетили 20714 программистов и 1106 роботов. Сейчас ищут 383 программиста ...

Strict Types PHP

Тема в разделе "Прочее", создана пользователем Full-R, 25 янв 2020.

?

Использете strict types?

  1. Да

    100,0%
  2. Нет

    0 голосов
    0,0%
  3. Не понимаю зачем

    0 голосов
    0,0%
  4. Не умею понимать

    0 голосов
    0,0%
  1. Full-R

    Full-R Зэк
    [ БАН ]

    С нами с:
    25 янв 2020
    Сообщения:
    6
    Симпатии:
    0
    Приветствую.

    Сегодня я закончил портирование Kernel нашего framework на strict types.

    Я не увидел большой разницы в производиельности для strict Fast CGI через Apache handler, но итоге инициализация всего Kernel с отображением контента и запросами к БД занимает опрядка 0.07 секунды и отъедает 2.21 - 2.22 Mb оперативной памяти для PHP 7.3.14 с MySQL 5.7 на хостинге за 1.8 евро в месяц.

    Результат, конечно же, фантастический, однако я не смог оценить разницы и перед включением declare strict types = 1 у меня уже были реализованы классы на final static, были прописаны возвратные значения и типы данных для аргументов.

    Вопрос знающим:

    Как реализовать переключение strict types учитывая блочные инструкции для сторонних компонентов и классов без strict? У меня не зработали блоки компиляции сразу же, а принимается только первый declare и работает на все require, хотя я должен отключить strict для создателей расщирений системы(иначе они не смогут ни одни пакет из composer использовать в силу говнокодеров).

    Как отразиться на компиляции переключение strict types и что будет с производительностью?

    Как можно настроить выделение памяти для RegExp PCRE PHP так, чтобы распарсить флаг Испании в формате SVG и процесс PHP не прервался на 400-х строчках тегов?

    Я написал парсер, который обрабатывает любые тегу по белому списку с атрибутами и очищает XSS внутри, генерируя data: в base64 для встраивания в CSS. Это используется для опций email и интерфейса, позволяя профильтровывать любой пользовательский HTML и XML-like не рискуя пропустить malware в контент и на выход отображения.

    Есть ли способ выделить память процессам preg_match и как это настраивается?

    Cейчас памяти не хватает и мы имеем white page на оборванном процессе.
    SVG, конечно же, гады, но работать как-то с ним нужно.
     
  2. Full-R

    Full-R Зэк
    [ БАН ]

    С нами с:
    25 янв 2020
    Сообщения:
    6
    Симпатии:
    0
    В общем, реально выключил все лишнее, что позволил аккаунт хостинга.

    Проверяю чисто для production server режима ибо это будет объективно для примерно любых установок в интернет.

    Выполнение kernel и базовых классов до exit('final'); колеблется в пределах 0.120 - 0.076 sec и почему-то "гуляет" память в пределах 1.75Mb - 1.76Mb, а кэш при этом стабилен.

    Performance-RCMF.png

    Есть идея включить сервер под свой контроль и там сделать disable всем функциям PHP через ini, которые я не использую(это -60% инициализации). Разрабочик я не богатый и не привык мажорить, но могу также исследовать как будет работать 7.3.9 на Windows 10 Pro x64 + FPM на Mamp PRO для ноута с памятью 4Gb и CPU 7020u(не богато, но я уже запускал свой framework на Atom x5 с 2 Gb ОЗУ из-за сраного спора, который смог выиграть).

    Такой вопросец: во сколько для такой системы обойдется сервер, если я захочу запустить что-то вроде социальной сети в месяц и какой сервер нуженс учетом не быстрого роста популярности(почти весь функционал написан)?

    Какой сервер брать? Лучше Windows Workstation 10 x64 Pro(лицензия около 30 000 рублей стоит) или Arch Linux x64 самомучаный без поддержки?

    Я добился транзакций при всем ES7 и Fetch с интрефейсом CSS3\4 на View Port Units 800kb(+Иконки интерфейса интегрированный 80штук и 261 флаг стран в SVG на data base64) при первом заходе на сайт без сжатия(gzip - 250kb трансфера всей верстки и ресурсов стилей). При fetch запросах тратится по 5Kb трафика примерно и это может работать в сетях 3G, которые в жопаной России еще есть и не мало.

    Из-за VPU также не нужно делать Android или iOS приложение используя Web-View для ярлыка сайта с вшитым адресом web. VPU интерфейс на любой экран от 400px до 8k телевизоров смотрится всегда одинаково(масштабирование сохраняется без всяких media-queries или responsive само по себе).

    В общем, также поинтересовался бы возможностью найти инвестора.
    Честного(мне обещали BMW X5 за новые экономичные и производительные решения, а подставили на Atom X5 и чуть не убили), для не больших вложений и не желающего потом меня вытрахать насухо(серверы обойдутся дешево).
    Поддержка большая не нужна: средняя амортизация жизни, новое оборудование и возможность отпуска.

    Если есть честный человек, готовый вложить в реальные проекты - пишите, если не честный, как некоторые "Гении", работающие за чужую жизнь, воруя чужие идеи с прослушки - не пишите.

    Разработчиков, наверное, не ищу(работать со мной нужна реальная квалификация и опыт лет 10 в Full stack без глупостей корпоративного Senior ориентированного мозга и умением пользоваться Native futures без Framework и на ограниченных допусках к даже стандартным функциям), однако, можете написать в личку, если вы это умеете и есть энтузиазм.