[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Entries caching & Performance

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2002-11-26 04:08:44 CET

Brandon Ehle <behle@pipedreaminteractive.com> writes:

> On my working copy of 21011 files in 3528 directories, roughly 81%
> of the time is spent doing either IO or CPU intensive operations
> reading XML data in XML_Parse() & XML_ParseBuffer(). Roughly 76% of
> this time comes from svn_wc_entries_read.

Here's what oprofile shows. It's for an 'svn update' that modified
100 files in a directory containing 400 small files. It's Subversion
HEAD and both the repository and working copy were on a RAM based
filesystem.

This is the client using ra_local:

Cpu type: PIII
Cpu speed was (MHz estimation) : 451.028
Counter 0 counted CPU_CLK_UNHALTED events (clocks processor is not halted) with a unit mask of 0x00 (Not set) count 6000
vma samples %-age symbol name linenr info image name
00073580 230136 12.4675 strlen /build/buildd/glibc-2.2.5/glibc-2.2.5/string/../sysdeps/i386/strlen.c:25 /usr/lib/debug/libc-2.2.5.so
00009560 205378 11.1263 apr_vformatter /home/pm/sw/apache-cvs/httpd-2.0/srclib/apr/strings/apr_snprintf.c:683 /usr/local/apache2/lib/libapr-0.so.0.9.2
00075190 198763 10.7679 memcpy /build/buildd/glibc-2.2.5/glibc-2.2.5/string/../sysdeps/generic/memcpy.c:33 /usr/lib/debug/libc-2.2.5.so
0000b4f0 131380 7.11746 find_entry /home/pm/sw/apache-cvs/httpd-2.0/srclib/apr/tables/apr_hash.c:222 /usr/local/apache2/lib/libapr-0.so.0.9.2
00013320 77332 4.18943 svn_stringbuf_appendbytes /home/pm/sw/subversion/obj/../svn/subversion/libsvn_subr/svn_string.c:377 /usr/local/subversion/lib/libsvn_subr-1.so.0.0.0
00014e10 61321 3.32204 xml_escape /home/pm/sw/subversion/obj/../svn/subversion/libsvn_subr/xml.c:36 /usr/local/subversion/lib/libsvn_subr-1.so.0.0.0
0000e510 51129 2.76989 write_entry /home/pm/sw/subversion/obj/../svn/subversion/libsvn_wc/entries.c:822 /usr/local/subversion/lib/libsvn_wc-1.so.0.0.0
00008e30 47729 2.5857 conv_10 /home/pm/sw/apache-cvs/httpd-2.0/srclib/apr/strings/apr_snprintf.c:376 /usr/local/apache2/lib/libapr-0.so.0.9.2
0000b350 44652 2.419 apr_hash_next /home/pm/sw/apache-cvs/httpd-2.0/srclib/apr/tables/apr_hash.c:149 /usr/local/apache2/lib/libapr-0.so.0.9.2
000133d0 44391 2.40487 svn_stringbuf_appendcstr /home/pm/sw/subversion/obj/../svn/subversion/libsvn_subr/svn_string.c:408 /usr/local/subversion/lib/libsvn_subr-1.so.0.0.0
000193c0 44278 2.39874 apr_palloc /home/pm/sw/apache-cvs/httpd-2.0/srclib/apr/memory/unix/apr_pools.c:615 /usr/local/apache2/lib/libapr-0.so.0.9.2
00074d10 38131 2.06573 memset /build/buildd/glibc-2.2.5/glibc-2.2.5/string/../sysdeps/i386/memset.c:31 /usr/lib/debug/libc-2.2.5.so
000725e0 31582 1.71094 strcmp /build/buildd/glibc-2.2.5/glibc-2.2.5/string/../sysdeps/generic/strcmp.c:32 /usr/lib/debug/libc-2.2.5.so
0000b770 31561 1.70981 apr_hash_set /home/pm/sw/apache-cvs/httpd-2.0/srclib/apr/tables/apr_hash.c:352 /usr/local/apache2/lib/libapr-0.so.0.9.2
000132c0 30259 1.63927 svn_stringbuf_ensure /home/pm/sw/subversion/obj/../svn/subversion/libsvn_subr/svn_string.c:356 /usr/local/subversion/lib/libsvn_subr-1.so.0.0.0
000932a0 29854 1.61733 __offtime /build/buildd/glibc-2.2.5/glibc-2.2.5/time/offtime.c:33 /usr/lib/debug/libc-2.2.5.so
000157a0 24618 1.33367 svn_xml_make_open_tag_hash /home/pm/sw/subversion/obj/../svn/subversion/libsvn_subr/xml.c:438 /usr/local/subversion/lib/libsvn_subr-1.so.0.0.0
0000a8b4 20838 1.12889 __pthread_alt_lock /build/buildd/glibc-2.2.5/glibc-2.2.5/linuxthreads/spinlock.c:408 /usr/lib/debug/libpthread-0.9.so
00019980 15377 0.833043 apr_pvsprintf /home/pm/sw/apache-cvs/httpd-2.0/srclib/apr/memory/unix/apr_pools.c:995 /usr/local/apache2/lib/libapr-0.so.0.9.2
00018de0 14938 0.80926 list /home/pm/sw/subversion/obj/../svn/subversion/libsvn_fs/util/skel.c:117 /usr/local/subversion/lib/libsvn_fs-1.so.0.0.0
0000b410 14017 0.759366 apr_hash_this /home/pm/sw/apache-cvs/httpd-2.0/srclib/apr/tables/apr_hash.c:180 /usr/local/apache2/lib/libapr-0.so.0.9.2
00017990 13936 0.754977 explode_time /home/pm/sw/apache-cvs/httpd-2.0/srclib/apr/time/unix/time.c:120 /usr/local/apache2/lib/libapr-0.so.0.9.2

This is the client using ra_dav:

Cpu type: PIII
Cpu speed was (MHz estimation) : 451.028
Counter 0 counted CPU_CLK_UNHALTED events (clocks processor is not halted) with a unit mask of 0x00 (Not set) count 6000
vma samples %-age symbol name linenr info image name
00073580 220606 26.8715 strlen /build/buildd/glibc-2.2.5/glibc-2.2.5/string/../sysdeps/i386/strlen.c:25 /usr/lib/debug/libc-2.2.5.so
00075190 190383 23.1901 memcpy /build/buildd/glibc-2.2.5/glibc-2.2.5/string/../sysdeps/generic/memcpy.c:33 /usr/lib/debug/libc-2.2.5.so
00014e10 78898 9.61039 xml_escape /home/pm/sw/subversion/obj/../svn/subversion/libsvn_subr/xml.c:36 /usr/local/subversion/lib/libsvn_subr-1.so.0.0.0
0000e510 54872 6.68383 write_entry /home/pm/sw/subversion/obj/../svn/subversion/libsvn_wc/entries.c:822 /usr/local/subversion/lib/libsvn_wc-1.so.0.0.0
000932a0 41767 5.08754 __offtime /build/buildd/glibc-2.2.5/glibc-2.2.5/time/offtime.c:33 /usr/lib/debug/libc-2.2.5.so
000157a0 25546 3.1117 svn_xml_make_open_tag_hash /home/pm/sw/subversion/obj/../svn/subversion/libsvn_subr/xml.c:438 /usr/local/subversion/lib/libsvn_subr-1.so.0.0.0
0000a8b4 24363 2.9676 __pthread_alt_lock /build/buildd/glibc-2.2.5/glibc-2.2.5/linuxthreads/spinlock.c:408 /usr/lib/debug/libpthread-0.9.so
000725e0 21280 2.59207 strcmp /build/buildd/glibc-2.2.5/glibc-2.2.5/string/../sysdeps/generic/strcmp.c:32 /usr/lib/debug/libc-2.2.5.so
00009560 21250 2.58841 apr_vformatter /home/pm/sw/apache-cvs/httpd-2.0/srclib/apr/strings/apr_snprintf.c:683 /usr/local/apache2/lib/libapr-0.so.0.9.2
0009786c 15771 1.92103 __tzfile_compute /build/buildd/glibc-2.2.5/glibc-2.2.5/time/tzfile.c:473 /usr/lib/debug/libc-2.2.5.so
00096bdc 14439 1.75878 __tz_convert /build/buildd/glibc-2.2.5/glibc-2.2.5/time/tzset.c:551 /usr/lib/debug/libc-2.2.5.so
0000ac30 12370 1.50676 __pthread_alt_unlock /build/buildd/glibc-2.2.5/glibc-2.2.5/linuxthreads/spinlock.c:569 /usr/lib/debug/libpthread-0.9.so
000151a0 10886 1.326 svn_xml_escape_cstring /home/pm/sw/subversion/obj/../svn/subversion/libsvn_subr/xml.c:187 /usr/local/subversion/lib/libsvn_subr-1.so.0.0.0
0000b4f0 8707 1.06058 find_entry /home/pm/sw/apache-cvs/httpd-2.0/srclib/apr/tables/apr_hash.c:222 /usr/local/apache2/lib/libapr-0.so.0.9.2
0000eb30 7907 0.963134 svn_wc__entries_write /home/pm/sw/subversion/obj/../svn/subversion/libsvn_wc/entries.c:1021 /usr/local/subversion/lib/libsvn_wc-1.so.0.0.0
00074d10 7315 0.891024 memset /build/buildd/glibc-2.2.5/glibc-2.2.5/string/../sysdeps/i386/memset.c:31 /usr/lib/debug/libc-2.2.5.so
00095e44 6446 0.785173 tzset_internal /build/buildd/glibc-2.2.5/glibc-2.2.5/time/tzset.c:156 /usr/lib/debug/libc-2.2.5.so
00015a20 5039 0.613789 svn_xml_make_close_tag /home/pm/sw/subversion/obj/../svn/subversion/libsvn_subr/xml.c:504 /usr/local/subversion/lib/libsvn_subr-1.so.0.0.0
00008e30 4287 0.52219 conv_10 /home/pm/sw/apache-cvs/httpd-2.0/srclib/apr/strings/apr_snprintf.c:376 /usr/local/apache2/lib/libapr-0.so.0.9.2
000132c0 4248 0.517439 svn_stringbuf_ensure /home/pm/sw/subversion/obj/../svn/subversion/libsvn_subr/svn_string.c:356 /usr/local/subversion/lib/libsvn_subr-1.so.0.0.0
0000b350 2994 0.364692 apr_hash_next /home/pm/sw/apache-cvs/httpd-2.0/srclib/apr/tables/apr_hash.c:149 /usr/local/apache2/lib/libapr-0.so.0.9.2
00000000 2393 0.291486 (no symbol) (no location information) /usr/lib/gconv/ISO8859-1.so
00013320 2309 0.281254 svn_stringbuf_appendbytes /home/pm/sw/subversion/obj/../svn/subversion/libsvn_subr/svn_string.c:377 /usr/local/subversion/lib/libsvn_subr-1.so.0.0.0

This is httpd when using ra_dav:

Cpu type: PIII
Cpu speed was (MHz estimation) : 451.028
Counter 0 counted CPU_CLK_UNHALTED events (clocks processor is not halted) with a unit mask of 0x00 (Not set) count 6000
vma samples %-age symbol name linenr info image name
00074d10 41831 12.185 memset /build/buildd/glibc-2.2.5/glibc-2.2.5/string/../sysdeps/i386/memset.c:31 /usr/lib/debug/libc-2.2.5.so
0000b4f0 33894 9.87305 find_entry /home/pm/sw/apache-cvs/httpd-2.0/srclib/apr/tables/apr_hash.c:222 /usr/local/apache2/lib/libapr-0.so.0.9.2
00075190 26475 7.71196 memcpy /build/buildd/glibc-2.2.5/glibc-2.2.5/string/../sysdeps/generic/memcpy.c:33 /usr/lib/debug/libc-2.2.5.so
0000b350 19687 5.73467 apr_hash_next /home/pm/sw/apache-cvs/httpd-2.0/srclib/apr/tables/apr_hash.c:149 /usr/local/apache2/lib/libapr-0.so.0.9.2
0007eb40 11519 3.35539 __memp_fget (no location information) /usr/local/db4/lib/libdb-4.1.so
00018de0 9063 2.63998 list /home/pm/sw/subversion/obj/../svn/subversion/libsvn_fs/util/skel.c:117 /usr/local/subversion/lib/libsvn_fs-1.so.0.0.0
00019540 8838 2.57444 svn_fs__list_length /home/pm/sw/subversion/obj/../svn/subversion/libsvn_fs/util/skel.c:520 /usr/local/subversion/lib/libsvn_fs-1.so.0.0.0
000811c0 8095 2.35801 __memp_fput (no location information) /usr/local/db4/lib/libdb-4.1.so
00020330 7274 2.11886 __bam_search (no location information) /usr/local/db4/lib/libdb-4.1.so
00072680 7111 2.07138 __lock_get_internal (no location information) /usr/local/db4/lib/libdb-4.1.so
0000a7f0 6877 2.00322 apr_pstrmemdup /home/pm/sw/apache-cvs/httpd-2.0/srclib/apr/strings/apr_strings.c:138 /usr/local/apache2/lib/libapr-0.so.0.9.2
0000b770 6630 1.93127 apr_hash_set /home/pm/sw/apache-cvs/httpd-2.0/srclib/apr/tables/apr_hash.c:352 /usr/local/apache2/lib/libapr-0.so.0.9.2
0001a220 5810 1.69241 apr_pcalloc_debug /home/pm/sw/apache-cvs/httpd-2.0/srclib/apr/memory/unix/apr_pools.c:2166 /usr/local/apache2/lib/libapr-0.so.0.9.2
00017ce0 5732 1.66969 svn_fs__parse_entries_skel /home/pm/sw/subversion/obj/../svn/subversion/libsvn_fs/util/fs_skels.c:635 /usr/local/subversion/lib/libsvn_fs-1.so.0.0.0
000193c0 5710 1.66328 apr_palloc /home/pm/sw/apache-cvs/httpd-2.0/srclib/apr/memory/unix/apr_pools.c:615 /usr/local/apache2/lib/libapr-0.so.0.9.2

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Nov 26 04:10:24 2002

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.