Comparing Different Computers with N Queens Program

From dftwiki3
Revision as of 11:47, 20 April 2016 by Thiebaut (talk | contribs) (N-Queens on a 16 MHz Arduino)
Jump to: navigation, search

--D. Thiebaut (talk) 11:05, 24 October 2014 (EDT)



This is an example of how one can generate a quick comparison of the processing power of different systems using a CPU-bound (not using disk or network) application. This app in this case is a java program that finds the solution to the N-Queens problem while counting the number of probes it makes to the 2-D board. The source code is available here.




Here are some results gathered in Oct. 2014 on several systems I have access to. NxN is the dimension of the board. The different systems are:

  1. Macbook Pro, 2009, 2.53 GHz, Intel Core 2 Duo, 8GB 1067MHz DDR3, 2 cores
  2. Macbook Pro, 2014, 2.8 GHz Core i7, 16GB 1600MHz DDR3, 4 cores
  3. MacPro, 2009, Intel(R) Xeon(R) CPU E5462, 4 cores
  4. MacPro, 2014, Intel(R) Xeon(R) CPU E5-1650 v2 @ 3.50GHz, 6 cores
  5. Beowulf2, (year?) Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz, 1 core
  6. Laptop 1 = MSI GE62 Apache Pro 219, 2015, i7 5700hq @2.7GHz, 16.0 GB 1600MHz DDR3L, 4 cores
  7. Linux 8 = AMD FX(tm)-8320 Eight-Core Processor, 3.5 GHz, 2GB cache


All times in the table below are in milliseconds (ms).

NxN Macbook Pro
2009
Macbook Pro
2014
MacPro
2009
MacPro
2014
Linux Mint
Beowulf2
Laptop 1 Linux 8
8x8
9x9
10x10
11x11
12x12
13x13
14x14
15x15
16x16
17x17
18x18
19x19
20x20
21x21
22x22
23x23
24x24
25x25
26x26
27x27
28x28
29x29
30x30
0
0
0
0
1
0
26
17
37
28
87
19
144
36
750
81
242
92
248
284
1551
1518
33667
1
0
1
0
1
0
3
2
14
10
34
7
64
13
311
31
101
37
102
118
633
356
12586
0
1
0
0
1
0
8
5
27
19
67
13
119
26
662
63
199
72
201
232
1250
687
23558
1
0
0
0
0
0
5
2
18
13
41
9
70
17
384
39
119
44
121
142
734
413
14158
0
0
0
0
1
1
17
14
46
31
104
22
152
50
610
101
226
111
227
257
1213
684
22889
0
0
0
0
0
0
0
0
1
1
5
1
24
1
221
3
56
7
58
69
469
244
9041
0
0
0
0
0
1
9
6
33
23
60
16
99
29
463
58
157
64
161
184
938
522
17252


Comparing Java to C


This calls for a quick comparison of the Java to C implementation available here, compiled by a C++ compiler with O3 optimization, and running on the fastest of the machines above, a MacBook Pro, 15" Retina Display, with a 2.8GHz 4-core processor. The computation uses only core. All times are in milliseconds (ms).

NxN Java
1.7.0_60
C
Compiled with g++
& -O3 optimization
8x8
9x9
10x10
11x11
12x12
13x13
14x14
15x15
16x16
17x17
18x18
19x19
20x20
21x21
22x22
23x23
24x24
25x25
26x26
27x27
28x28
29x29
30x30
1
0
1
0
1
0
3
2
14
10
34
7
64
13
311
31
101
37
102
118
633
356
12586
0
0
0
0
0
0
0
0
1
0
4
0
17
1
159
2
40
5
40
49
319
170
6320


For more information on the difference between Java, C, Python, and Assembly, go to this page.

N-Queens on a 16 MHz Arduino


The code for the N-Queens on the Arduino is available here.

N Elapsed Time in ms
8x8
9x9
10x10
11x11
12x12
493
2585
14016
81831
???