-
4 votesanswersviews
CPython中的__builtin__模块在哪里
我想获得 __builtin__ 模块的路径和源代码,我在哪里可以得到它? -
1 votesanswersviews
有可能选择clang来编译Linux上的CPython扩展吗?
所有 Headers :我想尝试使用clang为Linux上的CPython编译C扩展模块(CPython来自发行版存储库,并使用gcc构建) . distutils / setuptools支持这个吗? CPython和扩展是否由两个不同的编译器构建的事实是否重要? 谢谢 . -
0 votesanswersviews
CPython和线程模块Lock()
由于CPython具有GIL,因此不允许任何线程同时执行python代码,因此在给定进程中似乎存在线程安全性 . 那么python线程模块 Lock () 的目的是什么?即使没有线程可以同时执行, Lock () 帮助的CPython中仍然会出现哪些同步问题? -
0 votesanswersviews
使用ctypes和python并调用libc accept时的EFAULT
创建套接字时,普通的python套接字模块不支持除AF_INET之外的协议: 来自cpython socketmodule.c: a中仅支持AF_INET,AF_INET6和AF_UNIX地址系列便携式方式,但支持AF_PACKET,AF_NETLINK和AF_TIPC在Linux下 . 所以我已经开始使用ctypes手动调用正常的BSD套接字库的套接字,绑定,监听和接受来自libc的调用 .... -
281 votesanswersviews
为什么有些浮点数<整数比较慢四倍?
将浮点数与整数进行比较时,某些值对的评估时间比其他类似值的值要长得多 . 例如: >>> import timeit >>> timeit.timeit("562949953420000.7 < 562949953421000") # run 1 million times 0.5387085462592742 但是如果浮点数或整数变... -
2 votesanswersviews
Python中发现的漏洞是否被视为Jython中的漏洞?
作为Python,Jython和CPython之间的差异,我感到很困惑 . 我理解Jython是Java中的Python实现,CPython是相同的,除了它是用C实现的 . 但我真正感到困惑的是识别Python中的漏洞 . 如下面的两个 . 例如 - CVE-2016-5636 - 这里似乎无法在Jython中复制漏洞 . https://bugzilla.redhat.com/show_bu... -
4 votesanswersviews
考虑到GIL,asyncio如何不是线程安全的?
asyncio docs阅读: 大多数asyncio对象不是线程安全的 . 只有在访问事件循环之外的对象时才应该担心 . 有人可以解释这一点,或举例说明误用asyncio会导致对线程之间共享的对象进行非同步写入吗?我认为GIL意味着一次只有一个线程可以运行解释器,所以在解释器中发生的事件,比如读取和编写Python对象,在线程之间进行了简单的同步 . 上面引用的第二句听起来像是一条线索,但我不... -
1 votesanswersviews
是否可以拥有一个也是CPython模块的独立程序?
从C角度来看,我对CPython的内部结构并不是很熟悉(尽管我已经从Python端加载了它们!)但我理解了基本原理 . Python documentation说: 反过来,这个结构必须传递给模块初始化函数中的解释器 . 初始化函数必须命名为PyInit_name(),其中name是模块的名称,并且应该是模块文件中定义的唯一非静态项:PyMODINIT_FUNCPyInit_spam(无效){r... -
753 votesanswersviews
为什么Python代码在函数中运行得更快?
def main(): for i in xrange(10**8): pass main() Python中的这段代码运行(注意:时间是在Linux中的BASH中使用时间函数完成的 . ) real 0m1.841s user 0m1.828s sys 0m0.012s 但是,如果for循环没有放在函数中, for i in xrange(10**...