9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* yet another benchmark
@ 1994-11-17  5:02 Scott
  0 siblings, 0 replies; 3+ messages in thread
From: Scott @ 1994-11-17  5:02 UTC (permalink / raw)


Larry McVoy posted a filesystem benchmark on comp.unix.bsd today,
Message-ID: <3ae05t$afs@fido.asd.sgi.com>.  I'm not sure what it's
intended to prove, but since I'm a sucker for benchmarks I ran it
anyway. :-)

Here are the results and the code (tweaked to compile).  Maybe someone
with more interesting hardware than an SS1 cpu server and SS2 file
server can share their results.  

cpu% k.out
0k	500	36	63
1k	500	19	50
4k	500	15	56
10k	500	11	56
cpu% ramfs
cpu% cd /tmp
cpu% $home/k.out
0k	500	42	100
1k	500	36	100
4k	500	28	125
10k	500	11	17


#include <u.h>
#include <libc.h>

/*
 * Benchmark creates & deletes.
 */
/* $Id: fsbench.c,v 1.1 1994/11/16 22:08:53 lm Exp $ */
main()
{
	static	int	sizes[] = { 0, 1024, 4096, 10*1024 };
	extern	char	*names[];
	int	i, j;
	double	create_m, delete_m;
	char	buf[100];

	for (i = 0; i < sizeof(sizes)/sizeof(int); ++i) {
		start();
		for (j = 0; j < 500; ++j) {
			mkfile(names[j], sizes[i]);
		}
		create_m = stop() / 1000000.;
		start();
		for (j = 0; j < 500; ++j) {
			unlink(names[j]);
		}
		delete_m = stop() / 1000000.;
		printf("%dk\t%d\t%.0f\t%.0f\n",
		    sizes[i]>>10, 500,
		    500 / create_m, 500 / delete_m);
	}
	exit(0);
}

mkfile(s, sz)
	char	*s;
{
	int	fd = creat(s, 0666);
	char	buf[10*1024];		/* XXX - track sizes */

	write(fd, buf, sz);
	close(fd);
}

