Skip to content

‹ Back to Benchmarks

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

Runtime size on disk
Lower is better
Intel Core i7-14700F, 32 GB RAM, NVIDIA GeForce RTX 5070 Ti, Linux · without model weights
CPU Eigen · Dense · 99% smaller
CPU MKL · Dense · 65% smaller
GPU · Dense · 82% smaller
GPU · LSTM · 79% smaller
GPU · CNN · 70% smaller
GPU · Transformer · 82% smaller
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.