[PATCH 1/25] Remove nested functions: crypt/md5-crypt.c
Siddhesh Poyarekar
siddhesh@redhat.com
Tue May 20 14:53:00 GMT 2014
On Tue, May 20, 2014 at 06:23:40PM +0400, Konstantin Serebryany wrote:
> Do you think such a benchmarks is possible at all?
> I've made a simple test (attached) and profiled it with "perf":
> 85.26% a.out libcrypt-2.15.so [.] _ufc_doit_r
> 6.13% a.out libcrypt-2.15.so [.] _ufc_mk_keytab_r
> 2.40% a.out libcrypt-2.15.so [.] _ufc_setup_salt_r
> 1.56% a.out libcrypt-2.15.so [.] __crypt_r
> 1.51% a.out libcrypt-2.15.so [.] _ufc_output_conversion_r
> 1.35% a.out libcrypt-2.15.so [.] crypt
>
> As you can see, crypt_r itself takes a tiny fraction of time,
> most of it is spent in _ufc_* which are defined in another module.
> Any changes in crypt itself (unless you do something insane) will not
> be observable in profile.
You'll need to choose inputs so that __md5_crypt_r is called -
crypt/crypt-entry.c should help you with that. if __md5_crypt_r takes
a tiny fraction of time again, then this change should be safe, but I
would prefer that the inputs get fed into the benchtests anyway so
that we can automatically track performance of crypt for those inputs
in future.
Siddhesh
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20140520/9b9126f9/attachment.sig>
More information about the Libc-alpha
mailing list