char *names[] = {
"a",	"b",	"c",	"d",	"e",	"f",	"g",	"h",	"i",	"j",
"k",	"l",	"m",	"n",	"o",	"p",	"q",	"r",	"s",	"t",
"u",	"v",	"w",	"x",	"y",	"z",	"aa",	"ab",	"ac",	"ad",
"ae",	"af",	"ag",	"ah",	"ai",	"aj",	"ak",	"al",	"am",	"an",
"ao",	"ap",	"aq",	"ar",	"as",	"at",	"au",	"av",	"aw",	"ax",
"ay",	"az",	"ba",	"bb",	"bc",	"bd",	"be",	"bf",	"bg",	"bh",
"bi",	"bj",	"bk",	"bl",	"bm",	"bn",	"bo",	"bp",	"bq",	"br",
"bs",	"bt",	"bu",	"bv",	"bw",	"bx",	"by",	"bz",	"ca",	"cb",
"cc",	"cd",	"ce",	"cf",	"cg",	"ch",	"ci",	"cj",	"ck",	"cl",
"cm",	"cn",	"co",	"cp",	"cq",	"cr",	"cs",	"ct",	"cu",	"cv",
"cw",	"cx",	"cy",	"cz",	"da",	"db",	"dc",	"dd",	"de",	"df",
"dg",	"dh",	"di",	"dj",	"dk",	"dl",	"dm",	"dn",	"do",	"dp",
"dq",	"dr",	"ds",	"dt",	"du",	"dv",	"dw",	"dx",	"dy",	"dz",
"ea",	"eb",	"ec",	"ed",	"ee",	"ef",	"eg",	"eh",	"ei",	"ej",
"ek",	"el",	"em",	"en",	"eo",	"ep",	"eq",	"er",	"es",	"et",
"eu",	"ev",	"ew",	"ex",	"ey",	"ez",	"fa",	"fb",	"fc",	"fd",
"fe",	"ff",	"fg",	"fh",	"fi",	"fj",	"fk",	"fl",	"fm",	"fn",
"fo",	"fp",	"fq",	"fr",	"fs",	"ft",	"fu",	"fv",	"fw",	"fx",
"fy",	"fz",	"ga",	"gb",	"gc",	"gd",	"ge",	"gf",	"gg",	"gh",
"gi",	"gj",	"gk",	"gl",	"gm",	"gn",	"go",	"gp",	"gq",	"gr",
"gs",	"gt",	"gu",	"gv",	"gw",	"gx",	"gy",	"gz",	"ha",	"hb",
"hc",	"hd",	"he",	"hf",	"hg",	"hh",	"hi",	"hj",	"hk",	"hl",
"hm",	"hn",	"ho",	"hp",	"hq",	"hr",	"hs",	"ht",	"hu",	"hv",
"hw",	"hx",	"hy",	"hz",	"ia",	"ib",	"ic",	"id",	"ie",	"if",
"ig",	"ih",	"ii",	"ij",	"ik",	"il",	"im",	"in",	"io",	"ip",
"iq",	"ir",	"is",	"it",	"iu",	"iv",	"iw",	"ix",	"iy",	"iz",
"ja",	"jb",	"jc",	"jd",	"je",	"jf",	"jg",	"jh",	"ji",	"jj",
"jk",	"jl",	"jm",	"jn",	"jo",	"jp",	"jq",	"jr",	"js",	"jt",
"ju",	"jv",	"jw",	"jx",	"jy",	"jz",	"ka",	"kb",	"kc",	"kd",
"ke",	"kf",	"kg",	"kh",	"ki",	"kj",	"kk",	"kl",	"km",	"kn",
"ko",	"kp",	"kq",	"kr",	"ks",	"kt",	"ku",	"kv",	"kw",	"kx",
"ky",	"kz",	"la",	"lb",	"lc",	"ld",	"le",	"lf",	"lg",	"lh",
"li",	"lj",	"lk",	"ll",	"lm",	"ln",	"lo",	"lp",	"lq",	"lr",
"ls",	"lt",	"lu",	"lv",	"lw",	"lx",	"ly",	"lz",	"ma",	"mb",
"mc",	"md",	"me",	"mf",	"mg",	"mh",	"mi",	"mj",	"mk",	"ml",
"mm",	"mn",	"mo",	"mp",	"mq",	"mr",	"ms",	"mt",	"mu",	"mv",
"mw",	"mx",	"my",	"mz",	"na",	"nb",	"nc",	"nd",	"ne",	"nf",
"ng",	"nh",	"ni",	"nj",	"nk",	"nl",	"nm",	"nn",	"no",	"np",
"nq",	"nr",	"ns",	"nt",	"nu",	"nv",	"nw",	"nx",	"ny",	"nz",
"oa",	"ob",	"oc",	"od",	"oe",	"of",	"og",	"oh",	"oi",	"oj",
"ok",	"ol",	"om",	"on",	"oo",	"op",	"oq",	"or",	"os",	"ot",
"ou",	"ov",	"ow",	"ox",	"oy",	"oz",	"pa",	"pb",	"pc",	"pd",
"pe",	"pf",	"pg",	"ph",	"pi",	"pj",	"pk",	"pl",	"pm",	"pn",
"po",	"pp",	"pq",	"pr",	"ps",	"pt",	"pu",	"pv",	"pw",	"px",
"py",	"pz",	"qa",	"qb",	"qc",	"qd",	"qe",	"qf",	"qg",	"qh",
"qi",	"qj",	"qk",	"ql",	"qm",	"qn",	"qo",	"qp",	"qq",	"qr",
"qs",	"qt",	"qu",	"qv",	"qw",	"qx",	"qy",	"qz",	"ra",	"rb",
"rc",	"rd",	"re",	"rf",	"rg",	"rh",	"ri",	"rj",	"rk",	"rl",
"rm",	"rn",	"ro",	"rp",	"rq",	"rr",	"rs",	"rt",	"ru",	"rv",
"rw",	"rx",	"ry",	"rz",	"sa",	"sb",	"sc",	"sd",	"se",	"sf",
"sg",	"sh",	"si",	"sj",	"sk",	"sl",	"sm",	"sn",	"so",	"sp",
"sq",	"sr",	"ss",	"st",	"su",	"sv",	"sw",	"sx",	"sy",	"sz",
"ta",	"tb",	"tc",	"td",	"te",	"tf",	"tg",	"th",	"ti",	"tj",
"tk",	"tl",	"tm",	"tn",	"to",	"tp",	"tq",	"tr",	"ts",	"tt",
"tu",	"tv",	"tw",	"tx",	"ty",	"tz",	"ua",	"ub",	"uc",	"ud",
"ue",	"uf",	"ug",	"uh",	"ui",	"uj",	"uk",	"ul",	"um",	"un",
"uo",	"up",	"uq",	"ur",	"us",	"ut",	"uu",	"uv",	"uw",	"ux",
"uy",	"uz",	"va",	"vb",	"vc",	"vd",	"ve",	"vf",	"vg",	"vh",
"vi",	"vj",	"vk",	"vl",	"vm",	"vn",	"vo",	"vp",	"vq",	"vr",
"vs",	"vt",	"vu",	"vv",	"vw",	"vx",	"vy",	"vz",	"wa",	"wb",
"wc",	"wd",	"we",	"wf",	"wg",	"wh",	"wi",	"wj",	"wk",	"wl",
"wm",	"wn",	"wo",	"wp",	"wq",	"wr",	"ws",	"wt",	"wu",	"wv",
"ww",	"wx",	"wy",	"wz",	"xa",	"xb",	"xc",	"xd",	"xe",	"xf",
"xg",	"xh",	"xi",	"xj",	"xk",	"xl",	"xm",	"xn",	"xo",	"xp",
"xq",	"xr",	"xs",	"xt",	"xu",	"xv",	"xw",	"xx",	"xy",	"xz",
"ya",	"yb",	"yc",	"yd",	"ye",	"yf",	"yg",	"yh",	"yi",	"yj",
"yk",	"yl",	"ym",	"yn",	"yo",	"yp",	"yq",	"yr",	"ys",	"yt",
"yu",	"yv",	"yw",	"yx",	"yy",	"yz",	"za",	"zb",	"zc",	"zd",
"ze",	"zf",	"zg",	"zh",	"zi",	"zj",	"zk",	"zl",	"zm",	"zn",
"zo",	"zp",	"zq",	"zr",	"zs",	"zt",	"zu",	"zv",	"zw",	"zx",
"zy",	"zz",	"aaa",	"aab",	"aac",	"aad",	"aae",	"aaf",	"aag",	"aah",
"aai",	"aaj",	"aak",	"aal",	"aam",	"aan",	"aao",	"aap",	"aaq",	"aar",
"aas",	"aat",	"aau",	"aav",	"aaw",	"aax",	"aay",	"aaz",	"aba",	"abb",
"abc",	"abd",	"abe",	"abf",	"abg",	"abh",	"abi",	"abj",	"abk",	"abl",
"abm",	"abn",	"abo",	"abp",	"abq",	"abr",	"abs",	"abt",	"abu",	"abv",
"abw",	"abx",	"aby",	"abz",	"aca",	"acb",	"acc",	"acd",	"ace",	"acf",
"acg",	"ach",	"aci",	"acj",	"ack",	"acl",	"acm",	"acn",	"aco",	"acp",
"acq",	"acr",	"acs",	"act",	"acu",	"acv",	"acw",	"acx",	"acy",	"acz",
"ada",	"adb",	"adc",	"add",	"ade",	"adf",	"adg",	"adh",	"adi",	"adj",
"adk",	"adl",	"adm",	"adn",	"ado",	"adp",	"adq",	"adr",	"ads",	"adt",
"adu",	"adv",	"adw",	"adx",	"ady",	"adz",	"aea",	"aeb",	"aec",	"aed",
"aee",	"aef",	"aeg",	"aeh",	"aei",	"aej",	"aek",	"ael",	"aem",	"aen",
"aeo",	"aep",	"aeq",	"aer",	"aes",	"aet",	"aeu",	"aev",	"aew",	"aex",
"aey",	"aez",	"afa",	"afb",	"afc",	"afd",	"afe",	"aff",	"afg",	"afh",
"afi",	"afj",	"afk",	"afl",	"afm",	"afn",	"afo",	"afp",	"afq",	"afr",
"afs",	"aft",	"afu",	"afv",	"afw",	"afx",	"afy",	"afz",	"aga",	"agb",
"agc",	"agd",	"age",	"agf",	"agg",	"agh",	"agi",	"agj",	"agk",	"agl",
"agm",	"agn",	"ago",	"agp",	"agq",	"agr",	"ags",	"agt",	"agu",	"agv",
"agw",	"agx",	"agy",	"agz",	"aha",	"ahb",	"ahc",	"ahd",	"ahe",	"ahf",
"ahg",	"ahh",	"ahi",	"ahj",	"ahk",	"ahl",	"ahm",	"ahn",	"aho",	"ahp",
"ahq",	"ahr",	"ahs",	"aht",	"ahu",	"ahv",	"ahw",	"ahx",	"ahy",	"ahz",
"aia",	"aib",	"aic",	"aid",	"aie",	"aif",	"aig",	"aih",	"aii",	"aij",
"aik",	"ail",	"aim",	"ain",	"aio",	"aip",	"aiq",	"air",	"ais",	"ait",
"aiu",	"aiv",	"aiw",	"aix",	"aiy",	"aiz",	"aja",	"ajb",	"ajc",	"ajd",
"aje",	"ajf",	"ajg",	"ajh",	"aji",	"ajj",	"ajk",	"ajl",	"ajm",	"ajn",
"ajo",	"ajp",	"ajq",	"ajr",	"ajs",	"ajt",	"aju",	"ajv",	"ajw",	"ajx",
"ajy",	"ajz",	"aka",	"akb",	"akc",	"akd",	"ake",	"akf",	"akg",	"akh",
"aki",	"akj",	"akk",	"akl",	"akm",	"akn",	"ako",	"akp",	"akq",	"akr",
"aks",	"akt",	"aku",	"akv",	"akw",	"akx",	"aky",	"akz",	"ala",	"alb",
"alc",	"ald",	"ale",	"alf",	"alg",	"alh",	"ali",	"alj",	"alk",	"all",
};

