Tag: likely-unlikely

lernen auf Probe, wahrscheinlich() und unwahrscheinlich() compiler-Hinweise

Anzahl der Antworten 1 Antworten
Wie kann ich demonstrieren für Studierende der usability von likely und unlikely compiler-Hinweise (__builtin_expect)? Können Sie schreiben, ein Beispiel-code, die wird mehrmals schneller mit diesen Andeutungen Vergleich der code ohne Hinweise. kerneltrap.org/node/4705 Crowder, ja. aber ich will

Wie kann das wahrscheinlich/unwahrscheinlich-Makros in Linux-kernel arbeiten, und was ist Ihr nutzen?

Anzahl der Antworten 10 Antworten
Ich habe gegraben durch einige Teile des Linux-Kernels, und fand Aufrufe wie diese: if (unlikely(fd < 0)) { /* Do something */ } oder if (likely(!err)) { /* Do something */ } Fand ich die definition von

wahrscheinlich/unwahrscheinlich äquivalent für MSVC

Anzahl der Antworten 5 Antworten
GCC-compiler unterstützt, __builtin_expect-Anweisung, die verwendet wird, um zu definieren, wahrscheinlich und unwahrscheinlich Makros. zB. #define likely(expr) __builtin_expect(!(expr), 0) #define unlikely(expr) __builtin_expect((expr), 0) Gibt es eine äquivalente Anweisung für den Microsoft Visual C-compiler, oder etwas vergleichbares ? InformationsquelleAutor

Können wahrscheinliche / unwahrscheinliche Makros im User-Space-Code verwendet werden?

Anzahl der Antworten 3 Antworten
Stieß ich auf diese 2 Makros in Linux-kernel-code. Ich weiß, Sie sind Anweisungen für compiler (gcc) für Optimierungen im Falle der Verzweigung. Meine Frage ist, können wir verwenden diese Makros in den user-space-code? Wird es geben, keine