JU-works

JU SeqWorkbench Performance Baseline

This page records development-time performance baselines for JU SeqWorkbench so that later renderer changes can be measured against a fixed reference point.

Scope: this is a JU-only development baseline. It is not a cross-software ranking or a claim that these timings represent every real-world workflow.

Why publish a baseline?

The current sequence renderer still uses a full-document QPlainTextEdit + QSyntaxHighlighter architecture. Before migrating or substantially changing that renderer, a fixed baseline was captured so that later optimization work can be evaluated with the same fixtures and metrics.

The public dataset intentionally contains only JU SeqWorkbench measurements. Internal observations involving other software are kept separate because the measurement methods are not directly comparable enough for a fair public benchmark.

Baseline snapshot

Lower timing values are better. All timing values below are milliseconds.

Test fixtures

Fixture Rows Alignment columns Total cells
35 × 1,000 35 1,000 35,000
35 × 5,000 35 5,000 175,000
100 × 5,000 100 5,000 500,000
100 × 10,000 100 10,000 1,000,000
500 × 1,000 500 1,000 500,000

The internal frozen benchmark also tracks fixture hashes and additional provenance fields. The public-friendly CSV keeps the timing values and the metadata needed for later JU before/after comparisons without publishing the separate internal comparison master.

Selected median timings

Fixture Refresh Edit + refresh Color ON Dot ON
35 × 1,000 (35k cells) 167.7 ms 135.9 ms 659.5 ms 138.9 ms
35 × 5,000 (175k cells) 674.1 ms 618.8 ms 1,581.6 ms 328.9 ms
100 × 5,000 (500k cells) 772.5 ms 781.0 ms 4,775.9 ms 916.6 ms
100 × 10,000 (1.0M cells) 1,452.3 ms 1,731.6 ms 9,545.6 ms 1,912.6 ms
500 × 1,000 (500k cells) 213.0 ms 185.2 ms 3,182.4 ms 301.9 ms
Fixture H-scroll V-scroll Color OFF 10-column highlight
35 × 1,000 (35k cells) 53.6 ms 0.0 ms* 97.8 ms 84.0 ms
35 × 5,000 (175k cells) 108.6 ms 0.0 ms* 189.2 ms 135.4 ms
100 × 5,000 (500k cells) 206.2 ms 194.5 ms 370.4 ms 295.0 ms
100 × 10,000 (1.0M cells) 398.7 ms 387.0 ms 816.0 ms 503.6 ms
500 × 1,000 (500k cells) 53.5 ms 102.4 ms 104.1 ms 333.9 ms

* The 35-row fixtures did not overflow vertically in the 800-pixel test window, so vertical scrolling was effectively a no-op and should not be interpreted as a meaningful scrolling result.

What the baseline already shows

The largest bottleneck in this renderer is residue coloring with Color ON. Under the current full-document highlighting architecture, the 100 × 10,000 fixture reached a median of about 9.55 s for that metric. After reviewing this result, renderer migration and visible-range rendering were moved into the pre-alpha release gate rather than being left as an immediate post-alpha patch.

The two 500,000-cell fixtures also behave differently depending on whether the dataset is wider or taller. That is useful for future optimization work because total cell count alone does not fully describe renderer cost.

This baseline is deliberately published before the renderer is improved. Its purpose is to preserve an honest reference point for later before/after development logs rather than to present tuned marketing numbers.

Current renderer work

The developer renderer prototype has moved to a visible-range viewport model: paint work is limited to the rows and columns currently visible instead of rebuilding the full alignment on every repaint. Prototype Color and Dot display paths are working, and geometry/visible-only checks have been exercised on the large synthetic fixtures. The new renderer is not yet the default production viewer; production integration, editing/clipboard/Undo-Redo parity, regression testing, and manual QA remain release gates.

Interpretation limits

Raw public data

Download/view the public JU pre-renderer baseline CSV

The CSV contains all 40 measurements: 5 fixtures × 8 metrics, with median/min/max values and the public comparison metadata.


Back to JU SeqWorkbench Alpha