Distro News

APT 3.3.5 speeds up dependency resolution 10-20%, cuts page faults 65%

Key Takeaway

APT 3.3.5 optimizes its SAT-based dependency solver with measurable performance gains and restructures repository signing-key configuration for improved security maintainability.

Summary

The APT package manager, which underpins software installation on Debian, Ubuntu, and derivative distributions, has released version 3.3.5 with targeted performance and architectural improvements. The update delivers 10-20% faster dependency resolution in the solver subsystem and reduces page faults by 65%, though these gains apply specifically to solver computation rather than download or installation throughput. The release also extracts the SAT solver core into a separate component and standardizes how unprotected package removals are handled across internal solver behavior and API.

Repository signing-key management sees significant changes: APT 3.3.5 deprecates fingerprint-based Signed-By configuration in favor of direct keyring file references, and drops support for Signed-By declarations embedded in repository Release files. These changes primarily impact distribution maintainers and administrators managing third-party repositories. The release also introduces expanded performance logging with counters for stalled CPU cycles, TLB activity, page faults, and scheduling events, plus a new perf-eval.py analysis tool for developers.

Solver performance and signing-key architecture changes

  • SAT solver extraction: The dependency solver's core has been refactored into a standalone component, separating it from the main APT codebase for cleaner maintenance and potential reuse.
  • Performance metrics: Dependency resolution benchmarks show 10-20% speed improvement alongside a 65% reduction in page faults, though the changelog explicitly limits these figures to solver operations rather than end-to-end package operations.
  • Signing-key deprecation: Fingerprint-based Signed-By configuration is deprecated in favor of keyring file paths; embedded Signed-By in Release files is removed entirely, shifting trust anchor management to explicit filesystem references.
  • Behavioral consistency: Unprotected package removals now behave identically between APT's internal solver and its external API, resolving a prior implementation discrepancy.
  • Performance instrumentation: New kernel-level counters track stalled cycles, DTLB/ITLB activity, page faults, and scheduler events, with a dedicated perf-eval.py script for log analysis and regression detection.

Why it matters

For Debian-based distributions, the solver optimizations will eventually reduce CPU overhead during complex upgrade operations, particularly on systems with large package sets or constrained memory. The signing-key changes push maintainers toward more auditable, filesystem-based trust management but will require migration work for third-party repository operators before the deprecated fingerprint syntax is removed in future releases.

Original reference: linuxiac.com →