python sharedctypes 多进程性能测试
【摘要】 经过测试,没有比numpy快。
# !/usr/bin/env python# -*- coding: utf-8 -*-import ctypesimport multiprocessingimport randomimport timeimport osfrom multiprocessing import sharedctypes import numpy as n...
经过测试,没有比numpy快。
-
-
# !/usr/bin/env python
-
# -*- coding: utf-8 -*-
-
import ctypes
-
import multiprocessing
-
import random
-
import time
-
import os
-
from multiprocessing import sharedctypes
-
-
import numpy as np
-
-
import cv2
-
-
-
def make_array(shape=(1,), dtype=np.uint8, shared=False, fill_val=None):
-
start = time.time()
-
np_type_to_ctype = {np.float32: ctypes.c_float,
-
np.float64: ctypes.c_double,
-
np.bool: ctypes.c_bool,
-
np.dtype('uint8'): ctypes.c_ubyte,
-
np.uint8: ctypes.c_ubyte,
-
np.uint64: ctypes.c_ulonglong}
-
-
if not shared:
-
np_arr = np.empty(shape, dtype=dtype)
-
else:
-
numel = int(np.prod(shape))
-
arr_ctypes = sharedctypes.RawArray(np_type_to_ctype[dtype], numel)
-
np_arr = np.frombuffer(arr_ctypes, dtype=dtype, count=num
文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jacke121/article/details/88930459
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)