rawsynchronous_mean = mean(rawsynchronous_since);
rawsynchronous_min = min(rawsynchronous_since) - rawsynchronous_mean;
rawsynchronous_max = max(rawsynchronous_since) - rawsynchronous_mean;
rawsynchronous_mean = mean(rawsynchronous_since);
rawsynchronous_std = std(rawsynchronous_since);
synchronous_mean = mean(synchronous_since);
synchronous_min = min(synchronous_since) - synchronous_mean;
synchronous_max = max(synchronous_since) - synchronous_mean;
synchronous_mean = mean(synchronous_since);
synchronous_std = std(synchronous_since);
mmap2_mean = mean(mmap2_since);
mmap2_min = min(mmap2_since) - mmap2_mean;
mmap2_max = max(mmap2_since) - mmap2_mean;
mmap2_mean = mean(mmap2_since);
mmap2_std = std(mmap2_since);
rawpkthreads_mean = mean(rawpkthreads_since);
rawpkthreads_min = min(rawpkthreads_since) - rawpkthreads_mean;
rawpkthreads_max = max(rawpkthreads_since) - rawpkthreads_mean;
rawpkthreads_mean = mean(rawpkthreads_since);
rawpkthreads_std = std(rawpkthreads_since);
aioread_mean = mean(aioread_since);
aioread_min = min(aioread_since) - aioread_mean;
aioread_max = max(aioread_since) - aioread_mean;
aioread_mean = mean(aioread_since);
aioread_std = std(aioread_since);
rawaio_mean = mean(rawaio_since);
rawaio_min = min(rawaio_since) - rawaio_mean;
rawaio_max = max(rawaio_since) - rawaio_mean;
rawaio_mean = mean(rawaio_since);
rawaio_std = std(rawaio_since);
bsdrawsynchronous_mean = mean(bsdrawsynchronous_since);
bsdrawsynchronous_min = min(bsdrawsynchronous_since) - bsdrawsynchronous_mean;
bsdrawsynchronous_max = max(bsdrawsynchronous_since) - bsdrawsynchronous_mean;
bsdrawsynchronous_mean = mean(bsdrawsynchronous_since);
bsdrawsynchronous_std = std(bsdrawsynchronous_since);
bsdsynchronous_mean = mean(bsdsynchronous_since);
bsdsynchronous_min = min(bsdsynchronous_since) - bsdsynchronous_mean;
bsdsynchronous_max = max(bsdsynchronous_since) - bsdsynchronous_mean;
bsdsynchronous_mean = mean(bsdsynchronous_since);
bsdsynchronous_std = std(bsdsynchronous_since);
bsdmmap2_mean = mean(bsdmmap2_since);
bsdmmap2_min = min(bsdmmap2_since) - bsdmmap2_mean;
bsdmmap2_max = max(bsdmmap2_since) - bsdmmap2_mean;
bsdmmap2_mean = mean(bsdmmap2_since);
bsdmmap2_std = std(bsdmmap2_since);
bsdrawpkthreads_mean = mean(bsdrawpkthreads_since);
bsdrawpkthreads_min = min(bsdrawpkthreads_since) - bsdrawpkthreads_mean;
bsdrawpkthreads_max = max(bsdrawpkthreads_since) - bsdrawpkthreads_mean;
bsdrawpkthreads_mean = mean(bsdrawpkthreads_since);
bsdrawpkthreads_std = std(bsdrawpkthreads_since);
bsdaioread_mean = mean(bsdaioread_since);
bsdaioread_min = min(bsdaioread_since) - bsdaioread_mean;
bsdaioread_max = max(bsdaioread_since) - bsdaioread_mean;
bsdaioread_mean = mean(bsdaioread_since);
bsdaioread_std = std(bsdaioread_since);
bsdrawaio_mean = mean(bsdrawaio_since);
bsdrawaio_min = min(bsdrawaio_since) - bsdrawaio_mean;
bsdrawaio_max = max(bsdrawaio_since) - bsdrawaio_mean;
bsdrawaio_mean = mean(bsdrawaio_since);
bsdrawaio_std = std(bsdrawaio_since);
errb_best = [ rawsynchronous_best synchronous_best mmap2_best rawpkthreads_best aioread_best rawaio_best ] 
bsderrb_best = [ bsdrawsynchronous_best bsdsynchronous_best bsdmmap2_best bsdrawpkthreads_best bsdaioread_best bsdrawaio_best ] 
errb_max = [ rawsynchronous_max synchronous_max mmap2_max rawpkthreads_max aioread_max rawaio_max ] 
bsderrb_max = [ bsdrawsynchronous_max bsdsynchronous_max bsdmmap2_max bsdrawpkthreads_max bsdaioread_max bsdrawaio_max ] 
errb_min = [ rawsynchronous_min synchronous_min mmap2_min rawpkthreads_min aioread_min rawaio_min ] 
bsderrb_min = [ bsdrawsynchronous_min bsdsynchronous_min bsdmmap2_min bsdrawpkthreads_min bsdaioread_min bsdrawaio_min ] 
errb_mean = [ rawsynchronous_mean synchronous_mean mmap2_mean rawpkthreads_mean aioread_mean rawaio_mean ] 
bsderrb_mean = [ bsdrawsynchronous_mean bsdsynchronous_mean bsdmmap2_mean bsdrawpkthreads_mean bsdaioread_mean bsdrawaio_mean ] 
errb_std = [ rawsynchronous_std synchronous_std mmap2_std rawpkthreads_std aioread_std rawaio_std ] 
bsderrb_std = [ bsdrawsynchronous_std bsdsynchronous_std bsdmmap2_std bsdrawpkthreads_std bsdaioread_std bsdrawaio_std ] 
figure;hold
errorbar(errb_best, errb_mean, errb_min, errb_max, 'k+')      
h=errorbar(errb_best, errb_mean, errb_std, 'k+')              
set (h,'LineWidth',2)   
plot([10 65],[5.333 5.333],'k');
axis([10 65 1 8])
label_rawsynchronous = 'Raw/read'
text(rawsynchronous_best - 3,  5.3, 'Raw/read')
label_synchronous = 'FS/read'
text(synchronous_best - 3,  5.3, 'FS/read')
label_mmap2 = 'FS/mmap'
text(mmap2_best - 3,  5.3, 'FS/mmap')
label_rawpkthreads = 'Raw/thread'
text(rawpkthreads_best - 3,  5.3, 'Raw/thread')
label_aioread = 'FS/AIO'
text(aioread_best - 3,  5.3, 'FS/AIO')
label_rawaio = 'Raw/AIO'
text(rawaio_best - 3,  5.3, 'Raw/AIO')

figure;hold
errorbar(bsderrb_best, bsderrb_mean, bsderrb_min, bsderrb_max, 'k+')            
h=errorbar(bsderrb_best, bsderrb_mean, bsderrb_std, 'k+')                     
set (h,'LineWidth',2)                                   
plot([20 65],[5.333 5.333],'k');
axis([20 65 3.5 6.5])
text(bsdrawsynchronous_best - 3, 5.3, 'Raw/read')
text(bsdsynchronous_best - 3, 5.3, 'FS/read')
text(bsdmmap2_best - 3, 5.3, 'FS/mmap')
text(bsdrawpkthreads_best - 3, 5.3, 'Raw/thread')
text(bsdaioread_best - 3, 5.3, 'FS/AIO')
text(bsdrawaio_best - 3, 5.3, 'Raw/AIO')
