You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by solo turn <so...@yahoo.com> on 2003/02/10 18:56:42 UTC

faster client pre-1.0: neon prefetching, multithreading

i tried to profile also the https client, the results are:

full update, https, server/client on same machine, duration 728sec
(reminder: ra_local took 280sec):

time percent fct
		svn_cl__update
		...
		reporter_finish_reports
		svn_ra_dav__parsed_request
		ne_request_dispatch
434	61	ne_read_response_block
		gz_reader,ne_xml_parse_v, ne_xml_parse, xmlParseChunk,
		xmlParseTryOrFinish,
	  87	xmlParseEndeTag (615sec)
		end_element, end_element
269	    44	add_node_props
216	      80	svn_ra_dav__get_props_resource
			svn_ra_dav__getprops, ne_propfind_allprop,propfind,
			ne_request_dispatch,
433	        61	ne_read_response_block
275	        39	ne_begin_request

 53	      20	addProps
137 	    22	close_file
 71	    12	simple_fetch_file
 61	    10	set_special_wc_prop
 40	     7	close_directory
 26	     4	close_edit
	
	  13	xmlParseStartTag		
275	39	ne_begin_request, send_request, read_status_line,
		ne_sock_readline, read_ossl, readable_ossl, select,
		select, _poll

(times are not always according to percentage, cause functions may be
called from different callees)

total times:
272	_poll
259	_rename
119	__open
 23	mkdir
 20	unlink
  9	_write


the following points could be time-consuming:
- there is a lot of disk access and network wait time
  which seems not parallel, ie. multithreaded.
- especially urls and their properties seem to be fetched
  in order, without any function which gets an url,
  with the small properties, and the entries, and the
  small properties of the entries in one fetch.


__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: faster client pre-1.0: neon prefetching, multithreading

Posted by Daniel Berlin <db...@dberlin.org>.
> the following points could be time-consuming:
> - there is a lot of disk access and network wait time
>   which seems not parallel, ie. multithreaded.
>
Easier to use AIO when it's available.

You can just aio_read the sockets/disk stuff as we discover what we 
need, then aio_suspend in the routine that actually needs the data to 
wait for it all to get there (or a timeout to occur).


> - especially urls and their properties seem to be fetched
>   in order, without any function which gets an url,
>   with the small properties, and the entries, and the
>   small properties of the entries in one fetch.
>
Once again, you can just aio_read this stuff, then wait for it all to 
finish at once, rather than wait on them one at a time.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org