Implementieren eines spärlichen Arrays in C # / schnellste Methode zum Zuordnen einer Ganzzahl zu einer bestimmten Bucket- / Bereichsnummer
Mein erstes Problem ist, dass ich ein sehr schnelles, spärliches Array in C # implementieren muss. Ursprüngliche Idee war, ein normales @ zu verwendDictionary<uint, TValue>
und packe es in meine eigene Klasse, um nur das @ freizulegTValue
type Parameter. Es stellt sich heraus, dass dies ziemlich langsam ist.
So war meine nächste Idee, jede ganze Zahl im benötigten Bereich abzubilden UInt32.MinValue
zuUInt32.MaxValue
) zu einem Eimer von einiger Größe und benutze diesen. Also suche ich nach einer guten Möglichkeit, eine vorzeichenlose Ganzzahl X einem Bucket Y zuzuordnen, zum Beispiel:
Zuordnen der Nummern 0-1023 zu 8 verschiedenen Eimern mit jeweils 128 Nummern (0-127, 128-255).
Aber wenn jemand eine bessere Möglichkeit hat, ein schnelles Array mit geringer Dichte in C # zu implementieren, wäre dies auch sehr zu begrüßen.