# Home

![](https://2919393935-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LDw-Wj3OHa9HNcujxFJ%2F-LEPlTMeNh0f7QOIaE_o%2F-LEPlVqwdsnH_v3TjWdK%2Fpronghorn-banner.png?alt=media\&token=74a720bc-2c08-4e98-935b-ffc332d65667)

## Quick Links:

* Learn how t**o create a simple Pronghorn app** by following the [**Hello World Example**](https://oci-pronghorn.gitbook.io/pronghorn/chapter-0-what-is-pronghorn/home). You can also use the chapters on the left as a reference for building better Pronghorn applications.
* Visit the [**Downloads**](https://oci-pronghorn.gitbook.io/pronghorn/chapter-0-what-is-pronghorn/downloads) page for more information on how to download using Maven and other methods.
* See [**benchmarks**](https://oci-pronghorn.gitbook.io/pronghorn/chapter-0-what-is-pronghorn/benchmarks) and [**FAQs**](https://oci-pronghorn.gitbook.io/pronghorn/chapter-0-what-is-pronghorn/faqs).

## What is Pronghorn?

> The **actor model** in [computer science](https://en.wikipedia.org/wiki/Computer_science) is a [mathematical model](https://en.wikipedia.org/wiki/Mathematical_model) of [concurrent computation](https://en.wikipedia.org/wiki/Concurrent_computation) that treats "actors" as the universal primitives of concurrent computation. In response to a [message](https://en.wikipedia.org/wiki/Message_\(computing\)) that it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received.&#x20;

Pronghorn is a pragmatic approach to an **actor based framework**. It is a staged event driven single machine embedded micro-framework written in Java, designed to be garbage-free with a small memory footprint.

## JavaDocs

The JavaDoc for every major Pronghorn-related project is listed below:

[![](https://github.com/objectcomputing/Pronghorn/raw/master/static/jdoc-pronghorn.png?raw=true)​](https://objectcomputing.github.io/Pronghorn/javadoc_ref/Pronghorn/index.html) [​![](https://github.com/objectcomputing/Pronghorn/raw/master/static/jdoc-pronghornpipes.png?raw=true)​](https://objectcomputing.github.io/Pronghorn/javadoc_ref/PronghornPipes/index.html) [​![](https://github.com/objectcomputing/Pronghorn/raw/master/static/jdoc-jpgraster.png?raw=true)​](https://objectcomputing.github.io/Pronghorn/javadoc_ref/JPG-Raster/index.html)​

## Examples

### GreenLightning

For a project built completely with Pronghorn, there is GreenLighting, an incredibly fast & lightweight microservices framework.

### JPG-Raster

For a real-world example of Pronghorn, please see [JPG-Raster](https://oci-pronghorn.gitbook.io/pronghorn/chapter-6-example-projects/jpg-raster), a fast JPG encoder/decoder:

![A live telemetry demo of encoding a JPG using Pronghorn.](https://2919393935-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LDw-Wj3OHa9HNcujxFJ%2F-LEPaXRXqC7fUpKfOiv1%2F-LEPaap9pZ42yA5wwL69%2Fencoding-jpgs.gif?alt=media\&token=5a9e61fd-c8a3-4981-b366-6ba12b156d19)

### Web Cookbook

Another example is the [Web Cookbook](https://oci-pronghorn.gitbook.io/pronghorn/chapter-6-example-projects/web-cookbook). It demonstrates how to build a HTTP server, proxy, and more:

![Telemetry demonstration of the Web Cookbook.](https://2919393935-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LDw-Wj3OHa9HNcujxFJ%2F-LEAqk46rGdg45jMY22r%2F-LEArXsehBZgMazgr0jB%2Fimage.png?alt=media\&token=62ac7a13-7d47-42f1-8983-b4f91a4a2b9c)

## Why Pronghorn?

|                           | Pronghorn | Akka    |
| ------------------------- | --------- | ------- |
| **Actor framework**       | **Yes**   | **Yes** |
| **Garbage-free**          | **Yes**   | No      |
| **Statically typed**      | **Yes**   | **Yes** |
| **Language**              | Java      | Scala   |
| **Blocking/locking free** | **Yes**   | No      |
