RFC: Why `stable=True` is the default for `xp.sort`?
まだ誰も着手していません。
評価
調査の方向性
issue で説明されている xp.sort と xp.argsort のエントリポイントから始め、安定ソートの根拠を引用されている NumPy の動作と比較します。標準で安定したデフォルトを維持するべきか、それとも全順序付け可能な非複素データに対して不安定ソートを許可するべきかを決定します。完了とは、RFC に決定済みで文書化された方向性が示されていることです。
索引モデルが issue の本文から書いたものです。
説明
In xp.sort and xp.argsort, the sort is stable by default.
I understand very well the interest for argsort: I've seen a lot of bugs because people expected np.argsort to be stable.
And I guess sort is stable by default to match argsort behavior. But:
- stable sort is slower. Typically, 8x slower in numpy on my machine.
- for totally ordered data types, stable sort output is indistinguable from unstable sort output
- for complex numbers the doc says:
For backward compatibility, conforming implementations may support complex numbers; however, inequality comparison of complex numbers is unspecified and thus implementation-dependent
So: are we sure it's a good idea to default to stable sort?
Alternatively: shouldn't we call unstable sort under-the-hood for non-complex numbers, even when stable=True?
- 主要言語
- Python
- スター
- 281
- フォーク
- 52
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
data-apis/array-api のほかの issue
-
bug Maintenance Narrative Content
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
-
Maintenance
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
data-apis/array-api の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
stephrobert/dsoxlab#238 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
sublimehq/package_control#1780 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
nwg-piotr/nwg-displays#145 ·