由买买提看人间百态

topics

全部话题 - 话题: cpython
1 2 下页 末页 (共2页)
l*********8
发帖数: 4642
1
来自主题: Programming版 - 使用CPython要避免多线程?
http://wiki.python.org/moin/GlobalInterpreterLock
上面说CPython用的GIL degrades performance.
所以我们使用CPython要避免多线程?
x***u
发帖数: 297
2
帮你一下:
cpython:是用C语言实现的python,也就是大家习惯上称的python
julia:是完全不同的编程语言
cython:自称C extension for python,简单讲就是在python里写C的语句(实际上要
比这个复杂一点)
pypy:是用 python实现的python(所以叫pypy),但是很多已有的Cpython的package
不能用。
numba:可以看作是python的JIT,缺点跟pypy一样,很多package不能用。


: 麻烦把这几个名词搞清楚

l*********8
发帖数: 4642
3
来自主题: Programming版 - 使用CPython要避免多线程?
Thanks!
And GIL is still there in CPython 3.1. I hope the problem will be solved
soon.
p**o
发帖数: 3409
4
来自主题: Programming版 - 使用CPython要避免多线程?
GIL in CPython is likely to exist forever.
积重难返
L***s
发帖数: 1148
5
object models, metaclass, decorators, enhanced generators / coroutines
threading models, GIL, asyncio & alternative async libs like gevent/twisted
writing C/C++ extensions
writing 2/3 compatible Python code
(for web developers) familiar with django, flask, twisted or tornado
implementation of dict, OrderedDict, deque, etc. in CPython & implications
memory management & fragmentation prevention in CPython
PVM internals and optimization, opcodes and AST hacking
alternative implementations like PyPy... 阅读全帖
V*********r
发帖数: 666
6
Ruby 不清楚。Python 的确是 implementation-based 的,based on CPython, the
reference implementation. Python language reference 和 library reference 里
到处用红字写着 "CPython implementation details," 到处都是 C 语言的影子,更别
提 C-API 这个万能胶层了。
至于 Jython 和 PyPy 是怎么做出来的,当然是参考 CPython 源代码做的,他们的开
发者同时也是 core (C-)Python developers.
草根语言就是这样。
p**o
发帖数: 3409
7
来自主题: Programming版 - mutating input argument不应该鼓励吧

