%% load the data linux_cnexp=load("neuron_benchmarks/linux_cnexp.dat"); macosx_cnexp=load("neuron_benchmarks/macosx_cnexp.dat"); linux_cvode=load("neuron_benchmarks/linux_cvode.dat"); macosx_cvode=load("neuron_benchmarks/macosx_cvode.dat"); linux_sparse_cnexp=load("neuron_benchmarks/linux_sparse_cnexp.dat"); macosx_sparse_cnexp=load("neuron_benchmarks/macosx_sparse_cnexp.dat"); linux_sparse_adrunge=load("neuron_benchmarks/linux_sparse_adrunge.dat"); macosx_sparse_adrunge=load("neuron_benchmarks/macosx_sparse_adrunge.dat"); macosx_parts_sparse_cnexp=load("neuron_benchmarks/macosx_parts_sparse_cnexp.dat"); linux_parts_sparse_cnexp=load("neuron_benchmarks/linux_parts_sparse_cnexp.dat"); macosx_parts_cnexp=load("neuron_benchmarks/macosx_parts_cnexp.dat"); linux_parts_cnexp=load("neuron_benchmarks/linux_parts_cnexp.dat"); macosx_parts_cvode=load("neuron_benchmarks/macosx_parts_cvode.dat"); linux_parts_cvode=load("neuron_benchmarks/linux_parts_cvode.dat"); %% compute the averages linux_cnexp_avg=sum(linux_cnexp)/length(linux_cnexp); macosx_cnexp_avg=sum(macosx_cnexp)/length(macosx_cnexp); linux_cvode_avg=sum(linux_cvode)/length(linux_cvode); macosx_cvode_avg=sum(macosx_cvode)/length(macosx_cvode); linux_sparse_cnexp_avg=sum(linux_sparse_cnexp)/length(linux_sparse_cnexp); macosx_sparse_cnexp_avg=sum(macosx_sparse_cnexp)/length(macosx_sparse_cnexp); linux_sparse_adrunge_avg=sum(linux_sparse_adrunge)/length(linux_sparse_adrunge); macosx_sparse_adrunge_avg=sum(macosx_sparse_adrunge)/length(macosx_sparse_adrunge); macosx_parts_cnexp_avg=sum(macosx_parts_cnexp)/length(macosx_parts_cnexp); linux_parts_cnexp_avg=sum(linux_parts_cnexp)/length(linux_parts_cnexp); macosx_parts_cvode_avg=sum(macosx_parts_cvode)/length(macosx_parts_cvode); linux_parts_cvode_avg=sum(linux_parts_cvode)/length(linux_parts_cvode); macosx_parts_sparse_cnexp_avg=sum(macosx_parts_sparse_cnexp)/length(macosx_parts_sparse_cnexp); linux_parts_sparse_cnexp_avg=sum(linux_parts_sparse_cnexp)/length(linux_parts_sparse_cnexp); width = 0.2; %% plot the averages subplot(2,1,1); h = bar([[linux_cnexp_avg macosx_cnexp_avg], [linux_sparse_cnexp_avg macosx_sparse_cnexp_avg], [linux_cvode_avg macosx_cvode_avg], ], width); legend("Linux","Mac OS X"); ylabel("Avg simulation time [s]"); axis([0 4 0 40]); set(gca,"xtick",[1 2 3]); set(gca,"xticklabel","cnexp|cnexp+sparse|cvode"); set(gca,"xtick",[1 2 3]); set (h(1), "facecolor", "r") set (h(2), "facecolor", "g") text(1-width*2,2,sprintf("%2.1f", linux_cnexp_avg)); text(1+width,2,sprintf("%2.1f", macosx_cnexp_avg)); text(2-width*2,2,sprintf("%2.1f", linux_sparse_cnexp_avg)); text(2+width,2,sprintf("%2.1f", macosx_sparse_cnexp_avg)); text(3-width*2,2,sprintf("%2.1f", linux_cvode_avg)); text(3+width,2,sprintf("%2.1f", macosx_cvode_avg)); subplot(2,1,2); h = bar([[linux_parts_cnexp_avg macosx_parts_cnexp_avg] [linux_parts_sparse_cnexp_avg macosx_parts_sparse_cnexp_avg], [linux_parts_cvode_avg macosx_parts_cvode_avg] ], width); legend("Linux","Mac OS X"); xlabel("Solver method"); ylabel("Avg simulation time [s]"); axis([0 4 0 40]); set(gca,"xtick",[1 2 3]); set(gca,"xticklabel","cnexp|cnexp+sparse|cvode"); set (h(1), "facecolor", "r") set (h(2), "facecolor", "g") text(1-width*2,2,sprintf("%2.1f", linux_parts_cnexp_avg)); text(1+width,2,sprintf("%2.1f", macosx_parts_cnexp_avg)); text(2-width*2,2,sprintf("%2.1f", linux_parts_sparse_cnexp_avg)); text(2+width,2,sprintf("%2.1f", macosx_parts_sparse_cnexp_avg)); text(3-width*2,2,sprintf("%2.1f", linux_parts_cvode_avg)); text(3+width,2,sprintf("%2.1f", macosx_parts_cvode_avg));