Skip to content

Large-object/peak-RSS tests exclude all backends — dominant read copies are unmeasured #169

@27Bslash6

Description

@27Bslash6

Summary

tests/performance/test_large_object_memory.py exercises only ArrowSerializer + the CacheSerializationHandler envelope in isolation, with raw allocated before tracemalloc.start(). So the File backend's os.read(st_size) + file_data[14:] double-copy and CachekitIO's response.content buffering are invisible to the "read ~1.1x" assertion.

Evidence

  • tests/performance/test_large_object_memory.py:44-96 — no FileBackend/Redis/CachekitIO; tracemalloc started after the read input is allocated

Impact

The headline OOM-fixed / low-read-RSS claim rests on a test that structurally excludes the largest read-side cost.

Fix

Add backend-inclusive tracemalloc tests (File at minimum), plus coverage for: chunk-sizing on skewed frames (#161), NaN TTL (#158), and a binary round-trip through RedisBackend (#154).

Metadata

Metadata

Assignees

No one assigned

    Labels

    choreMaintenance, CI/CD, toolingpriority:lowNice to have

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions