[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: Shark profiles of latest development code



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