Welche der folgenden Techniken ist die beste Option, um eine Ganzzahl durch 2 zu teilen, und warum? Technik 1: x = x >> 1; Technik 2: x = x / 2; Hier xist eine ganze
Mikrooptimierung ist der Prozess der sorgfältigen Optimierung kleiner Codeabschnitte, um einen wahrgenommenen Mangel in einem bestimmten Aspekt des Betriebs (übermäßige Speichernutzung, schlechte Leistung usw.) zu beheben.
Welche der folgenden Techniken ist die beste Option, um eine Ganzzahl durch 2 zu teilen, und warum? Technik 1: x = x >> 1; Technik 2: x = x / 2; Hier xist eine ganze
Wir müssen ständig Strings für die Protokollausgabe erstellen und so weiter. In den JDK-Versionen haben wir gelernt, wann StringBuffer(viele Anhänge, thread-sicher) und StringBuilder(viele Anhänge, nicht thread-sicher) zu verwenden sind. Was ist der Rat zur Verwendung String.format()? Ist es...
Ich frage mich, wie viel von Ulrich Dreppers Was jeder Programmierer über Speicher aus dem Jahr 2007 wissen sollte, noch gültig ist. Außerdem konnte ich keine neuere Version als 1.0 oder Errata
Alle folgenden Anweisungen machen dasselbe: %eaxauf Null setzen. Welcher Weg ist optimal (erfordert nur wenige Maschinenzyklen)? xorl %eax, %eax mov $0, %eax andl $0,
Ich habe einen leistungskritischen binären Entscheidungsbaum und möchte diese Frage auf eine einzelne Codezeile konzentrieren. Der Code für den Binärbaum-Iterator ist unten mit den Ergebnissen der laufenden Leistungsanalyse aufgeführt. public ScTreeNode GetNodeForState(int rootIndex, float[]...
In einer anderen Frage schlug die akzeptierte Antwort vor, eine (sehr billige) if-Anweisung im Python-Code durch einen try / exception-Block zu ersetzen, um die Leistung zu verbessern. Abgesehen von Problemen mit dem Codierungsstil und der Annahme, dass die Ausnahme niemals ausgelöst wird, wie viel...
Diese Frage passt derzeit nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich zu Debatten, Argumenten, Umfragen oder erweiterten Diskussionen führen. Wenn Sie der Meinung...
Ich habe versucht, extrem leistungskritischen Code (einen schnellen Sortieralgorithmus, der in einer Monte-Carlo-Simulation millionenfach aufgerufen wird) durch Abrollen der Schleife zu optimieren. Hier ist die innere Schleife, die ich zu beschleunigen versuche: // Search for elements to swap....
Was ist der schnellste Weg, um alle nicht druckbaren Zeichen von einem Stringin Java zu entfernen? Bisher habe ich versucht, einen 138-Byte-String mit 131 Zeichen zu messen: String's replaceAll()- langsamste Methode 517009 Ergebnisse / Sek Kompilieren Sie ein Muster vor und verwenden Sie dann...
Ich bin auf diesen Code im Quellcode der .NET- Liste gestoßen : // Following trick can reduce the range check by one if ((uint) index >= (uint)_size) { ThrowHelper.ThrowArgumentOutOfRangeException(); } Anscheinend ist dies effizienter (?) Als if (index < 0 || index >= _size) Ich...
Gibt es einen Leistungsgewinn (ohne Mikrooptimierung) durch Codierung? float f1 = 200f / 2 im Vergleich zu float f2 = 200f * 0.5 Ein Professor von mir hat mir vor einigen Jahren erzählt, dass Gleitkommadivisionen langsamer sind als Gleitkommamultiplikationen, ohne das Warum zu erläutern. Gilt...
Um es klar zu machen, ich werde hier keine Portabilität anstreben, daher sind alle Lösungen, die mich an eine bestimmte Box binden, in Ordnung. Grundsätzlich habe ich eine if-Anweisung, die in 99% der Fälle als wahr ausgewertet wird, und versuche, jede letzte Uhr der Leistung herauszuholen. Kann...
In einer Echtzeitanwendung¹ auf einem ARM Cortex M3 (ähnlich wie STM32F101) muss ich ein Stück des Registers eines internen Peripheriegeräts abfragen, bis es Null ist, und zwar in einer möglichst engen Schleife. Ich benutze Bitbanding, um auf das entsprechende Bit zuzugreifen. Der (Arbeits-) C-Code...