You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							33 lines
						
					
					
						
							771 B
						
					
					
				
			
		
		
	
	
							33 lines
						
					
					
						
							771 B
						
					
					
				| #!/usr/bin/env python3
 | |
| import os
 | |
| import numpy as np
 | |
| from common.realtime import sec_since_boot
 | |
| from multiprocessing import Process
 | |
| from setproctitle import setproctitle  # pylint: disable=no-name-in-module
 | |
| 
 | |
| def waste(core):
 | |
|   os.sched_setaffinity(0, [core,])
 | |
| 
 | |
|   m1 = np.zeros((200, 200)) + 0.8
 | |
|   m2 = np.zeros((200, 200)) + 1.2
 | |
| 
 | |
|   i = 1
 | |
|   st = sec_since_boot()
 | |
|   j = 0
 | |
|   while 1:
 | |
|     if (i % 100) == 0:
 | |
|       setproctitle("%3d: %8d" % (core, i))
 | |
|       lt = sec_since_boot()
 | |
|       print("%3d: %8d %f  %.2f" % (core, i, lt-st, j))
 | |
|       st = lt
 | |
|     i += 1
 | |
|     j = np.sum(np.matmul(m1, m2))
 | |
| 
 | |
| def main(gctx=None):
 | |
|   print("1-2 seconds is baseline")
 | |
|   for i in range(os.cpu_count()):
 | |
|     p = Process(target=waste, args=(i,))
 | |
|     p.start()
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|   main()
 | |
| 
 |