Skip to content

Tracking: General (non-vector) performance improvement PRs #747

@mykaul

Description

@mykaul

Overview

This issue tracks open PRs that improve general driver performance — query planning, metadata parsing, memory layout, and row decoding — excluding vector-specific optimizations already tracked in #746.

All PRs listed here are by @mykaul.

Directly performance-related PRs

HIGH priority

PR Title Area Measured Impact
#651 Query planning policy optimization Query planning 2.3x–6.4x faster policy decisions
#745 Metadata schema parsing optimizations Schema parsing 1.98x faster full pipeline, 5.7x memory reduction per row
#740 namedtuple factory caching Row decoding 135x faster class creation, 3.7x end-to-end

MEDIUM priority

PR Title Area Measured Impact
#659 slots on connection/protocol frame classes Memory ~5-7x memory reduction per frame instance
#630 column_encryption_policy fast-path check Row decoding Eliminates per-cell branch when encryption is unused

LOW-MEDIUM priority

PR Title Area Measured Impact
#629 Remove TRIGGERS query for ScyllaDB Schema refresh 1 fewer CQL round-trip per schema refresh

Test infrastructure

PR Title Area
#653 Query planning benchmarks Benchmarks for #651

Proposed merge order

The PRs have minimal interdependencies. Suggested order based on risk and impact:

Order PR Rationale
1 #653 Benchmark infrastructure - no functional changes, enables measuring #651
2 #651 Query planning - high impact, self-contained
3 #629 Remove TRIGGERS - small, low-risk
4 #630 Encryption fast-path - small, low-risk
5 #740 namedtuple caching - high impact, touches row factory
6 #745 Metadata parsing - high impact, touches metadata.py extensively
7 #659 slots on frames - medium impact, touches connection/protocol classes

Relationship to #746

Issue #746 tracks vector search (VectorType) performance PRs. Some PRs in #746 benefit general workloads too (e.g., #734 remove copies on read path, #742 ParseDesc caching, #741 deserializer caching, #743 UTF8 decode). Those are tracked in #746 and not duplicated here.

Together, #746 and this issue cover all open performance-related PRs in the repository.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions