Derick Rethans

It's all about the goto by Derick Rethans

Don't worry, this is not about the goto keyword.

In this presentation, I am showing you some of the inner workings of PHP. We are going to look at how different language keywords and constructs are handled internally. Basically, everything is converted to goto, but the how and why, is not as simple as it seems! We'll also have a look at what sort of optimisations opcache does to make your code run faster.

This is a very in depth talk, mostly interesting to people that want to know how PHP works internally. Expect lots of wonkyness, a form of assembly, and trees.

Talk Questions

  • Question 214
    When will xdebug support installation via composer?
  • Question 208
    What's the biggest /smallest thing you changed that made PHP gain so much speed performance?
  • Question 219
    So with the complexity of the conversion between AST and opcodes, if I'm not mistaken this is converted to C code? Why is the opcodes not directly converted to assembly code?
  • Question 211
    Wow. The theory of compilers in 30 minutes. O_O
  • Question 213
    What is the test coverage in this AST builder and translator for C code
  • Question 220
    What's more efficient, for or while loop?
  • Question 210
    What are some practical usecases of tokenizer extension?
  • Question 216
    where is c code?
  • Question 212
    What's the higher performance waster change in PHP internals you've introduced?
  • Question 209
    Why php use bison instead of a hand written parser?
  • Question 221
    Would it be advantageous to compile to other VMs like JVM/CLR? Could that theoretically improve performance and/or allow more features in PHP?
  • Question 222
    Many programming languages companies like rust and go write their own language server, can php do it?