Sprintf a wydajność


Podczas doświadczeń z własną implementacją funkcji kryptograficznej MD5 natrafiłem na problem wydajnościowy z sprintf. Zobaczcie sami…

Wydajność funkcji sprintf

Mamy dwa przykładowe listingi, oba obliczają 5 milionów razy skrót kryptograficzny pewnego łańcucha tekstowego. Pierwszy z nich oblicza skrót ciągle tego samego łańcucha tekstowego, drugi formatuje tekst przy wykorzystaniu funkcji sprintf. Jak myślicie, jak bardzo wariant drugi będzie wolniejszy?

Osobiście byłem zaskoczony aż takim pogorszeniem wydajności.

Bez sprintfZ sprintf
[Mhash/sec] 8 Mhash/s 0.47 Mhash/s
Czas wykonania 0.62 s 10.6s

Dodaj komentarz

Twój adres email nie zostanie opublikowany.