Блоги

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
Блоги

The 0-Day Challenge: What is the Pulse of the Internet?

The core components of the Internet get updated constantly. Every time the source changes, the health and performance can change. A single source code change can fail to build, can break compatibility with existing code and can change the performance anywhere from a fraction of a percent up to 10% or more on major customer workloads. We're trying to read the pulse of our core components (Python,...
Автор: David S. (Blackbelt) Последнее обновление: 15.10.2019 - 17:51
Блоги

Making the Dead Rise, and Other Impossible Tasks

My current job is to lead our company's work on dynamic server languages, such as performance optimization and feature enabling. Besides PHP and HHVM, we want to improve Python. There is a huge amount of Python code in use out there, for example running OpenStack, Swift, DropBox and many others. What I didn't realize when I took the job was that much of this use is in a "dead" language.
Автор: David S. (Blackbelt) Последнее обновление: 15.10.2019 - 17:57
Блоги

High Performance PHP 7

On October 21, 2015, I was invited to give a technical talk at ZendCon, the largest gathering of the PHP community. A lot of excitement this year surrounds the release of PHP 7 which represents a massive performance improvement over previous versions. Here are a few notes from my talk. The promise was to offer a way for attendees of the talk to get even more performance out of PHP 7. We show you...
Автор: David S. (Blackbelt) Последнее обновление: 15.10.2019 - 18:01
Блоги

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) Последнее обновление: 15.10.2019 - 19:42
Блоги

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) Последнее обновление: 15.10.2019 - 19:43
Блоги

Dynamic Languages Take Over the Internet

The server world has really embraced Python in a big way. For example, the OpenStack project is a very popular Infrastructure as a Service offering, and most of it is written in Python. This makes Python a leader for Software Defined Infrastructure (SDI), Software Defined Storage (SDS) and Software Defined Networking (SDN).
Автор: David S. (Blackbelt) Последнее обновление: 15.10.2019 - 19:44