Python论坛  - 讨论区

标题:Re: [python-chinese] 关于python的缺点问题

2005年04月28日 星期四 13:33

Carambo qutr at tjub.com.cn
Thu Apr 28 13:33:58 HKT 2005

Leslie Huyan£¬ÄãºÃ
̸̸µÚÈýµã£¬
    ÎÒ×î½üдÁËÒ»¸öÍø¹ØÊÕ·¢ÐÅÏ¢µÄ³ÌÐò£¬ÆðÁËÁ½¸öỊ̈߳¨ÊÕỊ̈߳¬·¢Ị̈߳©ÓÉÓÚµ÷ÓÃÁËÒ»¸ödllÖеÄÒ»¸ö·½·¨£¬Èç¹ûûÓÐÐÅÏ¢µÄʱºò£¬ÊÕÏß³ÌÒ»Ö±Ôڵȴý£¬Õâʱºò·¢Ïß³ÌÆô¶¯²»ÁË¡£¶øÇÒÕû¸ö³ÌÐòºÜÂý¡£ºÃ³¤Ê±¼ä²»µÃÆä½â£¬×îºóÎÒµÄÀí½âÊÇÕâÑù£¬ÎÒ³ÌÐòÖеÄÊÕÏß³ÌÓÉÓڵȴý£¬Ã»ÓнáÊø¡£È«¾Ö½âÊÍÆ÷ËøûÓÐÊͷŸÃÏ̡߳£ËùÒÔ·¢Ïß³ÌһֱûÓÐÆðÀ´¡£×îºó·Ö¿ªÐ´½â¾öÁËÎÊÌâ¡£

Carambo £¬ qutr at tjub.com.cn 
2005-4-28 
----- ÊÕµ½ÒÔÏÂÀ´ÐÅÄÚÈÝ ----- 
·¢¼þÈË: Leslie Huyan 
ÊÕ¼þÈË: python-chinese 
ʱ  ¼ä: 2005-04-28, 12:02:12
Ö÷  Ìâ: [python-chinese] ¹ØÓÚpythonµÄȱµãÎÊÌâ


Hi:
   关于python有一个瓶颈问题, 它不能支持多cpu的问题ã€?大家是否可以讨论一 
下。还有线程支持也不太å¥?
在线程数目多时会有阻塞ã€?另正则表达式也不够快ã€?br>    当然python的好处不必多说, 对于这些缺点问题是否有解决的或可以替代的办法ã€?br>    1:据我所知, 因为全局解释器锁的缘故(之一), 不能在一个进程里支持å¤?
cpuã€?当然有一种直接的办法ã€?br>         是对每个cpu, 之少启动一个单独的进程ã€?br>         这种方式谁有试过ï¼?可否谈谈ï¼?br>    2:正则表达式已经改进了不少, 但还是不够快
   3ï¼?在对它的多线程使用上ï¼?是否可以谈谈经验ï¼?br> 
Leslie

   
_______________________________________________
python-chinese list
python-chinese at lists.python.cn
http://python.cn/mailman/listinfo/python-chinese
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050428/51b4f00f/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年04月29日 星期五 11:33

梅劲松  stephen.cn at gmail.com
Fri Apr 29 11:33:49 HKT 2005

我的看法,不一定正确。
1、多cpu的支持,这个和操作系统对线程和进程的处理有关系。对于一个线程,据我了解只会分配一个cpu时间去运行。在python中使用上下文切换的方式工作,好象不存在多cpu的问题。
2、正则表达式的速度和你的书写方法有很大关系,也有很多时候没有必要使用正则表达式,有好的解决问题的思路才是重要的。
3、多线程使用上下文切换来工作,有比较好的效率。这个有很多python的例子可以供参考。如果多线程不能满足你的效率要求,你或者可以考虑多进程,和使用比较优秀的分布式系统结构。比如使用socket来分布处理你的业务请求。

2005/4/28, Carambo <qutr at tjub.com.cn>:
> Leslie Huyan,你好
> 谈谈第三点,
>    
> 我最近写了一个网关收发信息的程序,起了两个线程(收线程,发线程)由于调用了一个dll中的一个方法,如果没有信息的时候,收线程一直在等待,这时候发线程启动不了。而且整个程序很慢。好长时间不得其解,最后我的理解是这样,我程序中的收线程由于等待,没有结束。全局解释器锁没有释放该线程。所以发线程一直没有起来。最后分开写解决了问题。
>  
> Carambo, qutr at tjub.com.cn
> 2005-4-28 
> ----- 收到以下来信内容 ----- 
> 发件人: Leslie Huyan 
> 收件人: python-chinese 
> 时  间: 2005-04-28, 12:02:12
> 主  题: [python-chinese] 关于python的缺点问题
> 
> 
> 
> Hi:
>    鍏充簬python鏈変竴涓摱棰堥棶棰橈紝 瀹冧笉鑳芥敮鎸佸cpu鐨勯棶棰樸€?澶у鏄惁鍙互璁ㄨ涓€ 
> 涓嬨€傝繕鏈夌嚎绋嬫敮鎸佷篃涓嶅お濂?
> 鍦ㄧ嚎绋嬫暟鐩鏃朵細鏈夐樆濉炪€?鍙︽鍒欒〃杈惧紡涔熶笉澶熷揩銆?br>   
> 褰撶劧python鐨勫ソ澶勪笉蹇呭璇达紝
> 瀵逛簬杩欎簺缂虹偣闂鏄惁鏈夎В鍐崇殑鎴栧彲浠ユ浛浠g殑鍔炴硶銆?br>    1锛氭嵁鎴戞墍鐭ワ紝
> 鍥犱负鍏ㄥ眬瑙i噴鍣ㄩ攣鐨勭紭鏁咃紙涔嬩竴锛夛紝 涓嶈兘鍦ㄤ竴涓繘绋嬮噷鏀寔澶?
> cpu銆?褰撶劧鏈変竴绉嶇洿鎺ョ殑鍔炴硶銆?br>         鏄姣忎釜cpu, 涔嬪皯鍚姩涓€涓崟鐙殑杩涚▼銆?br>        
> 杩欑鏂瑰紡璋佹湁璇曡繃锛?鍙惁璋堣皥锛?br>    2锛氭鍒欒〃杈惧紡宸茬粡鏀硅繘浜嗕笉灏戯紝
> 浣嗚繕鏄笉澶熷揩
>    3锛?鍦ㄥ瀹冪殑澶氱嚎绋嬩娇鐢ㄤ笂锛?鏄惁鍙互璋堣皥缁忛獙锛?br> 
> Leslie
> 
>    
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
> 


-- 
梅劲松

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年04月29日 星期五 22:46

Qiangning Hong hongqn at gmail.com
Fri Apr 29 22:46:19 HKT 2005

On 4/29/05, 梅劲松 <stephen.cn at gmail.com> wrote:
> 
> 我的看法,不一定正确。
> 
> 1、多cpu的支持,这个和操作系统对线程和进程的处理有关系。对于一个线程,据我了解只会分配一个cpu时间去运行。在python中使用上下文切换的方式工作,好象不存在多cpu的问题。

[snip]

对多CPU,本来是可以让两个CPU同时运行两个线程的,但是python的GIL导致同时只允许一个线程运行,因此不能充分发挥多CPU的威力。对多CPU支持不好确实是python的一个缺点。

-- 
Qiangning Hong
Get Firefox! <
http://www.spreadfirefox.com/?q=affiliates&id=67907&t=1>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050429/924795bd/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号