Блоги

Core Challenge In Speeding Up Python, PHP, HHVM, Node.js...

A traditional compiler translates a high-level computer program into machine code for the CPU you want to run it on. An interpreted language translates a high-level language into the machine code for some imaginary CPU. For historical reasons, this imaginary CPU is called a "virtual machine" and its instructions are called "byte code." One advantage of this approach is development speed: creating...
Автор: David S. (Blackbelt) Последнее обновление: 04.07.2019 - 20:00
Блоги

The JITter Conundrum - Just in Time for Your Traffic Jam

In interpreted languages, it just takes longer to get stuff done - I earlier gave the example where the Python source code a = b + c would result in a BINARY_ADD byte code which takes 78 machine instructions to do the add, but it's a single native ADD instruction if run in compiled language like C or C++. How can we speed this up? Or as the performance expert would say, how do I decrease...
Автор: David S. (Blackbelt) Последнее обновление: 04.07.2019 - 20:00
Блоги

HHVM and Haswell

There is no question that PHP is the most popular language in use today to implement server code on web pages. Something like 80% of web sites are implemented using it. The extremely popular site Facebook has implemented their own PHP interpreter called HHVM, and they are doing code development on it as an open source project. Because of its performance and its open source methodology, it is also...
Автор: David S. (Blackbelt) Последнее обновление: 04.07.2019 - 19:38
Блоги

PGO: Let It Go (PHP)

We can hope that companies like Intel® will come along with a faster processor. (And this does tend to happen every year). Or we can improve our compilers to produce better machine code. Or we can analyze our own code and change it to run more optimally. For PHP, we do all three: We partner with the processor architects to improve the way they execute PHP; we look for changes we can make to the...
Автор: David S. (Blackbelt) Последнее обновление: 03.07.2019 - 20:08