On Mon, Feb 19, 2007 at 02:59:54PM -0500, Watson Ladd wrote: > I made profiles when rebuilding a circuit and when browsing. They are > attached. I hope this helps. > # Report 1 - Session 2 - Time Profile of tor > SharkProfileViewer (all of these values are very close to products of 1.2%. Is it possible that there were only ~~80 samples? That probably wouldn't be significant.) > # Generated from the visible portion of the outline view > - 16.5% rijndaelEncrypt (tor) > - 11.8% sha1_block_data_order (libcrypto.0.9.7.dylib) > - 8.2% AES_decrypt (libcrypto.0.9.7.dylib) All crypto stuff; can't do much about that (as noted before.) > - 4.7% ml_set_interrupts_enabled (mach_kernel) I wonder what this is, and whether it matters. > - 4.7% bn_mul_add_words (libcrypto.0.9.7.dylib) > - 3.5% router_have_minimum_dir_info (tor) Interesting. I wouldn't have thought this would appear so much; it's mostly a "check one variable, and return another." I've added in a branch prediction and removed half of the calls to this (which turned out to be redundant). > - 3.5% aes_crypt (tor) > - 3.5% __memcpy (commpage [libSystem.B.dylib]) > - 2.4% tor_tls_read (tor) > - 2.4% sha1_block_host_order (libcrypto.0.9.7.dylib) > - 2.4% memcpy_nop_if_32bit (mach_kernel) > - 2.4% logv (tor) 90% of the calls to this one turn out to be for debugging log statements that almost never actually result in log output; I've added some code to catch these early. thanks! yrs, -- Nick Mathewson
Attachment:
pgpH4zePJBrWL.pgp
Description: PGP signature