From 4accc289a6fb71da310216e10fb59454ea9d1092 Mon Sep 17 00:00:00 2001 From: michelkaporin Date: Thu, 7 Dec 2017 14:18:00 +0100 Subject: [PATCH] Added analysis data, automated the whole process of running benchmark with bash script --- .DS_Store | Bin 6148 -> 8196 bytes .gitignore | 2 ++ Main.class | Bin 6345 -> 6310 bytes Main.java | 2 +- analysis/Hyperdex Benchmarks.xlsx | Bin 0 -> 85347 bytes scripts/hyperdex_benchmark.sh | 33 ++++++++++++++++++++ scripts/setup_spaces.py | 48 ++++++++++++++++++++++++++++++ 7 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 analysis/Hyperdex Benchmarks.xlsx create mode 100755 scripts/hyperdex_benchmark.sh create mode 100644 scripts/setup_spaces.py diff --git a/.DS_Store b/.DS_Store index b8cf733b8908765fb4f85b6c6d65f2c4501da37e..a68ba1bcc5f0d4eb8825458ea8344415c2f543ee 100644 GIT binary patch literal 8196 zcmeHM&2AGh5FV$2rl6J{kQyYA_JYJALP?qyB7{gokm#WjA{86}wVNL`3!7||Y#K@k z%BAnXkHm=!j{+BN@E|+@e72XZyK!2iqEdlJvd6J!?457C;~j^HSg}{j5G9Eyfx`Lx zSyUS0bp)r8+UGPApiN1sMtxt3%Hc;=~G)o7x~?5Ew^*=k5uzsfFUI`Fq9nDj4Ih z(+!j>KLnwrk+1Z-?LhuhrR_RhKb`)@VpH)`r>7H~W)n}!4XB zRD$-p=ec3qt~_w+{f+tax4o8cJFR+0C_A+}L>@nMS~ag<^m?sYSIkqE12dd9=97cL z()E1GTFm5zDQl2l&ZMm6TzWX1Ni1B>++5vk?z|Yh9KL!ZOd%G;6FMhXq3%|u zT=kmmP)Y+v(<_x~Js%e!U)OeTz0d0AX?nFoW!jCy*V-<3TCUgH!W!I;b5x`{Tv??C zHQ~?>J)^7m<)Yn{*D`x;}Wb-SXJze?;-Pg*Ni19TwGV1(sD$xq9 z)5?B1wh(!aP)^xapa1r@x-b~z@=GZzo6YiVl}TrE*jJ0!#`YE8H=v38>Kz6{3nTtZ z0wJ4xl>6{w8~&@qZ``B2&&So8hxSB|#%#>3BEImO^J#r7{G$4Jj_x8rwDCM0%v-1D z2RzA_$dk-!boHz5LQ`G!46VU-=ODX9fKqj46dnC4eDA9o)4;h3yByf(kG(1UnN(aO z(#k$P5#cYN=HYMg$l)(yrY87BB-GIN;bN%)*v2IG0-s(&6ZRr=L|&RW99BoTYwr&$ z;$=`>9Lk+ccOCt-3Jr_^1TW}mN_HoC{(ook{l8w>^cn;V0{;X8EM6*?iZJEZw{X-d zo@-kun<$*P+(>evf=Z<0;36Fd5C1Sk+kz<9DFl2ZIeI|He-VI`Mtu9KhePCu*?*KU YbN=&>B6I$S8R{R+R^{i~ai9M`0rl+LHUIzs delta 189 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 diff --git a/Main.java b/Main.java index 8187c59..170f994 100644 --- a/Main.java +++ b/Main.java @@ -16,7 +16,6 @@ public class Main { public static void main(String[] args) { - System.out.println("Hello, Solitude!"); AvaData avaData = new AvaData(); int[] maxBlockSize = { 1, 1000 }; // Fix the block size per chunk boolean[] twoDimensions = { false, true }; // First run the retrieval from the key (single dimension), then over @@ -29,6 +28,7 @@ public static void main(String[] args) { List chunks = avaData.transferData(blockSize); for (boolean twoDimensional : twoDimensions) { + System.out.format("Block size per chunk: %s, Two Dimensional Benchmark: %s\n", blockSize, Boolean.toString(twoDimensional)); System.out.format("Num Chunks: %d, Num Entries: %d\n", chunks.size(), avaData.counter); diff --git a/analysis/Hyperdex Benchmarks.xlsx b/analysis/Hyperdex Benchmarks.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..cdb35bd4132f50105f61932068d8be2b4d289aae GIT binary patch literal 85347 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