python sharedctypes 多进程性能测试

举报
风吹稻花香 发表于 2021/06/04 23:47:37 2021/06/04
【摘要】 经过测试,没有比numpy快。 # !/usr/bin/env python# -*- coding: utf-8 -*-import ctypesimport multiprocessingimport randomimport timeimport osfrom multiprocessing import sharedctypes import numpy as n...

经过测试,没有比numpy快。


  
  1. # !/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import ctypes
  4. import multiprocessing
  5. import random
  6. import time
  7. import os
  8. from multiprocessing import sharedctypes
  9. import numpy as np
  10. import cv2
  11. def make_array(shape=(1,), dtype=np.uint8, shared=False, fill_val=None):
  12. start = time.time()
  13. np_type_to_ctype = {np.float32: ctypes.c_float,
  14. np.float64: ctypes.c_double,
  15. np.bool: ctypes.c_bool,
  16. np.dtype('uint8'): ctypes.c_ubyte,
  17. np.uint8: ctypes.c_ubyte,
  18. np.uint64: ctypes.c_ulonglong}
  19. if not shared:
  20. np_arr = np.empty(shape, dtype=dtype)
  21. else:
  22. numel = int(np.prod(shape))
  23. arr_ctypes = sharedctypes.RawArray(np_type_to_ctype[dtype], numel)
  24. np_arr = np.frombuffer(arr_ctypes, dtype=dtype, count=num

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/88930459

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。