Date: Thu, 24 May 2012 15:57:54 +0000 From: gpf@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r236294 - soc2012/gpf/misc Message-ID: <20120524155754.079AE106566B@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: gpf Date: Thu May 24 15:57:53 2012 New Revision: 236294 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=236294 Log: adding a few misc files for safekeeping Added: soc2012/gpf/misc/calc_space.sh (contents, props changed) soc2012/gpf/misc/ph.py soc2012/gpf/misc/server_results.txt soc2012/gpf/misc/vm_results.txt Added: soc2012/gpf/misc/calc_space.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2012/gpf/misc/calc_space.sh Thu May 24 15:57:53 2012 (r236294) @@ -0,0 +1,82 @@ +#!/bin/sh +# XXXgpf: script to generate a few useful statistics about system files + +#BLOCKSIZE="K" + +count_dir(){ + cd "$1" + #echo `pwd` + + for file in `ls` + do + if [ -d "$file" ] + then + count_dir $file + cd .. + else + check=1 + # only take into account static & dynamic libraries + if [ $libr_flag -eq 1 ] + then + type=`echo $file | awk -F"." '{print $2}'` + if [ "$type" != "a" ] && [ "$type" != "so" ] + then + check=0 + fi + fi + + if [ $check -eq 1 ] + then + size=`du $file | cut -f 1` + if [ "$size" -gt "$max" ] + then + max=$size + fi + #size=`ls -l $file_path | awk -F" " '{print $5}'` + size_sum=`expr $size_sum + $size` + nfiles=`expr $nfiles + 1` + fi + fi + done +} + +compute(){ + size_average=`echo "scale=2;$size_sum/$nfiles" | bc` + avg_hashes_per_file=`echo "scale=2;$size_average/4" | bc` + avg_total_hashes_size_per_file=`echo "scale=2;$avg_hashes_per_file*64" | bc` + + echo "total size sum =" $size_sum "K" + echo "total files =" $nfiles + echo "arithmetic mean file size =" $size_average "K" + echo "max file size =" $max "K" + echo "average hashes per file=" $avg_hashes_per_file + echo "assuming 64byte hashes, that's" $avg_total_hashes_size_per_file "bytes per file" + echo +} + +# system binaries +for dir in `echo $PATH | awk -F":" '{print $1,$2,$3,$4,$5,$6,$7}'` +do + size_sum=0 + nfiles=0 + libr_flag=0 + max=0 + echo "computing for directory" $dir + count_dir $dir + compute +done + +#system libraries +LIBPATH="/lib:/usr/lib:/usr/local/lib" +for dir in `echo $LIBPATH | awk -F":" '{print $1,$2,$3}'` +do + size_sum=0 + nfiles=0 + libr_flag=1 + max=0 + echo "computing for directory" $dir + count_dir $dir + compute +done + +exit 0 Added: soc2012/gpf/misc/ph.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2012/gpf/misc/ph.py Thu May 24 15:57:53 2012 (r236294) @@ -0,0 +1,56 @@ +#!/usr/bin/env python +# gleb's script to try out hash table stuff + +import random +import gmpy +from gmpy import mpz + +def count_coll(R, p, embed): + s = 0 + c = [ 0 for x in xrange(0, p) ] + for i in xrange(0, len(R)): + r = R[i] + c[r % p] += 1 + m = max(c) + coll = [ c.count(i) for i in xrange(m, 0, -1) ] + slots = p * embed + fast = sum([ coll[-i] * i for i in xrange(1, embed + 1)]) + fast = float(100) * fast / len(R) + unused0 = c.count(0) * embed + unused = sum([ coll[-i] * (embed - i) for i in xrange(1, embed)]) + unusedp = float(100) * (unused0 + unused) / slots + return "Max collisions: %s, slots: %d/%d, unused: %.02f%% %d+%d, embedded %d: %.02f%%, %s" % \ + (m, p, slots, unusedp, unused0, unused, embed, fast, coll) + +def clp2(x): + x = x - 1 + x = x | (x >> 1) + x = x | (x >> 2) + x = x | (x >> 4) + x = x | (x >> 8) + x = x | (x >>16) + return x + 1 + +def generate_ph(n): + # pz = int(gmpy.next_prime(mpz(n*2/5))) + pz = int(gmpy.next_prime(mpz(n*3/5))) + pz1 = int(gmpy.next_prime(mpz(n))) + p2 = int(clp2(n) / 2) + print 'Items: %s' % (n,) + R = [ random.getrandbits(64) for i in xrange(0, n) ] + while len(R) != len(set(R)): + print 'Initial hash collisions, regenerating: %s/%s', len(set(R)), n + R = [ random.getrandbits(64) for i in xrange(0, n) ] + + print 'Prime ', count_coll(R, pz, 4) + print 'Power2', count_coll(R, p2, 4) + print 'Prime ', count_coll(R, pz, 2) + print 'Power2', count_coll(R, p2, 2) + print 'Prime ', count_coll(R, pz1, 1) + print 'Power2', count_coll(R, p2 * 2, 1) + print '' + +generate_ph(1000) +generate_ph(11000) +generate_ph(22000) +generate_ph(140000) Added: soc2012/gpf/misc/server_results.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2012/gpf/misc/server_results.txt Thu May 24 15:57:53 2012 (r236294) @@ -0,0 +1,80 @@ +computing for directory /sbin +total size sum = 5508 K +total files = 129 +arithmetic mean file size = 42.69 K +max file size = 736 K +average hashes per file= 10.67 +assuming 64byte hashes, that's 682.88 bytes per file + +computing for directory /bin +total size sum = 1488 K +total files = 44 +arithmetic mean file size = 33.81 K +max file size = 324 K +average hashes per file= 8.45 +assuming 64byte hashes, that's 540.80 bytes per file + +computing for directory /usr/sbin +total size sum = 32120 K +total files = 286 +arithmetic mean file size = 112.30 K +max file size = 2144 K +average hashes per file= 28.07 +assuming 64byte hashes, that's 1796.48 bytes per file + +computing for directory /usr/bin +total size sum = 131292 K +total files = 464 +arithmetic mean file size = 282.95 K +max file size = 29152 K +average hashes per file= 70.73 +assuming 64byte hashes, that's 4526.72 bytes per file + +computing for directory /usr/games +total size sum = 0 K +total files = 0 +arithmetic mean file size = 0.00 K +max file size = 0 K +average hashes per file= 0.00 +assuming 64byte hashes, that's 0.00 bytes per file + +computing for directory /usr/local/sbin +total size sum = 2604 K +total files = 41 +arithmetic mean file size = 63.51 K +max file size = 1120 K +average hashes per file= 15.87 +assuming 64byte hashes, that's 1015.68 bytes per file + +computing for directory /usr/local/bin +total size sum = 189868 K +total files = 751 +arithmetic mean file size = 252.82 K +max file size = 4992 K +average hashes per file= 63.20 +assuming 64byte hashes, that's 4044.80 bytes per file + +computing for directory /lib +total size sum = 7560 K +total files = 61 +arithmetic mean file size = 123.93 K +max file size = 1440 K +average hashes per file= 30.98 +assuming 64byte hashes, that's 1982.72 bytes per file + +computing for directory /usr/lib +total size sum = 50004 K +total files = 541 +arithmetic mean file size = 92.42 K +max file size = 2976 K +average hashes per file= 23.10 +assuming 64byte hashes, that's 1478.40 bytes per file + +computing for directory /usr/local/lib +total size sum = 250968 K +total files = 1107 +arithmetic mean file size = 226.71 K +max file size = 30080 K +average hashes per file= 56.67 +assuming 64byte hashes, that's 3626.88 bytes per file + Added: soc2012/gpf/misc/vm_results.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2012/gpf/misc/vm_results.txt Thu May 24 15:57:53 2012 (r236294) @@ -0,0 +1,80 @@ +computing for directory /sbin +total size sum = 6736 K +total files = 131 +arithmetic mean file size = 51.41 K +max file size = 832 K +average hashes per file= 12.85 +assuming 64byte hashes, that's 822.40 bytes per file + +computing for directory /bin +total size sum = 1552 K +total files = 44 +arithmetic mean file size = 35.27 K +max file size = 336 K +average hashes per file= 8.81 +assuming 64byte hashes, that's 563.84 bytes per file + +computing for directory /usr/sbin +total size sum = 33060 K +total files = 290 +arithmetic mean file size = 114.00 K +max file size = 2176 K +average hashes per file= 28.50 +assuming 64byte hashes, that's 1824.00 bytes per file + +computing for directory /usr/bin +total size sum = 147164 K +total files = 479 +arithmetic mean file size = 307.23 K +max file size = 33664 K +average hashes per file= 76.80 +assuming 64byte hashes, that's 4915.20 bytes per file + +computing for directory /usr/games +total size sum = 224 K +total files = 14 +arithmetic mean file size = 16.00 K +max file size = 52 K +average hashes per file= 4.00 +assuming 64byte hashes, that's 256.00 bytes per file + +computing for directory /usr/local/sbin +total size sum = 2856 K +total files = 30 +arithmetic mean file size = 95.20 K +max file size = 928 K +average hashes per file= 23.80 +assuming 64byte hashes, that's 1523.20 bytes per file + +computing for directory /usr/local/bin +total size sum = 94196 K +total files = 710 +arithmetic mean file size = 132.67 K +max file size = 4992 K +average hashes per file= 33.16 +assuming 64byte hashes, that's 2122.24 bytes per file + +computing for directory /lib +total size sum = 7884 K +total files = 62 +arithmetic mean file size = 127.16 K +max file size = 1472 K +average hashes per file= 31.79 +assuming 64byte hashes, that's 2034.56 bytes per file + +computing for directory /usr/lib +total size sum = 56656 K +total files = 579 +arithmetic mean file size = 97.85 K +max file size = 3232 K +average hashes per file= 24.46 +assuming 64byte hashes, that's 1565.44 bytes per file + +computing for directory /usr/local/lib +total size sum = 260688 K +total files = 1486 +arithmetic mean file size = 175.42 K +max file size = 12640 K +average hashes per file= 43.85 +assuming 64byte hashes, that's 2806.40 bytes per file +
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120524155754.079AE106566B>