如果你嫌copy有开销,自己定制一个又不是难事:
def dict_equal_except (dict_a, dict_b, except_key):
assert except_key in dict_a
if len(dict_a) != len(dict_b) + 1:
return False
for key, aval in dict_a.iteritems():
if key != except_key and (key not in dict_b
or dict_b[key] != aval):
retur False
return True
但CPython循环一般比C慢2-3个数量级,dict不大时还不如直接copy。
参考 CPython 实现:
http://hg.python.org/cpython/file/2.7/Objects/dictobject.c
static int
dict_equal(P... 阅读全帖
L***s
发帖数: 1148
8
来自主题: JobHunting版 - 三星STA电面
TCP那题没答对。JVM gc,我说不懂JVM,但比较熟悉CPython实现,你要不要听,他说
ok,我就扯了一通CPython gc算法。其他简单题都没问题。
z****e
发帖数: 54598
9
来自主题: Programming版 - 大家难道全是半路出家?
老大,我服了你了
如果你要这么说的话
scala还不是一样可以用grails?
当然我们要用就用同一套东西咯
不同的东西本身之间的兼容性怎样这都没有经过考验的
我不信神的,你在我面前装神弄鬼没有用
可以用是一回事,但是你也不知道你用了之后会有什么问题
这都是没有经过检验的,编程就跟打战一样
你总能遇到一些你事先没有想到的情况
还未必有办法解决
你说的这个,你直接上cpython和ruby不就好了?
非得扯上一个jvm,你觉得很好玩吗?
就算你扯上了,首先结构就很混乱,本身django和rails就是为了web而生的
你压根不需要这个jvm
而你扯上这个jvm只不过是为了用上jvm上的各种工具而已
那一般是这样,如果你的front end和back end不分
那这种多半就是web server了,那你不需要jvm,直接上cpythong和ruby
如果你分了,那更没有必要上jvm了
直接cpython和ruby写front end
然后跟back end做整合就好了
这样可以让不同语言的程序猿写不同的tiers,而且可以划成不同的组
反正你说的这个我是没见过谁吃饱了用这种方式去搞的
z****e
发帖数: 54598
10
我这两天在看vert.x用的各种脚本引擎
比如jruby, jython还有rhino这些
感觉最强烈的一点就是
这些脚本语言,在讨论他们类似why jython rather than cpython的时候
都明确说,用了jvm的gc
也就是说jvm的gc机制比这些语言搞的,那是要强到不知道哪里去了
我相信能做出cpython这种东西的人是大牛
如果这些专业人士做出来的gc都不如jvm的gc
我更没有理由去相信其他人了能写出更好的gc机制了
我现在大概理解为什么hotspot2012曾经说过
其他语言的gc,优化好了,也就是比jvm慢几倍而已
甚至比jvm慢两倍都做不到
关于优化的话,静态类型是必须的,v8对于js的优化
做到极致,再往后,不静态不行啊
z****e
发帖数: 54598
11
来自主题: Programming版 - 有一点我不同意公孙大神说的
就是python党对于ruby的批判
就我所见,python党毫无vision
显然ruby得到了red hat, sap, ibm还有整个日本国的支持
在企业应用上ruby绝对比python受宠
日本人尤其喜欢ruby,这个没啥可说的
只有刚毕业的小p孩,还在学习阶段,喜欢用python
因为上手快,但是白人,尤其是工作多年的白人
喜欢用ruby,因为有挑战性
相比之下,python连个google都支持得变扭要命
说什么google支持python就是巨大的扯淡
实际上从jvm上的impl来看,jruby也远比jython有生命力
jruby跟cruby的差距大概是0.2-个版本左右
现在支持到1.9.3,cruby大概是2.1.x左右,而且2.0支持版本也放出了beta版
很快就要出2.0的支持版本了
jython跟cpython的差距则是在0.5+个左右的版本
现在支持到2.5.x,cpython都3.3都有了,不过好在python本身3.x是一个闹剧
所以支持慢一点反而是好事
jruby背后是东京大学,就是亚洲第一那个东京大学
jvm上很多东西都是系出名门,sun就是斯坦福大... 阅读全帖
z****e
发帖数: 54598
12
来自主题: Programming版 - 关于各种语言应该这么理解
无论是scala还是clojure,我觉得看的人都会很不爽的
fp本身不直观,比较抽象和学术化,不是所有人都能接受的
这学期学校开了一门fp的课,选的不超过10个人
无奈取消了
动态类型对程序员要求很低,但是机器执行起来非常痛苦
基本上trade off在jvm上是20-25%左右的性能折扣
也就是如果java写的代码执行效率在100分左右的话
groovy,js,jruby,jython这些,大概得分在75-80分左右
cruby和cpython就更糟糕了
jruby在1.0以后的版本,执行效率就比cruby快40%左右
其中20%是jvm带来的,还有20%是其自身用了一个dynamic什么叉叉机制所带来的
但是比起java还是差20%左右,可想而知cruby有多慢了
python也差不多,除了pypy用了jit会好一点外
其实cpython的虚拟机跟jvm不在一个档次上
目前跟jvm效率最接近的是clr,但是clr最大问题在于,不跨平台
这个没办法,dartvm其实也有类似问题,最后估计还是要靠jvm
这个可以回答为什么王垠做的那个开源项目用java写的原因
王某人还是有点小聪明的... 阅读全帖
t**r
发帖数: 3428
13
来自主题: Programming版 - python Global Lock
coworker told me cpython global lock makes it has no real multi-threading.
thread can be blocked by another thread.
so it is fake multi-thread if you r using cpython.solution is jpython.
weird design. Guido...
V*********r
发帖数: 666
14
来自主题: Programming版 - 求教python问题,在线等 (转载)

恰恰相反,Python赋值和“传参”,在Python语言层面,都是纯粹地传引用,不是传值;
在CPython实现中,其实是传(二级)指针,只不过指针的概念没有往上暴露给Python。
比如这段python代码,a-->b传参时,传给b的就是a这个符号所指示的那个对象的引用。
def modify(b):
b[1] = 9

a = [0,1]
modify(a)
print(a[1]) # output 9
Python“传参”其实就是赋值,完完全全地等效。上述代码等效于:

a = [0,1]
b = a
b[1] = 9
print(a[1]) # output 9
第一段Python代码的大致等效的C语言代码如下:
#include
void modify(void *b) {
int **c = (int **) b;
(*c)[1] = 9;
}
int main()
{
int *a = malloc(2 * sizeof(int));
a[0] = 0;
a[1] = 1;
modi... 阅读全帖
m***r
发帖数: 359
15
来自主题: Programming版 - Python日报 2015年2月楼
Python日报 2015-02-14
@好东西传送门 出品, 过刊见
http://py.memect.com
订阅:给 [email protected]
/* */ 发封空信, 标题: 订阅Python日报
更好看的HTML版
http://py.memect.com/archive/2015-02-14/short.html
1) 【python和perl的生物信息学应用库】 by @biostack
关键词:库, 代码, 生物
先前分享了许多python 的生物信息学应用库,比如: JCVI [1] , bcbio-nextgen [2
] 现在给出几个Perl 的生物信息学应用Github帐号BioInf-Wuerzburg [3] sesbio [4]
[1] https://github.com/tanghaibao/jcvi
[2] https://github.com/chapmanb/bcbio-nextgen
[3] https://github.com/BioInf-Wuerzburg
[4] https://github.com/sestaton... 阅读全帖
m***r
发帖数: 359
16
来自主题: Programming版 - Python日报 2015年2月楼
Python日报 2015-02-23
@好东西传送门 出品, 过刊见
http://py.memect.com
订阅:给 [email protected]
/* */ 发封空信, 标题: 订阅Python日报
更好看的HTML版
http://py.memect.com/archive/2015-02-23/short.html
1) 【一个基于Python的Nearest Neighbors Search库】 by @路遥_机器学习
关键词:数据科学, 博客, 代码, 机器学习
一个基于Python的Nearest Neighbors Search库 [1] 。博文介绍 [2] 。另外基于这个
库的一个推荐系统 [3] ,将作为一个demo presentation在WWW上出现。作者是剑桥的
博士后 @唧唧歪歪de计算机博士
[1] https://github.com/ryanrhymes/panns
[2] http://ryanrhymes.blogspot.fi/2015/02/about-panns-naive-tool-for-approximate.h... 阅读全帖
m***r
发帖数: 359
17
来自主题: Programming版 - Python日报 2015年2月楼
Python日报 2015-02-23
@好东西传送门 出品, 过刊见
http://py.memect.com
订阅:给 [email protected]
/* */ 发封空信, 标题: 订阅Python日报
更好看的HTML版
http://py.memect.com/archive/2015-02-23/short.html
1) 【一个基于Python的Nearest Neighbors Search库】 by @路遥_机器学习
关键词:数据科学, 博客, 代码, 机器学习
一个基于Python的Nearest Neighbors Search库 [1] 。博文介绍 [2] 。另外基于这个
库的一个推荐系统 [3] ,将作为一个demo presentation在WWW上出现。作者是剑桥的
博士后 @唧唧歪歪de计算机博士
[1] https://github.com/ryanrhymes/panns
[2] http://ryanrhymes.blogspot.fi/2015/02/about-panns-naive-tool-for-approximate.h... 阅读全帖
z****e
发帖数: 54598
18
来自主题: Programming版 - 有人上Spark用python API的么
那个就是cpython吧,那个慢正常,我们读书时候做作业
40m都经常搞死电脑,要算几十分钟的很多
我记得hadoop都已经放弃cpython,改成jython了
pypy也许好点

