```python
import time
import timeit
from multiprocessing.pool import Pool
import os
MAX_NUM=10000000
#结论 进程池对多变量传入计算很有用 但是对调用空的函数没啥帮助
def nothing(offset):
pass
def nothing2(offset):
offset=offset+1
offset=offset*1
offset=2*offset-offset
def main1():#nothing:3.12s nothing2:3.207s
pool=Pool(os.cpu_count())
groups=[x for x in range(MAX_NUM)]
pool.map(nothing2,groups)
pool.close()
pool.join()
def main2():#nothing:2.17s nothing2:4.24s
groups = [x for x in range(MAX_NUM)]
for i in groups:
nothing2(i)
def count_spend_time(func):#不要用这种计时间的方式 本身就会浪费一些计算时间
#main1: nothing2:3.37s
start_time = time.perf_counter()
func()
end_time = time.perf_counter()
time_dif = (end_time - start_time)
second = time_dif % 60
minute = (time_dif // 60) % 60
hour = (time_dif // 60) // 60
print('spend ' + str(hour) + 'hours , ' + str(minute) + 'minutes , ' + str(second) + 'seconds')
if __name__ == '__main__':
# count_spend_time(main1)
##main1 main2 切换
t1=timeit.Timer("main1()",'from __main__ import main1,main2')
print(t1.timeit(1))