ArrayExtensions.IsSequenceEqual — Use MemoryExtensions.SequenceEqual
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 68/100
- Tipo di issue
- Refactoring
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Ferma
- Stack tecnologico
- csharp
- Ambito
- performance
Direzione di ricerca
Apri Utilities/ArrayExtensions.cs e individua ArrayExtensions.IsSequenceEqual. Confronta il ciclo di uguaglianza attuale con l’approccio AsSpan().SequenceEqual proposto, quindi esegui la suite di test esistente del repository per confermare il comportamento per i confronti degli array pertinenti. Il lavoro è completato quando il metodo usa MemoryExtensions.SequenceEqual senza boxing per elemento e i test esistenti hanno esito positivo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
File: Utilities/ArrayExtensions.cs
The hand-rolled equality loop uses boxed Equals(source[i], other[i]) — that's virtual dispatch and boxing for every element.
// BEFORE if (!Equals(source[i], other[i])) ...
// AFTER — intrinsic-optimised, SIMD-enabled on .NET 8
return source.AsSpan().SequenceEqual(other.AsSpan());
MemoryExtensions.SequenceEqual is SIMD-vectorised by the JIT on .NET 8 and avoids all boxing. For long[] comparisons across the histogram counts array (which can be ~185KB), this is material.
- Lingua principale
- C#
- Stelle
- 185
- Fork
- 31
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di HdrHistogram/HdrHistogram.NET
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
HdrHistogram/HdrHistogram.NET#167 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
HdrHistogram/HdrHistogram.NET#166 ·
-
WriterReaderPhaser.FlipPhase - Task.Yield().GetAwaiter().GetResult() is a Thread Pool Anti-Pattern Apertaagent enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
HdrHistogram/HdrHistogram.NET#144 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
HdrHistogram/HdrHistogram.NET#156 ·
-
agent enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
HdrHistogram/HdrHistogram.NET#148 ·
Tutte le issue di HdrHistogram/HdrHistogram.NET
Issue simili
-
core dependencies
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
-
bug frontend good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
NavigationViewItemAutomationPeer implements IInvokeProvider but never advertises the Invoke pattern Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
unoplatform/uno#24629 ·
-
agentic-workflows Needs: Triage :mag: State: In-PR
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Down / Waiting for removal
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100