/* --- */

static long val;

void start()
{
  val = time(0) * 1000000;
}

long stop()
{
  return time(0)*1000000 - val;
}

int creat(char* file, int perm)
{
  return create (file, OWRITE|OTRUNC, perm);
}

int unlink(char* file)
{
  return remove(file);
}






^ permalink raw reply	[flat|nested] 3+ messages in thread

* yet another benchmark
@ 1994-11-18 19:10 Alberto
  0 siblings, 0 replies; 3+ messages in thread
From: Alberto @ 1994-11-18 19:10 UTC (permalink / raw)


In <94Nov17.000230est.12684@galapagos.cse.psu.edu>
	Scott Schwartz <schwartz@galapagos.cse.psu.edu> wrote:

> Larry McVoy posted a filesystem benchmark on comp.unix.bsd today,
> Message-ID: <3ae05t$afs@fido.asd.sgi.com>.  I'm not sure what it's
> intended to prove, but since I'm a sucker for benchmarks I ran it
> anyway. :-)
> 
> Here are the results and the code (tweaked to compile).  Maybe someone
> with more interesting hardware than an SS1 cpu server and SS2 file
> server can share their results.  
> 
> cpu% k.out
> 0k	500	36	63
> 1k	500	19	50
> 4k	500	15	56
> 10k	500	11	56
> cpu% ramfs
> cpu% cd /tmp
> cpu% $home/k.out
> 0k	500	42	100
> 1k	500	36	100
> 4k	500	28	125
> 10k	500	11	17
> 
> 

