I ran Shark on the latest stable Tor client for Mac OS X, most recently patched operating system, G4 processor. One of the tests was done when tor was starting, the other when using it to browse. The reports are attached, however Shark has a lot of things it doesn't put in the reports. It recommends inlining for client_would_use_router, smartlist_remove, and a few SSL functions.
# Report 0 - Time profile startup.mshark - Time Profile of tor SharkProfileViewer # Generated from the visible portion of the outline view - 29.5% bn_mul_add_words (libcrypto.0.9.7.dylib) - 23.3% bn_sqr_comba8 (libcrypto.0.9.7.dylib) - 5.1% bn_mul_comba8 (libcrypto.0.9.7.dylib) - 4.0% bn_sqr_recursive (libcrypto.0.9.7.dylib) - 4.0% bn_add_words (libcrypto.0.9.7.dylib) - 2.8% BN_from_montgomery (libcrypto.0.9.7.dylib) - 2.3% bn_sub_words (libcrypto.0.9.7.dylib) - 1.7% ml_set_interrupts_enabled (mach_kernel) - 1.7% client_would_use_router (tor) - 1.1% szone_size (libSystem.B.dylib) - 1.1% OPENSSL_cleanse (libcrypto.0.9.7.dylib) - 1.1% MOD_EXP_CTIME_COPY_FROM_PREBUF (libcrypto.0.9.7.dylib) - 1.1% evsignal_recalc (tor) - 1.1% digestmap_get (tor) - 1.1% compare_addr_to_addr_policy (tor) - 1.1% BN_copy (libcrypto.0.9.7.dylib) - 0.6% X509_PURPOSE_get_by_id (libcrypto.0.9.7.dylib) - 0.6% tcp_output (mach_kernel) - 0.6% syscall (libSystem.B.dylib) - 0.6% strcasecmp (libSystem.B.dylib) - 0.6% ssl3_get_record (libssl.0.9.7.dylib) - 0.6% socket_lock (mach_kernel) - 0.6% smartlist_remove (tor) 0.6% shandler (mach_kernel) - 0.6% second_elapsed_callback (tor) - 0.6% router_have_minimum_dir_info (tor) - 0.6% RAND_bytes (libcrypto.0.9.7.dylib) - 0.6% mlckPatch_isync (mach_kernel) - 0.6% malloc (libSystem.B.dylib) - 0.6% lck_spin_lock (mach_kernel) - 0.6% ifafree (mach_kernel) - 0.6% getrn (libcrypto.0.9.7.dylib) - 0.6% free (libSystem.B.dylib) - 0.6% fo_kqfilter (mach_kernel) - 0.6% event_tree_RB_MINMAX (tor) - 0.6% event_base_loop (tor) - 0.6% dyld_stub_strcasecmp (tor) - 0.6% dyld_stub_BN_CTX_get (libcrypto.0.9.7.dylib) - 0.6% crypto_digest_dup (tor) - 0.6% circuit_launch_by_router (tor) - 0.6% circuit_establish_circuit (tor) - 0.6% BN_usub (libcrypto.0.9.7.dylib) - 0.6% BN_rshift1 (libcrypto.0.9.7.dylib) - 0.6% BN_mod_mul_montgomery (libcrypto.0.9.7.dylib) - 0.6% bn_cmp_words (libcrypto.0.9.7.dylib) - 0.6% assert_buf_ok (tor) - 0.6% __vfprintf$LDBL128 (libSystem.B.dylib)
# Report 1 - Time Profile of tor browsing.mshark - Time Profile of tor SharkProfileViewer # Generated from the visible portion of the outline view - 9.5% bn_mul_add_words (libcrypto.0.9.7.dylib) - 5.8% sha1_block_data_order (libcrypto.0.9.7.dylib) - 5.8% rijndaelEncrypt (tor) - 4.4% syscall (libSystem.B.dylib) - 4.4% AES_decrypt (libcrypto.0.9.7.dylib) - 3.6% aes_crypt (tor) - 2.9% ml_set_interrupts_enabled (mach_kernel) - 2.9% client_would_use_router (tor) - 2.9% bn_sqr_comba8 (libcrypto.0.9.7.dylib) - 2.2% szone_malloc (libSystem.B.dylib) - 2.2% soo_kqfilter (mach_kernel) - 2.2% sigaction (libSystem.B.dylib) - 2.2% kevent_register (mach_kernel) - 2.2% evsignal_recalc (tor) 1.5% unix_syscall (mach_kernel) - 1.5% tcp_output (mach_kernel) - 1.5% tcp_lock (mach_kernel) - 1.5% ssl3_get_record (libssl.0.9.7.dylib) - 1.5% knote_fdclose (mach_kernel) - 1.5% ipfwsyslog (mach_kernel) - 1.5% ip_output_list (mach_kernel) - 1.5% fo_kqfilter (mach_kernel) - 1.5% BN_from_montgomery (libcrypto.0.9.7.dylib) - 1.5% __gettimeofday (commpage [libSystem.B.dylib]) - 0.7% vm_page_grab (mach_kernel) - 0.7% update_router_descriptor_downloads (tor) - 0.7% uio_resid (mach_kernel) - 0.7% tws_traverse_address_hash_list (mach_kernel) - 0.7% tws_internal_lookup (mach_kernel) - 0.7% szone_free (libSystem.B.dylib) - 0.7% ssl3_read_bytes (libssl.0.9.7.dylib) - 0.7% soreceive (mach_kernel) 0.7% shandler (mach_kernel) - 0.7% SHA1_Update (libcrypto.0.9.7.dylib) - 0.7% sha1_block_host_order (libcrypto.0.9.7.dylib) - 0.7% router_find_exact_exit_enclave (tor) - 0.7% relay_crypt_one_payload (tor) - 0.7% read (libSystem.B.dylib) - 0.7% poll_recalc (tor) - 0.7% mutex_lock (mach_kernel) - 0.7% memchr (libSystem.B.dylib) - 0.7% malloc (libSystem.B.dylib) - 0.7% m_copy_pkthdr (mach_kernel) - 0.7% logv (tor) - 0.7% lck_spin_init (mach_kernel) - 0.7% lck_spin_destroy (mach_kernel) - 0.7% ifafree (mach_kernel) - 0.7% free (libSystem.B.dylib) - 0.7% fdalloc (mach_kernel) - 0.7% EVP_MD_CTX_init (libcrypto.0.9.7.dylib) - 0.7% EVP_MD_CTX_copy_ex (libcrypto.0.9.7.dylib) - 0.7% ether_detach_inet6 (mach_kernel) - 0.7% dyld_stub_SHA1_Final (tor) - 0.7% dyld_stub_lh_retrieve (libcrypto.0.9.7.dylib) - 0.7% dyld_stub_ERR_peek_error (libssl.0.9.7.dylib) - 0.7% dyld_stub_bn_sub_words (libcrypto.0.9.7.dylib) - 0.7% dyld_stub___error (libSystem.B.dylib) - 0.7% digestmap_get (tor) - 0.7% crypto_digest_add_bytes (tor) - 0.7% connection_edge_process_relay_cell (tor) - 0.7% connection_control_finished_flushing (tor) - 0.7% connection_ap_handshake_attach_chosen_circuit (tor) - 0.7% compare_addr_to_addr_policy (tor) - 0.7% assert_connection_ok (tor) - 0.7% assert_buf_ok (tor) - 0.7% AES_encrypt (libcrypto.0.9.7.dylib) - 0.7% AES_cbc_encrypt (libcrypto.0.9.7.dylib) - 0.7% __vfprintf$LDBL128 (libSystem.B.dylib)
Attachment:
signature.asc
Description: OpenPGP digital signature