Single Core CPU:
> java -cp bin:. MultiMain sequential multiply sequential multiply blocked sequential multiply blocked transposed 160 Starting 800 threads ... started ... done ParMult Starting ParMultCore 2 threads ... started ... done Starting ParMultCoreBlockTrans 2 threads, block size 80 started ... done Matrix: 800 x 800 Ergebnis C-D == 0 true Zeit sequential = 23925 Zeit sequential block = 21353 Zeit sequential block transpose = 7308 Zeit parallel = 24284 Zeit parallel core = 23390 Zeit parallel core block trans = 7420
> java -server -cp bin:. MultiMain sequential multiply sequential multiply blocked sequential multiply blocked transposed 160 Starting 800 threads ... started ... done ParMult Starting ParMultCore 2 threads ... started ... done Starting ParMultCoreBlockTrans 2 threads, block size 80 started ... done Matrix: 800 x 800 Ergebnis C-D == 0 true Zeit sequential = 18044 Zeit sequential block = 17853 Zeit sequential block transpose = 6330 Zeit parallel = 21279 Zeit parallel core = 16954 Zeit parallel core block trans = 5266
HyperThreading CPU:
sequential multiply blocked sequential multiply blocked transposed 80 Starting 800 threads ... started ... done ParMult Starting ParMultCore 2 threads ... started ... done Starting ParMultCoreBlockTrans 2 threads, block size 30 started ... done Matrix: 800 x 800 Ergebnis C-D == 0 true Zeit sequential = 8235 Zeit sequential block = 6625 Zeit sequential block transpose = 2718 Zeit parallel = 6172 Zeit parallel core = 6500 Zeit parallel core block trans = 2844
Server VM:
sequential multiply sequential multiply blocked sequential multiply blocked transposed 80 Starting 800 threads ... started ... done ParMult Starting ParMultCore 2 threads ... started ... done Starting ParMultCoreBlockTrans 2 threads, block size 40 started ... done Matrix: 800 x 800 Ergebnis C-D == 0 true Zeit sequential = 6375 Zeit sequential block = 5984 Zeit sequential block transpose = 984 Zeit parallel = 5938 Zeit parallel core = 5656 Zeit parallel core block trans = 734
sequential multiply sequential multiply blocked sequential multiply blocked transposed 160 Starting 800 threads ... started ... done ParMult Starting ParMultCore 2 threads ... started ... done Starting ParMultCoreBlockTrans 2 threads, block size 80 started ... done Matrix: 800 x 800 Ergebnis C-D == 0 true Zeit sequential = 6515 Zeit sequential block = 6219 Zeit sequential block transpose = 1078 Zeit parallel = 6172 Zeit parallel core = 6000 Zeit parallel core block trans = 781