We don't have a great hardware, but we are my results.

#
# terminal: SPARC ELC 
# file server: Sparc ELC
# cpu server: Sparc ELC
#

term% k.out
0k	500	26	45
1k	500	13	38
4k	500	11	29
10k	500	8	26

cpu% k.out
0k	500	26	63
1k	500	13	38
4k	500	12	28
10k	500	10	28

#
# with ramfs
#

term% $home/src/ben/k.out
0k	500	56	125
1k	500	50	100
4k	500	42	125
10k	500	9	24	

cpu% $home/src/ben/k.out 
0k	500	63	167			  
1k	500	56	125
4k	500	42	167
10k	500	28	167

The result for our cpu server running ramfs are a little better. Probably
becuase it has more RAM. 






^ permalink raw reply	[flat|nested] 3+ messages in thread

* yet another benchmark
@ 1994-11-17  6:29 Scott
  0 siblings, 0 replies; 3+ messages in thread
From: Scott @ 1994-11-17  6:29 UTC (permalink / raw)


Sigh.  So naturally I post the untweaked version.  Replace printf with
print and exit with exits, of course.






^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~1994-11-18 19:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1994-11-17  5:02 yet another benchmark Scott
1994-11-17  6:29 Scott
1994-11-18 19:10 Alberto

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).