apache / apache/lucene

Replace our TimSort with JDK TimSort [LUCENE-9632]

Open
#10,671 8 comments 0 reactions 0 assignees View on GitHub
affects-version:9.0 legacy-jira-priority:Major type:enhancement
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

JDK 11 has a TimSort with very similar lineage to our TimSort (written by Josh Bloch, based on Tim Peter's python list sort), we should consider replacing our fork with a version that we don't have to maintain.

---
Migrated from [LUCENE-9632](https://issues.apache.org/jira/browse/LUCENE-9632) by Mike Drob (@madrob), updated Jan 23 2021

Contributor guide

Open the contributing guide

Research direction

Locate Lucene's maintained TimSort fork and its call sites, then compare them with the JDK 11 TimSort implementation. Check the relevant sorting tests and compatibility requirements first; done means the fork is replaced without changing sorting behavior or leaving callers dependent on the old implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.