首先写一个 python 代码,看看 PIL 库能不能利用多个 CPU 核心
ndarray_2_image.py
from PIL import Image
import numpy as np
import os
import time
img_path = 'resources/images/std.jpg' # 图片文件夹路径
_image = np.array(Image.open(img_path))
s=time.time()
for _ in range(10000000):
image = Image.fromarray(_image)
e=time.time()
print(e-s)
可以从 htop 中看到,PIL 库并不能利用多核 CPU
格式转换速度测试:
测试平台1:Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz
测试平台2:macbook pro Apple Silicon M1
平台 | 循环次数 | 耗时(秒) |
---|---|---|
E5-2690 | 100 | 0.066 |
E5-2690 | 1000 | 0.652 |
E5-2690 | 10000 | 6.49 |
Apple Silicon M1 | 100 | 0.0919 |
Apple Silicon M1 | 1000 | 0.736 |
Apple Silicon M1 | 10000 | 5.878 |