rbelenov fe7a4fcff9 Support for Intel VTune Amplifier XE
Intel VTune Amplifier XE
(http://software.intel.com/en-us/intel-vtune-amplifier-xe), the
performance analysis tool, supports mapping of performance data from IP
addresses to function names and source file/lines for custom JIT
engines; the engine should provide mapping from generated code to source
using JIT API (http://software.intel.com/en-us/node/458070). This patch
add the reporting to hhvm, allowing to profile PHP code execution and
see both generated assembly and PHP source for hotspots.

The reporting is controlled via Eval.JitUseVtuneAPI runtime option, so
the default behaviour is not affected. If the option is set and hhvm is
profiled by VTune, the information on compiled code is reported via JIT
API and stored in data file which is used during postprocessing and data
visualization.

The patch includes some files from VTune; the are distrubuted under BSD
license.

Closes #1254

Reviewed By: @ottoni

Differential Revision: D1133559

Pulled By: @scannell
2014-01-28 15:38:17 -08:00
2014-01-28 15:38:17 -08:00
2013-12-09 07:22:23 -08:00
2013-10-07 11:59:20 -07:00
2010-02-19 18:02:34 -08:00
2010-02-19 18:02:34 -08:00
2013-12-09 07:22:23 -08:00

HHVM Build Status

HHVM (aka the HipHop Virtual Machine) 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. To date, HHVM (and its predecessor HPHPc before it) has realized over a 9x increase in web request throughput and over a 5x reduction in memory consumption for Facebook compared with the Zend PHP 5.2 engine + APC.

HHVM can be run as a standalone webserver (i.e. without the Apache webserver and the "modphp" extension). HHVM can also be used together with a FastCGI-based webserver, and work is in progress to make HHVM work smoothly with Apache.

FAQ

Our FAQ has answers to many common questions about HHVM, from general questions to questions geared towards those that want to use or contribute to HHVM.

Installing

You can install a prebuilt package or compile from source.

Running

You can run standalone programs just by passing them to hhvm: hhvm my_script.php.

HHVM bundles in a webserver. So if you want to run on port 80 in the current directory:

sudo hhvm -m server

For anything more complicated, you'll want to make a config.hdf and run sudo hhvm -m server -c config.hdf.

Contributing

We'd love to have your help in making HHVM better.

Before changes can be accepted a Contributor License Agreement (pdf - print, sign, scan, link) must be signed.

If you run into problems, please open an issue, or better yet, fork us and send a pull request. Join us on #hhvm on freenode.

If you want to help but don't know where to start, try fixing some of the Zend tests that don't pass. You can run them with hphp/test/run. When they work, move them to zend/good and send a pull request.

All the open issues tagged Zend incompatibility are real issues reported by the community in existing PHP code and frameworks that could use some attention. Please add appropriate test cases as you make changes; see here for more information. Travis-CI is integrated with this GitHub project and will provide test results automatically on all pulls.

License

HHVM is licensed under the PHP and Zend licenses except as otherwise noted.

Reporting Crashes

See Reporting Crashes for helpful tips on how to report crashes in an actionable manner.

S
Descrição
Descrição não fornecida
Readme 99 MiB
Linguagens
C++ 59.4%
PHP 34.1%
C 4.1%
Hack 1.4%
CMake 0.3%
Outra 0.6%