4842f4ee1df21c654e217d3a7e4a67691247d82d
While investigating why gcc-4.7.1 is slower than gcc-4.6.2, I noticed that under 4.6.2 the tbb code was being inlined into Unit::GetNamedEntity, but under 4.7.1 it wasn't. Perf showed that the inclusive time for GetNamedEntity was about .4% higher under gcc-4.7.1. Meanwhile, after various code changes, gcc-4.6.2 is no longer inlining the tbb code either. Playing with the inlining options, I wasnt able to get either version of gcc to inline it anymore, but using __attribute__((__flatten__)) works for both. But that also causes a bunch of other, slow-path code to be inlined, so split it into a hot and a cold function, and flatten the hot function. Perf shows about a .2% win for Unit::GetNamedEntiry under gcc-4.6.2
HipHop VM for PHP
HipHop VM (HHVM) is a new open-source virtual machine designed for executing programs written in PHP. HHVM uses a just-in-time compilation approach to achieve superior performance while maintaining the flexibility that PHP developers are accustomed to. HipHop VM (and before it HPHPc) has realized >5x increase in throughput for Facebook compared with Zend PHP 5.2.
Required Packages, and Installing and Running HipHop VM
The latest information is available on the wiki.
Contributing to HipHop VM
HipHop VM is licensed under the PHP and Zend licenses except as otherwise noted.
Before changes can be accepted a Contributors Licensing Agreement must be signed and returned.
Descrição
Linguagens
C++
59.4%
PHP
34.1%
C
4.1%
Hack
1.4%
CMake
0.3%
Outra
0.6%