spark
d******c
发帖数: 2407
19
来自主题: Programming版 - 最近在看《python源码剖析》
中国程序员有这种钻底层觉得更高深的风气,另外没功夫钻底层的对号称钻底层的就更
崇拜一些。
以前动不动就windows底层,dos内核剖析,还有linux源码剖析之类。把功夫花在
windows,dos内核上,有多少用处?当初一代人都崇拜windows,什么都是跟着微软走
,现在呢?
从几个书评来看,这本书诚意有,水平一般,很多地方就是抄注释,真正的重点不一定
看明白了。
另外要研究python从cpython下手不是什么好选择,pypy现在正处在临近取代cpython的
阶段,一旦能完全取代就能突破GIL,而且pypy涉及的东西对其他语言,其他平台可以
学到的东西多的多,比去钻研一个特定C实现有意义的多。
d******c
发帖数: 2407
20
来自主题: Programming版 - 最近在看《python源码剖析》
我不觉得看书不如看源码,有很多好书,学习效率是很高的
比如这本
Fluent Python: Clear, Concise, and Effective Programming
讲了很多高级技巧。对于一般人来说,我觉得看cpython源码能学到的东西实在不多。
底层是有无数细节,但是很多和你实际使用距离太远,中间层次太多,你又不可能了解
全部,最后能吸收的东西很有限,还可能片面(只是cpython的具体细节,未必适合其
他场合)
真要你说的自创体系的牛人,那也应该自己读源码,不用看别人读源码的书吧,而且据
说这人水平不算很高(没时间做更多验证,仅仅从书评上判断)。
g****t
发帖数: 31659
21
来自主题: Programming版 - 最近在看《python源码剖析》
我已经完成后结构主义转型了。只愿了解小问题如何从虚空出现。


