# facebook/hhvm

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/facebook-hhvm).**

18,605 stars · 3,076 forks · C++ · other

## Links

- GitHub: https://github.com/facebook/hhvm
- Homepage: https://hhvm.com
- awesome-repositories: https://awesome-repositories.com/repository/facebook-hhvm.md

## Topics

`hack` `hacklang` `hhvm` `php`

## Description

HHVM is a high-performance execution engine and runtime environment designed for the Hack language. It functions as a persistent web application server that processes incoming network traffic, while also providing command-line utilities for executing standalone scripts and performing automated tasks.

The project distinguishes itself through a sophisticated execution model that utilizes just-in-time compilation to translate bytecode into optimized machine code. This process is supported by a static type analysis engine that enforces strict data constraints and identifies type inconsistencies before code execution. By leveraging profile-guided optimization and multi-threaded request handling, the runtime continuously refines its performance based on actual usage patterns and concurrent traffic demands.

Beyond its core execution capabilities, the platform includes comprehensive tools for type safety validation and environment configuration. Users can adjust internal execution parameters and resource limits through external files, allowing for customized behavior without modifying the underlying application source code.

## Tags

### Programming Languages & Runtimes

- [Virtual Machines](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/execution-engines/virtual-machines.md) — Compiles high-level code into machine language to accelerate web application processing.
- [Language Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/language-runtimes.md) — Provides a server-side environment for executing web scripts and managing persistent processes.
- [Profile-Guided Optimizations](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-toolchains/optimization-frameworks/profile-guided-optimizations.md) — Refines machine code generation by collecting and utilizing runtime execution data based on actual usage patterns.
- [Language Development Environments](https://awesome-repositories.com/f/programming-languages-runtimes/language-development-environments.md) — Provides a dedicated environment for writing and maintaining code with integrated static type checking.
- [Execution Accelerators](https://awesome-repositories.com/f/programming-languages-runtimes/scripting-runtimes/execution-accelerators.md) — Compiles high-level web scripts into machine language at execution time to improve performance. ([source](https://docs.hhvm.com/hhvm/))
- [Multi-threaded Execution](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/concurrency/execution-models/multi-threaded-execution.md) — Distributes incoming web requests across multiple execution threads to improve server throughput.
- [Type Safety](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/type-system-tools/type-safety.md) — Enforces strict type constraints and identifies inconsistencies throughout the development process. ([source](https://docs.hhvm.com/hhvm/installation/introduction/))

### Software Engineering & Architecture

- [Just-in-Time Compilers](https://awesome-repositories.com/f/software-engineering-architecture/function-execution-engines/just-in-time-compilers.md) — Translates high-level bytecode into optimized machine code during execution to significantly increase script processing speed.
- [Bytecode Interpreters](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/bytecode-interpreters.md) — Executes programs by interpreting platform-independent bytecode for efficient cross-platform execution.
- [Performance Optimization](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization.md) — Maximizes speed and resource efficiency through execution parameter tuning and just-in-time compilation.

### Web Development

- [High-Performance HTTP Servers](https://awesome-repositories.com/f/web-development/high-performance-http-servers.md) — Delivers dynamic web content with optimized execution speed through a persistent server process.
- [Application Servers](https://awesome-repositories.com/f/web-development/web-infrastructure-deployment/web-infrastructure-servers/application-servers.md) — Functions as a persistent server process that executes application logic to deliver dynamic content.
- [Routing and Request Handling](https://awesome-repositories.com/f/web-development/backend-development/web-frameworks/routing-request-handling.md) — Operates as a persistent server process to receive and process incoming network traffic. ([source](https://docs.hhvm.com/hhvm/basic-usage/introduction/))
- [Server-Side Scripting Engines](https://awesome-repositories.com/f/web-development/server-side-scripting-engines.md) — Executes standalone scripts from the command line to automate data processing and system tasks.

### Development Tools & Productivity

- [Static Analysis Engines](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines.md) — Examines source code structures before runtime to detect type mismatches and enforce strict data constraints.
- [Static Type Checkers](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-type-checkers.md) — Analyzes source code to identify type errors and enforce strict constraints before execution.
- [Standalone Scripts](https://awesome-repositories.com/f/development-tools-productivity/standalone-scripts.md) — Supports executing individual code files directly from the command line for standalone tasks. ([source](https://docs.hhvm.com/hhvm/basic-usage/introduction/))

### DevOps & Infrastructure

- [Runtime Environment Configuration](https://awesome-repositories.com/f/devops-infrastructure/runtime-environment-configuration.md) — Provides mechanisms to customize runtime performance and behavior through external configuration files. ([source](https://docs.hhvm.com/hhvm/basic-usage/introduction/))
