home.social

#opcode — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #opcode, aggregated by home.social.

  1. Нужно ли в PHP перед вызовом функций ставить обратный слэш?

    Несколько лет назад я прочитал статью « How to dump and inspect PHP OPCodes » в которой наконец увидел, что опкоды в PHP действительно существуют. И кроме того, мы, разработчики, которые пишем на PHP на эти опкоды можем влиять, тем самым оптимизируя производительность нашего кода. В статье так же рассказывалось о том, как применение бэкслэшей может ускорить выполнение программ. Я был под впечатлением... Опкодами (см. Код операции ) называется некий промежуточный код, который всё ещё понятен человеку и который выполняется некой исполняющей средой. В случае PHP этой средой является Zend Virtual Machine (она же Zend Engine ). Технология опкодов и виртуальной машины не является чем то уникальным для PHP. Подобный подход использует Java, где опкоды компилируются в их бинарное представление и выполняются Java VM . Исходные коды Java-программ хранятся в файлах с расширением .class (потому что в Java искодники хранятся только в виде классов), а скомпилированные опкоды в файлах с расширением .java . В PHP же исходные коды программ хранятся в файлах с расширением .php . А вот опкоды не хранятся нигде, что вызвало к жизни многочисленные расширения, самым популярным из которых на сегодняшний день является OPcache . Насколько я понимаю, подобный подход на самом деле используют примерно все интерпретируемые языки программирования и прочие другие, которые хотят обеспечить кроссплатформенность. Оговорюсь, что в рамках этой статьи я буду называть функции типа explode глобальными, дефолтыми или стандартными подразумевая одно и тоже. Хотя у PHP и есть стандартная библиотека , которая скорее мертва, чем жива, как впрочем и весь PHP :)

    habr.com/ru/articles/934316/

    #opcode #php #оптимизация

  2. Смарт-контрактов ещё нет, а адреса уже есть: зачем нужен CREATE2 (EIP-1014)

    В этой статье я разбираю, как работает CREATE2, чем он отличается от CREATE, зачем нужен в контексте state channels и ERC-4337, и как его можно использовать — от вычисления адресов в Uniswap V2 до взлома Tornado Cash на $1M. Показываю примеры на Solidity и Assembly, а ещё — как на одном и том же адресе можно развернуть два разных смарт-контракта. Да, и такое возможно.

    habr.com/ru/articles/928464/

    #CREATE #CREATE2 #EVM #OPCODE #Ethereum #statechannels #uniswap #erc4337 #eip1014 #smartcontracts

  3. Today marks the first time looking at #PHP #Opcode. Used #phpdgb which was already installed. Is there a better/preferred way? Perhaps @derickr PECL extension would be better? For the truly lazy me, I looked for a #PHPStorm plugin to view opcode in the IDE, but nothing came up. Is there such a thing, or CLI is the way to go? Thank you mastodon for surfacing this subject and giving me something to learn. Eons ago I studied 370360 assembler, it all seems vaguely familiar…

  4. Der #HackadayBerlin Badge ist soo ein abgefahrenes Rabbithole:

    feat. 4 Bit Processor mit LEDs und Switches für #Opcode & Operanten