: 中国程序员有这种钻底层觉得更高深的风气,另外没功夫钻底层的对号称钻底层
的就更

: 崇拜一些。

: 以前动不动就windows底层,dos内核剖析,还有linux源码剖析之类。把功夫花在

: windows,dos内核上,有多少用处?当初一代人都崇拜windows,什么都是跟着
微软走

: ,现在呢?

: 从几个书评来看,这本书诚意有,水平一般,很多地方就是抄注释,真正的重点
不一定

: 看明白了。

: 另外要研究python从cpython下手不是什么好选择,pypy现在正处在临近取代
cpython的

: 阶段,一旦能完全取代就能突破GIL,而且pypy涉及的东西对其他语言,其他平
台可以

: 学到的东西多的多,比去钻研一个特定C实现有意义的多。

z*******3
发帖数: 13709
22
来自主题: DataSciences版 - ds要刷leecode吗,
那这个你要涉及到造轮子还是用轮子的老话题了
象jvm,cpython这种轮子如果自己去造
那就非常麻烦了,但是如果不造
cpython真的是很慢,下放生产,效率会出问题
但是如果用jvm的话,python要搞jython,那就更麻烦了
python只能是一种妥协的处理,临时用完就不用了
scala写个data frame可以实现啊,可以自定义各种东西
你了解一下就是了
z*******3
发帖数: 13709
23
来自主题: DataSciences版 - ds要刷leecode吗,
那这个你要涉及到造轮子还是用轮子的老话题了
象jvm,cpython这种轮子如果自己去造
那就非常麻烦了,但是如果不造
cpython真的是很慢,下放生产,效率会出问题
但是如果用jvm的话,python要搞jython,那就更麻烦了
python只能是一种妥协的处理,临时用完就不用了
scala写个data frame可以实现啊,可以自定义各种东西
你了解一下就是了
h*******u
发帖数: 15326
24
threading不是问题
cpython支持不好但是jython. iron python可以。
你可以用process代替.一般multi processing memory sharing不多。
h*******u
发帖数: 15326
25
python threading不行本身就是伪命题
早告诉你了不行只有cpython不行,jpython 和iron python没有问题。本身就是解释器
实现问题,跟python语言有鸟毛关系呀
你什么都不懂瞎嗷嗷
h*******u
发帖数: 15326
26
threading不是问题
cpython支持不好但是jython. iron python可以。
你可以用process代替.一般multi processing memory sharing不多。
h*******u
发帖数: 15326
27
python threading不行本身就是伪命题
早告诉你了不行只有cpython不行,jpython 和iron python没有问题。本身就是解释器
实现问题,跟python语言有鸟毛关系呀
你什么都不懂瞎嗷嗷
L***s
发帖数: 1148
28
来自主题: JobHunting版 - 面试全用python行不?
一开始就没学C++和Java,因为审美的原因,本能比较抗拒……
现在已经对python相当熟了。近两年写了两三万行代码,
95%都是python,其余大都是是C扩展,做性能优化用的。
我尽量按写库的要求来写pythonic的代码,比较抗拒写
那些用完一次就扔的脚本。
C基础还算比较扎实,对CPython虚拟机的实现有一定了解,
python核心数据结构我也大都自己用C轮过一遍。
我这样的情况去面试是不是会吃亏?有哪些公司比较适合我?
p**o
发帖数: 3409
29
来自主题: JobHunting版 - LinkedIn面经(已跪),攒个rp
http://hg.python.org/cpython/file/2.7/Lib/heapq.py
参考python标准库的nlargest()算法(第221行),
就是用一个大小为n的min-heap;
同理,nsmallest()应该用max-heap来求。
p**o
发帖数: 3409
30
来自主题: JobHunting版 - LinkedIn面经(已跪),攒个rp
http://hg.python.org/cpython/file/2.7/Lib/heapq.py
参考python标准库的nlargest()算法(第221行),
就是用一个大小为n的min-heap;
同理,nsmallest()应该用max-heap来求。
k***r
发帖数: 4260
31
来自主题: BuildingWeb版 - 有用ironpython的吗?
why not cpython of jython ah
d********g
发帖数: 10550
32
来自主题: BuildingWeb版 - Ruby and Python
快慢和解释器实现质量有关,CPython和Ruby都没有JIT,加上Ruby积累还不够。如果是
像Java那样社区+大公司强力推广,速度问题很快就能解决
x****o
发帖数: 21566
33
来自主题: CS版 - 中文变态编程语言 (ZT)
中文Basic
中文指令 对应于的Applesoft BASIC
10 卜=0 10 Y=0
20 入 水, 火 20 INPUT E, F
30 從 日 = 水 到 火 30 FOR A = E TO F
40 卜 = 卜+對數(日) 40 Y = Y + LOG (A)
50 下一 日 50 NEXT A
60 印 卜 60 PRINT Y
官网无法访问了,只能看看Wikipedia了:http://en.wikipedia.org/wiki/Chinese_BASIC
中蟒语言(中文Python)
下面的程序是不是很Cool?
#!/usr/local/bin/cpython
回答 = 读入(‘你认为中文程式语言有存在价值吗 ? (有/没有)’)
如 回答 == ‘有’:
写 ‘好吧, 让我们一起努力!’
不然 回答 == ‘没有’:
写 ‘好吧,中文并没有作为程式语言的价值.’
否则:
写 ‘请认真考虑后再回答.’官网:http://www.chinesepython.org/
G*****7
发帖数: 1759
34
来自主题: Hardware版 - 中文域名批准了。。。吼吼
http://en.wikipedia.org/wiki/ChinesePython
#!/usr/local/bin/cpython
回答 = 读入('你认为中文程式语言有存在价值吗 ? (有/没有)')
如 回答 == '有':
写 '好吧, 让我们一起努力!'
不然 回答 == '没有':
写 '好吧,中文并没有作为程式语言的价值.'
否则:
写 '请认真考虑后再回答.'
z****e
发帖数: 54598
35
来自主题: Java版 - Java 做网站
node.js用了v8
mongodb用自己的引擎
hadoop用jvm
python估计是cpython
用了四个引擎,所使用的资源会更多
而且四个产品互相之间几乎隔绝
要是我就直接vert.x用来替换node.js
用hbase替换mongodb
用stanford nlp替换nlp
这样只需要一个jvm引擎,所有问题都搞定了
而且hbase和hadoop本身有大量的优化举措
最新版的spark支持python,速度就更快了
S*A
发帖数: 7142
36
来自主题: Linux版 - Google go 还挺不错的

