---
title: "Pixeltable benchmarks"
description: "Methods for incremental recompute, computed-column UDF calls, and video frame extraction. Pages publish numbers only from a run that happened."
url: "https://www.pixeltable.com/benchmarks"
updated: "2026-10-28"
---

# Pixeltable benchmarks

Each page names the scale, the machine, and how to run the suite. Every time is one sample from a recorded run.

- [Incremental recompute vs full reindex](https://www.pixeltable.com/benchmarks/incremental-recompute-vs-full-reindex): On a reduced run of 2000 rows, changing 200 titles took 0.059 s wall. Recomputing the stand-in embedding column on all 2000 rows took 0.45 s wall. Rebuilding the embedding index took 0.39 s wall. The UDF is a 32-d numpy stand-in, not a hosted model. This is not a 1,000,000-row measurement.
- [Computed-column UDF calls: insert, read, recompute, update](https://www.pixeltable.com/benchmarks/computed-column-udf-calls): On 1000 rows a local stand-in UDF ran 1000 times on insert, 0 times when a select read the stored column, 1000 times on recompute_columns, and 100 times when 100 titles changed. No hosted LLM was called, and the page publishes call counts, not a cost. 1,000,000 rows were not run.
- [Video frame extraction throughput](https://www.pixeltable.com/benchmarks/video-frame-extraction-throughput): One clip (scripts/release-bench/fixtures/sample.mp4) produced 108 frames through frame_iterator() plus a 64x36 thumbnail column in 0.24 s wall (450 frames per wall second). Pixeltable 0.7.21 on Intel(R) Xeon(R) Processor, 4 cores, 15.6 GB. This is not a multi-hour library measurement.

Run: `python benchmarks/run.py --write`
