Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 95d555cd3610c17d33eba14116fdd513 > files > 8

fsvs-1.2.1-1.fc13.x86_64.rpm

- Program size is 280kB with debug information, 96kB without.
  Needed libraries not counted.
	Some debug code could be eliminated by "configure --enable-release".

- Initial checkin can take a while - there's a lot of data to transfer.

- memory usage: my test machine with 150000 files never grew 
  over 34MB in memory usage.
  (That is, with apr_pool_destroy(); with apr_pool_clean() I had to kill
  the process at 170MB)

- The fsfs backend makes two files out of one date file - one for meta-data
  (properties) and one for the real file-data.
  So 300000 files are created for a commit of 130000 files. 
	** On ext3 enable dir_index ** (see "tune2fs", "fsck.ext3 -D") or use bdb.

- "fsvs status" is (on cold caches) faster than "find"!
	See here:
	Script started on Mon 09 Jul 2007 16:48:34 CEST
	# How many entries are here?
		dolly:/example# find . | wc -l
		22147
	# Initialize fsvs, so that it knows its basepath
		dolly:/example# fsvs urls file:////
	# Warm up caches
		dolly:/example# find . > /dev/null
	# find with hot cache:
		dolly:/example# time find . > /dev/null

		real	0m0.096s
		user	0m0.052s
		sys	0m0.044s
	# Warm up cache (should already be done by find)
		dolly:/example# fsvs st > /dev/null
	# fsvs with hot cache:
		dolly:/example# time fsvs st > /dev/null

		real	0m0.175s
		user	0m0.088s
		sys	0m0.088s
	# Clear cache
		dolly:/example# echo 3 > /proc/sys/vm/drop_caches 
	# find with cold cache - harddisk must seek a fair bit.
		dolly:/example# time find . > /dev/null

		real	0m8.279s
		user	0m0.084s
		sys	0m0.212s
	# Clear cache
		dolly:/example# echo 3 > /proc/sys/vm/drop_caches 
	# fsvs with cold cache - harddisk must seek again
		dolly:/example# time fsvs st > /dev/null

		real	0m7.333s
		user	0m0.148s
		sys	0m0.372s
	# Now build a list of entries, like the one that exists after commit
		dolly:/example# fsvs _build > /dev/null
	# Clear cache
		dolly:/example# echo 3 > /proc/sys/vm/drop_caches 
	# fsvs with cold cache, but using a sorted list of existing entries -
	# harddisk doesn't need to seek as much
		dolly:/example# time fsvs st > /dev/null

		real	0m6.000s
		user	0m0.240s
		sys	0m0.372s
	# Result:
		dolly:/example# bc -l
		bc 1.06
		Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
		This is free software with ABSOLUTELY NO WARRANTY.
		For details type `warranty'.
		8.279/6.00
		1.37983333333333333333
		6.00/8.279
		.72472520835849740306
	# 28% (or 38%) time saved!
		dolly:/example# exit
	Script done on Mon 09 Jul 2007 16:50:13 CEST

- testing goes much faster if you create a /tmp/ram directory and mount a
  tmpfs there. *** DO NOT USE ramfs !!! *** ramfs doesn't update the
	directory modification time on file creations, so fsvs won't work.