Deployment size: OpenNN vs PyTorch
A deployed OpenNN application needs 65% to 99% less disk space than the same small application running on a standard PyTorch Python installation.
Measured on 15 September 2026 on the reference computer (Intel Core i7-14700F, 32 GB RAM, NVIDIA GeForce RTX 5070 Ti, Linux). Sizes describe the runtime only: they exclude trained model weights and data.
Results
Lower is better
Intel Core i7-14700F, 32 GB RAM, NVIDIA GeForce RTX 5070 Ti, Linux · without model weights
CPU Eigen · Dense · 99% smaller
OpenNN
PyTorch
CPU MKL · Dense · 65% smaller
OpenNN
PyTorch
GPU · Dense · 82% smaller
OpenNN
PyTorch
GPU · LSTM · 79% smaller
OpenNN
PyTorch
GPU · CNN · 70% smaller
OpenNN
PyTorch
GPU · Transformer · 82% smaller
OpenNN
PyTorch
MB = 1,000,000 bytes. PyTorch includes the Python interpreter, its standard library and the installed packages.
| Backend | Application | OpenNN (MB) | PyTorch (MB) | Reduction |
|---|---|---|---|---|
| CPU Eigen | Dense | 4.93 | 814.63 | 99.39% |
| CPU Eigen | LSTM | 4.93 | 814.63 | 99.39% |
| CPU Eigen | CNN | 4.94 | 814.63 | 99.39% |
| CPU Eigen | Transformer | 4.93 | 814.63 | 99.39% |
| CPU MKL | Dense | 286.19 | 814.63 | 64.87% |
| CPU MKL | LSTM | 286.19 | 814.63 | 64.87% |
| CPU MKL | CNN | 286.19 | 814.63 | 64.87% |
| CPU MKL | Transformer | 286.19 | 814.63 | 64.87% |
| GPU | Dense | 881.07 | 4,811.05 | 81.69% |
| GPU | LSTM | 987.61 | 4,811.05 | 79.47% |
| GPU | CNN | 1,443.96 | 4,811.05 | 69.99% |
| GPU | Transformer | 881.07 | 4,811.05 | 81.69% |
Smaller applications use less storage, download faster and are easier to distribute. CPU FP32 and GPU FP32/BF16 builds were measured separately; FP32 and BF16 builds share the same files, so each GPU application appears once.
What we counted
- OpenNN: the application executable and the native libraries it loads. The CPU Eigen build needs no external math library; the CPU MKL build adds Intel MKL and oneDNN; the GPU build adds the CUDA and cuDNN libraries.
- PyTorch: the application, the Python interpreter and its standard library, the complete installed runtime packages, and the native libraries they load.
- Not counted for either library: trained model weights, datasets, operating-system and driver files, and generated caches.
The applications are deliberately small, so that the runtime dominates:
| Application | Network |
|---|---|
| Dense | 28 → 128 → 128 → 1, 20,353 parameters |
| LSTM | 8 steps × 15 features, 128 units → 1, 73,857 parameters |
| CNN | 32 × 32 RGB images, convolutions with 16 and 32 filters → dense 128 → 10 classes, 268,650 parameters |
| Transformer | Sequence length 8, vocabulary 128, width 32, 4 heads, one encoder and one decoder layer, 33,792 parameters |
Limits
- We compare an OpenNN native bundle with a standard Python installation, not with a PyTorch bundle pruned by hand to its minimum.
- All 28 builds were launched and checked on the reference computer, including a run from an isolated copy of each bundle. They have not yet been tested on a second, clean computer.
- The OpenNN builds came from development commit 84bd178e8 plus uncommitted benchmark changes.
The deployment procedure is described in the benchmark protocol. See also startup time and code size.