哦,我的程序是单线程的,所以不太关心这个。再说我
本来就不指望 Python 跑得快,还是写得快最重要。
我不喜欢 ctypes. cpython 好像就是普通的 python, 除非你另外
有所指。 我要是用 C 的话还不如直接写个 C module 呢。中间
还少经过一层东西。编译链接进 python 也容易,不用自己搞
dynamic lib loading, 直接 import 进来用就行了。最爽的是
还可以 reload().
F*******i
发帖数: 190
37
来自主题: Linux版 - Google go 还挺不错的
thats true :)
I mean, cython, not cpython, it may be used for fast prototyping
while main ok speed.
S*A
发帖数: 7142
38
来自主题: Linux版 - Google go 还挺不错的
喔,我土,看成 cpython 了,多谢分享,book mark 了。
看上去还成,应该有些地方能够用上。
这就是隔着 python 写 C, 隔靴挠痒,哈哈。
r****t
发帖数: 10904
39
来自主题: Linux版 - Google go 还挺不错的
cython != cpython
r****t
发帖数: 10904
40
来自主题: Linux版 - Google go 还挺不错的
你这个比较是比的 static typed vs. duck typed,并且从实现上说明 cpython 的
duck
typing 需要更多指令。这个例子不能说明 dynamic typed 不能和 strong typed 同时
真,
这是两个话题。
对前一个话题,参见 rpython,
对后一个话题,我意思是 1+'2' raises TypeError. python 里面变量名和 c 里面变
量是个
很不同的概念,更接近 (Type*) void*, 不好比较的。
F*******i
发帖数: 190
41
来自主题: Linux版 - python c/c++ question.
Sorry can not input chinse.
Play with cython and looks like it can mix c/c++/python quite well.
For example, the xxx.so file generated by g++ could be import by python
flawlessly.
I am wondering whether it is because Cpython implementation always put
the extern "C" to its source, so that the name mangling could be correct
even if mixed with c++?
thanks!
r****t
发帖数: 10904
42
来自主题: Programming版 - 刚开始看python
You are welcome to look into python. :)
There's multithreading, but you cannot utilize multi-core using one process,
no matter how many threads you have, because of GIL problem.
One has to look somewhere else if you are to use default CPython, like
processing module, or IPython1 to get parallelized map() operations.
Or use mpipython etc etc...
r****t
发帖数: 10904
43
来自主题: Programming版 - How to use multi-core to speed Python program
不一定直接就要用到 parallel python, 我不知道 parallel python 现在发展怎么样
没法说。
但是在标准的 CPython 里面也可以用 threading interface 来使用 multi-core, 办
法就是用 processing module, 这个 module 会进入 python2.6, 它提供 python
threading module 的语法,底层使用 process 来 utilize multiple CPUs. 如果你的
code 不仅仅是你自己用的话,最好使用这个。
threading method 因为没法 scale to multiple CPUs across machines, with GIL
的原因,在 python world 里面没有得到采用。 python answer 是使用进程。使用进
程来 parallel 的有 IPython1 + mpi
r****t
发帖数: 10904
44
来自主题: Programming版 - python gc question
It is the strings that're referenced by the list that are taking up the
memory, not the lists themselves.
我给你 copy 一段:http://effbot.org/pyfaq/why-doesnt-python-release-the-memory-when-i-delete-a-large-object.htm
“Exactly if and when Python’s allocator returns memory to the C runtime,
and when the C runtime returns memory to the operating system, depends on a
lot of parameters, including Python and library versions, your application’
s object allocation patterns, and so on. For example, CPython 2
p**o
发帖数: 3409
45
来自主题: Programming版 - 小孩子学哪种编程语言比较好?
我最初碰的是GW-Basic,写一些关于计算的小程序,比如用蔡勒公式算星期几之类。
当时没机器,都是写在本子上的,这些本子现在还珍藏着,
很多代码现在一看就是bugs遍地,通不过编译器的。:)
后来小学四年级的时候邻居小孩买了一台“裕兴普及型电脑”,
里面有个F-Basic,内置一个简单的游戏"引擎"和图标库。
我把手册借来,天天睡前研究(结果把眼睛看近视了…>_<…)
写了两个小游戏在本子上,后来输入机器的时候一个都没通过编译,
当时又不大懂调试,也就不了了之了……
小学五年级的时候常常去蹭同学家的286,把以前的GW-Basic代码全都调通了~
初中开始换Q-Basic参加竞赛;高中竞赛时换Turbo Pascal,系统训练了一下;
大学基本都在用C写任何东西,除了软工用Java。现在懒了,只靠Python干活儿。
现在小孩学编程的条件比我们以前好多了,有兴趣学什么都可以。非要选的话,
我觉得Python最适合初学者,简单、优美,很好的教学语言,同时很实用、
很强大。Python玩熟了再着重学C,然后弄懂C和Python混编,长大一些再把
CPython的编译器读通,这就精通了两门... 阅读全帖
I**********e
发帖数: 62
46
来自主题: Programming版 - Python vs J2EE
真能写。不过好像没提GIL。呵呵。
static typing, JIT什么的,Python也可以有的。GIL的问题也会解决的。
Python的变种很多,表只盯着CPython。我觉得Pypy, RRython, Cython什么的都挺有前
途的

hardware
d***q
发帖数: 1119
47
来自主题: Programming版 - 使用CPython要避免多线程?
yep...thread implementation of python 2.x sucks..so try to avoid threads.
use multi process for cpu intensive tasks
and async IO or coroutine for io tasks.
d***q
发帖数: 1119
48
来自主题: Programming版 - 使用CPython要避免多线程?

Because python use reference-counting so it would be quite hard to remove
GIL completely.
If you are really care about this issue there are two options:
1: you may try pypy & its experimental module: STM it is said that STM has
already worked with multi cores directly. However it is far away from
production usage.
2: use other implementations like Jython, IronPython or event other
languages..
W*****k
发帖数: 158
49
来自主题: Programming版 - 哪有关于python调用c的tutorial啊
循环多的地方用c写的
然后想用python调用自己定义的c函数
网上搜了半天,发现有各种各样的api
CPython,C type,swig,Cython....
但是怎么都找不到一个比较简单明了的tutorial
哪位大侠帮一下菜鸟?
1 2 下页 末页 (共2页)