[P2][stt] Remplacer les tris quadratiques dupliqués par un tri standard unique #20

Open
opened 2026-07-31 21:05:13 +00:00 by mathieu · 2 comments
Owner

Constat

orderedResults et validateSegments implémentent deux insertion sorts (internal/stt/stt.go:504-518, :608-631). Le stream revalide aussi deux fois. À 65 536 segments, le coût peut atteindre des milliards de comparaisons.

Tâche

Utiliser slices.SortFunc ou sort.Slice dans un chemin partagé et supprimer la validation streaming redondante sans relâcher les invariants.

Critères d'acceptation

  • Complexité O(n log n) sur l'ordre inverse et les maps.
  • Index négatifs/dupliqués restent rejetés.
  • Batch et stream produisent le même ordre qu'avant.

Validation

go test -race ./internal/stt ./internal/core ./internal/session

## Constat `orderedResults` et `validateSegments` implémentent deux insertion sorts (`internal/stt/stt.go:504-518`, `:608-631`). Le stream revalide aussi deux fois. À 65 536 segments, le coût peut atteindre des milliards de comparaisons. ## Tâche Utiliser `slices.SortFunc` ou `sort.Slice` dans un chemin partagé et supprimer la validation streaming redondante sans relâcher les invariants. ## Critères d'acceptation - Complexité O(n log n) sur l'ordre inverse et les maps. - Index négatifs/dupliqués restent rejetés. - Batch et stream produisent le même ordre qu'avant. ## Validation `go test -race ./internal/stt ./internal/core ./internal/session`

Correctif proposé dans la PR #39 (#39). Les validations ciblées et sous race décrites dans la PR passent.

Correctif proposé dans la PR #39 (https://git.2027a.net/mathieu/murmur/pulls/39). Les validations ciblées et sous race décrites dans la PR passent.

Correctif proposé et validé dans la PR #39 : #39.

Correctif proposé et validé dans la PR #39 : https://git.2027a.net/mathieu/murmur/pulls/39.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
mathieu/murmur#20
No description provided.