小编rnd*_*nch的帖子

python从浮点元组列表中构建交流数组的最快方法是什么?

上下文:我的Python代码将2D顶点数组传递给OpenGL.

我测试了两种方法,一种是ctypes,另一种是结构,后者是两倍以上.

from random import random
points = [(random(), random()) for _ in xrange(1000)]

from ctypes import c_float
def array_ctypes(points):
    n = len(points)
    return n, (c_float*(2*n))(*[u for point in points for u in point])

from struct import pack
def array_struct(points):
    n = len(points)
    return n, pack("f"*2*n, *[u for point in points for u in point])
Run Code Online (Sandbox Code Playgroud)

还有其他选择吗?有关如何加速此类代码的任何提示(是的,这是我的代码的一个瓶颈)?

python ctypes pyopengl

6
推荐指数
1
解决办法
1234
查看次数

标签 统计

ctypes ×1

pyopengl ×1

python ×1