memchr()



  • Ist memchr() eigentlich in den meisten Implementationen schneller als eine for-Schleife? Und falls das so sein sollte, benutzt std::find intern dann auch die memchr Funktion wenn man ein char-Array durchsuchen lässt?



  • wanrenkeng schrieb:

    Ist memchr() eigentlich in den meisten Implementationen schneller als eine for-Schleife? Und falls das so sein sollte, benutzt std::find intern dann auch die memchr Funktion wenn man ein char-Array durchsuchen lässt?

    ja, memchr sollte intrinsic sein. also wenn der compiler memchr liest, macht er draus zauberdinge, schlectenstenfalls ruft er eine auf den eingestellten prozessor hochoptimierte assemblerfunktion auf.
    und std::find benutzt derzeit noch nicht normalerweise strchr, wird es aber bald. tut es nur deswegen noch nicht, weils doch nicht den fetten unterschied macht. und sich keiner die mühe machte, ein strchr-replacement für nicht-nullterminierte strings zu handoptimieren.


Anmelden zum Antworten