Mensagem de blog

My Reality Moment. Why Did I Ever Agree to Do This?

When I first took this job of leading our scripting languages area, the Reality Moment struck when I had my first real look at the challenges of dynamic languages. For example, if you compare two strings in a program, we have some new instructions in the processor which can make these go very fast. But unfortunately, if you compare two strings in PHP, you first need to determine if the strings...
Criado por David S. (Blackbelt) Última atualização em 04/07/2019 - 17:46
Mensagem de blog

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...
Criado por David S. (Blackbelt) Última atualização em 03/07/2019 - 20:08
Article

OpenStack App Developer Survey

As part of a long-term commitment to enhance ease-of-use, the OpenStack UX project, with support of the OpenStack Foundation and the Technical Committee, is now bu

Criado por Mike P. (Intel) Última atualização em 07/06/2017 - 12:14
Mensagem de blog

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,...
Criado por David S. (Blackbelt) Última atualização em 15/10/2019 - 17:51
Mensagem de blog

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.
Criado por David S. (Blackbelt) Última atualização em 15/10/2019 - 17:57
Mensagem de blog

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...
Criado por David S. (Blackbelt) Última atualização em 15/10/2019 - 17:59
Mensagem de blog

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...
Criado por David S. (Blackbelt) Última atualização em 15/10/2019 - 18:01
Mensagem de blog

PHP - The Right Tool for the Job?

Today there is a profusion of computer languages targeted at different activities. It's important to choose the right one. A lot of programmers love Python because it's so fast to implement stuff, but it can be a pain to use to create a simple website. PHP is the most popular choice for implementing active content in a website. And it's rather obvious once you dig into it. As you create your web...
Criado por David S. (Blackbelt) Última atualização em 15/10/2019 - 18:06
Mensagem de blog

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...
Criado por David S. (Blackbelt) Última atualização em 15/10/2019 - 19:42
Mensagem de blog

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...
Criado por David S. (Blackbelt) Última atualização em 15/10/2019 - 19:43