Ein paar Performance Fragen



  • Veritas696 schrieb:

    @CStoll: na das würde zu weit führen, und sortieren muss ich auch nix.

    Ja, das war nur ein Beispiel (da ich deine Zielstellung nicht kannte, vermutlich ein schlechtes).

    Geht im großen und ganzen ums Bitknipsen(Permutieren, expandieren, XOR etc.)

    Da ist es wesentlich Platz- (und meistens auch zeit-)sparender, die Bits nicht auf Vorrat auseinanderzunehmen, sondern erst bei Bedarf genau die Bits herauszuziehen, mit denen du rechnen willst.



  • Das währe vielleicht Platzsparender, aber bestimmt nicht Zeitsparender
    wenn ich für jedes Bit eines Bytes verunden,shiften,vergleichen,neusetzen, Funktionsaufruf, subtrahieren etc. machen muss und das mehrmals, wenn ich an Stelle davon

    binField[i] = binCopy[permut[i]];

    schreiben kann.

    wie gesagt, die Platzersparnis ist nicht sooo wichtig



  • Warum willst Du den Inhalt rotieren? 😕

    Wenn Du eine feste Größe hast, mach' das über die Arrayindices:

    Eine Methode für's Lesen startet von Index blah (default 0) aus, der readout- Index bricht an der Arraygrenze einfach um.

    Rechtsshift ist Reduzierung von blah um eins, Linksshift um blah plus eins, blah bricht bei den Arraygrenzen um.

    Mit den Indices zu spielen ist viel performanter, als die Inhalte umzukopieren. 🕶

    Brauchste Code? 😃



  • na dann lass mal gucken 😃


Anmelden zum Antworten