---
title: "Every Pixeltable release, measured"
description: "We run one workload on every Pixeltable release, on one machine, and log what changed the numbers and why."
url: "https://pixeltable.com/engineering"
---

# Every Pixeltable release, measured

We run one workload on every Pixeltable release, on one machine, and log what changed the numbers and why. 16 releases, 0.7.0 to 0.7.15, on one Apple M4 Pro, recorded 2026-10-08. Each value is the best of 5 runs.

## 0.7.15 against 0.7.0

| Step | 0.7.0 | 0.7.15 | Change |
|---|---|---|---|
| One-row insert | 2.99 ms | 2.45 ms | 1.2x faster |
| 100-row batch insert | 11,826 rows/s | 18,222 rows/s | 1.5x faster |
| 10,000-row backfill | 0.90 s | 0.41 s | 2.2x faster |
| Point query | 1.77 ms | 1.89 ms | no clear change |
| Table.compute() on one row | 1.02 ms | 0.95 ms | no clear change |
| import pixeltable | 3.05 s | 3.19 s | no clear change |
| SQL statements per insert | 11 | 11 | same |

## Dev log

### 2026-10-08: Every 0.7 insert sends 11 SQL statements

A one-row insert into a table with two computed columns sends 11 SQL statements in every release from 0.7.0 to 0.7.15.

Here the database is an embedded Postgres on the same machine, so a whole insert takes about 2.45 ms of CPU. On a hosted database each statement is a network round trip, which is why the same insert takes tens of milliseconds on the cloud comparison.

- [Pixeltable insert latency on the cloud comparison](https://pixeltable.com/compare/cloud-providers)

### 2026-10-08: 0.7.2 made backfills twice as fast by indexing less

From 0.7.1 to 0.7.2, the 10,000-row backfill went from 0.93 s to 0.41 s of CPU, 100-row batches from 11,605 rows/s to 19,059 rows/s, and a one-row insert from 2.96 ms to 2.37 ms. No later release has moved them since.

0.7.2 stopped creating a B-tree index on every column by default; `Table.add_btree_index()` adds one where a query needs it. To check that this change accounts for the whole step, we added the indexes back to 0.7.14: it measured 0.90 to 0.95 s for the backfill and about 11,400 rows/s, which are 0.7.1's numbers.

Our point query filters a 300-row table, where an index makes no measurable difference. On a large table, a filter on a column with no index scans the table.

- [pixeltable/pixeltable#1472](https://github.com/pixeltable/pixeltable/pull/1472)
- [Release 0.7.2](https://github.com/pixeltable/pixeltable/releases/tag/v0.7.2)

## Releases

| Release | Published | One-row insert | 100-row batch insert | 10,000-row backfill | Changes |
|---|---|---|---|---|---|
| [0.7.15](https://github.com/pixeltable/pixeltable/releases/tag/v0.7.15) | 2026-10-08 | 2.45 ms | 18,222 rows/s | 0.41 s | 19 |
| [0.7.14](https://github.com/pixeltable/pixeltable/releases/tag/v0.7.14) | 2026-10-05 | 2.48 ms | 18,090 rows/s | 0.41 s | 2 |
| [0.7.13](https://github.com/pixeltable/pixeltable/releases/tag/v0.7.13) | 2026-10-02 | 2.43 ms | 18,847 rows/s | 0.41 s | 9 |
| [0.7.12](https://github.com/pixeltable/pixeltable/releases/tag/v0.7.12) | 2026-09-30 | 2.45 ms | 18,235 rows/s | 0.41 s | 13 |
| [0.7.11](https://github.com/pixeltable/pixeltable/releases/tag/v0.7.11) | 2026-09-26 | 2.41 ms | 18,636 rows/s | 0.41 s | 10 |
| [0.7.10](https://github.com/pixeltable/pixeltable/releases/tag/v0.7.10) | 2026-09-24 | 2.42 ms | 18,797 rows/s | 0.41 s | 2 |
| [0.7.9](https://github.com/pixeltable/pixeltable/releases/tag/v0.7.9) | 2026-09-23 | 2.42 ms | 18,632 rows/s | 0.37 s | 14 |
| [0.7.8](https://github.com/pixeltable/pixeltable/releases/tag/v0.7.8) | 2026-09-16 | 2.39 ms | 18,786 rows/s | 0.39 s | 20 |
| [0.7.7](https://github.com/pixeltable/pixeltable/releases/tag/v0.7.7) | 2026-09-10 | 2.44 ms | 18,218 rows/s | 0.40 s | 2 |
| [0.7.6](https://github.com/pixeltable/pixeltable/releases/tag/v0.7.6) | 2026-09-09 | 2.51 ms | 18,258 rows/s | 0.39 s | 18 |
| [0.7.5](https://github.com/pixeltable/pixeltable/releases/tag/v0.7.5) | 2026-09-03 | 2.50 ms | 17,989 rows/s | 0.43 s | 4 |
| [0.7.4](https://github.com/pixeltable/pixeltable/releases/tag/v0.7.4) | 2026-09-02 | 2.55 ms | 18,591 rows/s | 0.37 s | 5 |
| [0.7.3](https://github.com/pixeltable/pixeltable/releases/tag/v0.7.3) | 2026-08-31 | 2.29 ms | 19,448 rows/s | 0.41 s | 36 |
| [0.7.2](https://github.com/pixeltable/pixeltable/releases/tag/v0.7.2) | 2026-08-14 | 2.37 ms | 19,059 rows/s | 0.41 s | 14 |
| [0.7.1](https://github.com/pixeltable/pixeltable/releases/tag/v0.7.1) | 2026-08-07 | 2.96 ms | 11,605 rows/s | 0.93 s | 9 |
| [0.7.0](https://github.com/pixeltable/pixeltable/releases/tag/v0.7.0) | 2026-08-01 | 2.99 ms | 11,826 rows/s | 0.90 s | 21 |

The full page, with each release's changes and the method: https://pixeltable.com/engineering
