Skip to content

Commit 4d09480

Browse files
Add Multiprocessing
1 parent 2a360fc commit 4d09480

File tree

18 files changed

+263
-0
lines changed

18 files changed

+263
-0
lines changed
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
import time
2+
import multiprocessing as mp
3+
from Sorting_Tests import mergeSort
4+
5+
6+
# List to sort
7+
list = [nums]
8+
9+
def multiMergeSorting(numOfCores = 6):
10+
sort = mergeSort.mergeSort(list)
11+
12+
if numOfCores == 3:
13+
p1 = mp.Process(target=sort).start()
14+
p2 = mp.Process(target=sort).start()
15+
p3 = mp.Process(target=sort).start()
16+
elif numOfCores == 4:
17+
p1 = mp.Process(target=sort).start()
18+
p2 = mp.Process(target=sort).start()
19+
p3 = mp.Process(target=sort).start()
20+
p4 = mp.Process(target=sort).start()
21+
elif numOfCores == 5:
22+
p1 = mp.Process(target=sort).start()
23+
p2 = mp.Process(target=sort).start()
24+
p3 = mp.Process(target=sort).start()
25+
p4 = mp.Process(target=sort).start()
26+
p5 = mp.Process(target=sort).start()
27+
elif numOfCores == 6:
28+
p1 = mp.Process(target=sort).start()
29+
p2 = mp.Process(target=sort).start()
30+
p3 = mp.Process(target=sort).start()
31+
p4 = mp.Process(target=sort).start()
32+
p5 = mp.Process(target=sort).start()
33+
p6 = mp.Process(target=sort).start()
34+
elif numOfCores == 8:
35+
p1 = mp.Process(target=sort).start()
36+
p2 = mp.Process(target=sort).start()
37+
p3 = mp.Process(target=sort).start()
38+
p4 = mp.Process(target=sort).start()
39+
p5 = mp.Process(target=sort).start()
40+
p6 = mp.Process(target=sort).start()
41+
p7 = mp.Process(target=sort).start()
42+
p8 = mp.Process(target=sort).start()
43+
elif numOfCores == 10:
44+
p1 = mp.Process(target=sort).start()
45+
p2 = mp.Process(target=sort).start()
46+
p3 = mp.Process(target=sort).start()
47+
p4 = mp.Process(target=sort).start()
48+
p5 = mp.Process(target=sort).start()
49+
p6 = mp.Process(target=sort).start()
50+
p7 = mp.Process(target=sort).start()
51+
p8 = mp.Process(target=sort).start()
52+
p9 = mp.Process(target=sort).start()
53+
p10 = mp.Process(target=sort).start()
54+
elif numOfCores == 12:
55+
p1 = mp.Process(target=sort).start()
56+
p2 = mp.Process(target=sort).start()
57+
p3 = mp.Process(target=sort).start()
58+
p4 = mp.Process(target=sort).start()
59+
p5 = mp.Process(target=sort).start()
60+
p6 = mp.Process(target=sort).start()
61+
p7 = mp.Process(target=sort).start()
62+
p8 = mp.Process(target=sort).start()
63+
p9 = mp.Process(target=sort).start()
64+
p10 = mp.Process(target=sort).start()
65+
p11 = mp.Process(target=sort).start()
66+
p12 = mp.Process(target=sort).start()
67+
elif numOfCores == 14:
68+
p1 = mp.Process(target=sort).start()
69+
p2 = mp.Process(target=sort).start()
70+
p3 = mp.Process(target=sort).start()
71+
p4 = mp.Process(target=sort).start()
72+
p5 = mp.Process(target=sort).start()
73+
p6 = mp.Process(target=sort).start()
74+
p7 = mp.Process(target=sort).start()
75+
p8 = mp.Process(target=sort).start()
76+
p9 = mp.Process(target=sort).start()
77+
p10 = mp.Process(target=sort).start()
78+
p11 = mp.Process(target=sort).start()
79+
p12 = mp.Process(target=sort).start()
80+
p13 = mp.Process(target=sort).start()
81+
p14 = mp.Process(target=sort).start()
82+
elif numOfCores == 16:
83+
p1 = mp.Process(target=sort).start()
84+
p2 = mp.Process(target=sort).start()
85+
p3 = mp.Process(target=sort).start()
86+
p4 = mp.Process(target=sort).start()
87+
p5 = mp.Process(target=sort).start()
88+
p6 = mp.Process(target=sort).start()
89+
p7 = mp.Process(target=sort).start()
90+
p8 = mp.Process(target=sort).start()
91+
p9 = mp.Process(target=sort).start()
92+
p10 = mp.Process(target=sort).start()
93+
p11 = mp.Process(target=sort).start()
94+
p12 = mp.Process(target=sort).start()
95+
p13 = mp.Process(target=sort).start()
96+
p14 = mp.Process(target=sort).start()
97+
p15 = mp.Process(target=sort).start()
98+
p16 = mp.Process(target=sort).start()
99+
elif numOfCores == 18:
100+
p1 = mp.Process(target=sort).start()
101+
p2 = mp.Process(target=sort).start()
102+
p3 = mp.Process(target=sort).start()
103+
p4 = mp.Process(target=sort).start()
104+
p5 = mp.Process(target=sort).start()
105+
p6 = mp.Process(target=sort).start()
106+
p7 = mp.Process(target=sort).start()
107+
p8 = mp.Process(target=sort).start()
108+
p9 = mp.Process(target=sort).start()
109+
p10 = mp.Process(target=sort).start()
110+
p11 = mp.Process(target=sort).start()
111+
p12 = mp.Process(target=sort).start()
112+
p13 = mp.Process(target=sort).start()
113+
p14 = mp.Process(target=sort).start()
114+
p15 = mp.Process(target=sort).start()
115+
p16 = mp.Process(target=sort).start()
116+
p17 = mp.Process(target=sort).start()
117+
p18 = mp.Process(target=sort).start()
118+
else:
119+
pass
120+
121+
# Start timer
122+
startTimer = time.perf_counter()
123+
startTimer2 = time.process_time()
124+
125+
multiMergeSorting(numOfCores)
126+
127+
endTimer = time.perf_counter()
128+
endTimer2 = time.process_time()
129+
130+
print(f"Task Finished In Performance: {endTimer - startTimer:0.8f}s\nTask Finished In Process/CPU/Kernel + User Space: {endTimer2 - startTimer2:0.8f}s")
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
import time
2+
import multiprocessing as mp
3+
from Algorthmic_Tests import primeCounter
4+
5+
6+
def multiPrimeCounting(numOfCores = 6, countTo = 1001):
7+
counter = primeCounter.primeCounter(countTo)
8+
9+
if numOfCores == 3:
10+
p1 = mp.Process(target=counter).start()
11+
p2 = mp.Process(target=counter).start()
12+
p3 = mp.Process(target=counter).start()
13+
elif numOfCores == 4:
14+
p1 = mp.Process(target=counter).start()
15+
p2 = mp.Process(target=counter).start()
16+
p3 = mp.Process(target=counter).start()
17+
p4 = mp.Process(target=counter).start()
18+
elif numOfCores == 5:
19+
p1 = mp.Process(target=counter).start()
20+
p2 = mp.Process(target=counter).start()
21+
p3 = mp.Process(target=counter).start()
22+
p4 = mp.Process(target=counter).start()
23+
p5 = mp.Process(target=counter).start()
24+
elif numOfCores == 6:
25+
p1 = mp.Process(target=counter).start()
26+
p2 = mp.Process(target=counter).start()
27+
p3 = mp.Process(target=counter).start()
28+
p4 = mp.Process(target=counter).start()
29+
p5 = mp.Process(target=counter).start()
30+
p6 = mp.Process(target=counter).start()
31+
elif numOfCores == 8:
32+
p1 = mp.Process(target=counter).start()
33+
p2 = mp.Process(target=counter).start()
34+
p3 = mp.Process(target=counter).start()
35+
p4 = mp.Process(target=counter).start()
36+
p5 = mp.Process(target=counter).start()
37+
p6 = mp.Process(target=counter).start()
38+
p7 = mp.Process(target=counter).start()
39+
p8 = mp.Process(target=counter).start()
40+
elif numOfCores == 10:
41+
p1 = mp.Process(target=counter).start()
42+
p2 = mp.Process(target=counter).start()
43+
p3 = mp.Process(target=counter).start()
44+
p4 = mp.Process(target=counter).start()
45+
p5 = mp.Process(target=counter).start()
46+
p6 = mp.Process(target=counter).start()
47+
p7 = mp.Process(target=counter).start()
48+
p8 = mp.Process(target=counter).start()
49+
p9 = mp.Process(target=counter).start()
50+
p10 = mp.Process(target=counter).start()
51+
elif numOfCores == 12:
52+
p1 = mp.Process(target=counter).start()
53+
p2 = mp.Process(target=counter).start()
54+
p3 = mp.Process(target=counter).start()
55+
p4 = mp.Process(target=counter).start()
56+
p5 = mp.Process(target=counter).start()
57+
p6 = mp.Process(target=counter).start()
58+
p7 = mp.Process(target=counter).start()
59+
p8 = mp.Process(target=counter).start()
60+
p9 = mp.Process(target=counter).start()
61+
p10 = mp.Process(target=counter).start()
62+
p11 = mp.Process(target=counter).start()
63+
p12 = mp.Process(target=counter).start()
64+
elif numOfCores == 14:
65+
p1 = mp.Process(target=counter).start()
66+
p2 = mp.Process(target=counter).start()
67+
p3 = mp.Process(target=counter).start()
68+
p4 = mp.Process(target=counter).start()
69+
p5 = mp.Process(target=counter).start()
70+
p6 = mp.Process(target=counter).start()
71+
p7 = mp.Process(target=counter).start()
72+
p8 = mp.Process(target=counter).start()
73+
p9 = mp.Process(target=counter).start()
74+
p10 = mp.Process(target=counter).start()
75+
p11 = mp.Process(target=counter).start()
76+
p12 = mp.Process(target=counter).start()
77+
p13 = mp.Process(target=counter).start()
78+
p14 = mp.Process(target=counter).start()
79+
elif numOfCores == 16:
80+
p1 = mp.Process(target=counter).start()
81+
p2 = mp.Process(target=counter).start()
82+
p3 = mp.Process(target=counter).start()
83+
p4 = mp.Process(target=counter).start()
84+
p5 = mp.Process(target=counter).start()
85+
p6 = mp.Process(target=counter).start()
86+
p7 = mp.Process(target=counter).start()
87+
p8 = mp.Process(target=counter).start()
88+
p9 = mp.Process(target=counter).start()
89+
p10 = mp.Process(target=counter).start()
90+
p11 = mp.Process(target=counter).start()
91+
p12 = mp.Process(target=counter).start()
92+
p13 = mp.Process(target=counter).start()
93+
p14 = mp.Process(target=counter).start()
94+
p15 = mp.Process(target=counter).start()
95+
p16 = mp.Process(target=counter).start()
96+
elif numOfCores == 18:
97+
p1 = mp.Process(target=counter).start()
98+
p2 = mp.Process(target=counter).start()
99+
p3 = mp.Process(target=counter).start()
100+
p4 = mp.Process(target=counter).start()
101+
p5 = mp.Process(target=counter).start()
102+
p6 = mp.Process(target=counter).start()
103+
p7 = mp.Process(target=counter).start()
104+
p8 = mp.Process(target=counter).start()
105+
p9 = mp.Process(target=counter).start()
106+
p10 = mp.Process(target=counter).start()
107+
p11 = mp.Process(target=counter).start()
108+
p12 = mp.Process(target=counter).start()
109+
p13 = mp.Process(target=counter).start()
110+
p14 = mp.Process(target=counter).start()
111+
p15 = mp.Process(target=counter).start()
112+
p16 = mp.Process(target=counter).start()
113+
p17 = mp.Process(target=counter).start()
114+
p18 = mp.Process(target=counter).start()
115+
else:
116+
pass
117+
118+
# Start timer
119+
startTimer = time.perf_counter()
120+
startTimer2 = time.process_time()
121+
122+
# Start prime counter
123+
multiPrimeCounting(numOfCores, countTo)
124+
125+
endTimer = time.perf_counter()
126+
endTimer2 = time.process_time()
127+
128+
print(f"Task Finished In Performance: {endTimer - startTimer:0.8f}s\nTask Finished In Process/CPU/Kernel + User Space: {endTimer2 - startTimer2:0.8f}s")

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,8 @@ IDE Links:
4343
- This adds more complex tasks/algorithms
4444
- Wave Function
4545
- Prime Counter
46+
47+
# Multiprocessing
48+
- This uses current tests in PyPC and uses multiprocessing to max out your CPU to test how fast your computer can process a task under heavy load
49+
- Merge Sorting
50+
- Prime Counting

0 commit comments

Comments
 (0)