Blog post

CPAN tbb.pod: Parallel Perl using TBB, Kiwi Style

TBB is available on CPAN as a library thanks to Sam Vilain in New Zealand.

Authored by James R. (Blackbelt) Last updated on 08/01/2019 - 09:30
Blog post

Parallel PHP (HipHop) using Intel® TBB, Kiwi Style

I've been chatting with a small group of dedicated fans of Intel Threading Building Blocks (TBB)  in New Zealand.  They've been looking at adding parallelism, using TBB, to Wordpress, PHP, HipHop,

Authored by James R. (Blackbelt) Last updated on 08/01/2019 - 09:30
Blog post

php main 与 iframe 相互通讯类 (同域/跨域)

main 与 iframe 相互通讯类

之前写过一篇《iframe与主框架跨域相互访问方法》,介绍了main与iframe相互通讯的原理,不了解原理的可以先看看。

Authored by Last updated on 07/03/2019 - 19:27
Blog post

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).
Authored by David S. (Blackbelt) Last updated on 07/04/2019 - 19:43
Blog post

Exposing Processor Features to Dynamic Languages

Intel® for its part invests countless hours and billions of transistors to add features in our silicon products which will speed up people's lives. If only they knew how to take advantage of it! Part of our job in dynamic languages is what I call "putting the cookies on the bottom shelf". Make this advanced technology easily consumable, and show you the value of it so you can be sure to use it.
Authored by David S. (Blackbelt) Last updated on 07/04/2019 - 19:43
Blog post

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,...
Authored by David S. (Blackbelt) Last updated on 07/04/2019 - 19:42
Blog post

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...
Authored by David S. (Blackbelt) Last updated on 07/04/2019 - 20:00
Blog post

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...
Authored by David S. (Blackbelt) Last updated on 07/04/2019 - 20:00
Blog post

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.
Authored by David S. (Blackbelt) Last updated on 07/04/2019 - 19:41
Blog post

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...
Authored by David S. (Blackbelt) Last updated on 07/04/2019 - 17:46