tag:blogger.com,1999:blog-11788780.post5993542528726817598..comments2023-12-29T13:22:33.104-08:00Comments on JJinuxLand: PyCon: Python for Data Lovers: Explore It, Analyze It, Map Itjjinuxhttp://www.blogger.com/profile/03270879497119114175noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-11788780.post-77293850606652908432012-03-26T13:50:51.366-07:002012-03-26T13:50:51.366-07:00The correct way to handle I/O bound processing in ...The correct way to handle I/O bound processing in Python is gevent, which is not limited by the GIL. The correct way to handle CPU bound concurrency in Python is via using multiple processes.<br /><br />In Guido's keynote, he said, "OS level threads are meant for parallel IO, not for parallel computation." Use separate processes for each core. One team was using Python on a machine with 64,000 cores.<br /><br />D is a nice language, but I don't believe it's fully open source. Go is probably better. Neither one has the breadth of third-party libraries that Python has.jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-81290560455792447122012-03-25T02:23:35.958-07:002012-03-25T02:23:35.958-07:00Python (or at least, pypy) is a really nice tool f...Python (or at least, pypy) is a really nice tool for processing data.<br /><br />Unfortunately, with the GIL, its performance is abysmal, especially on large machines (aka recent desktops) with 8+ cores.<br /><br />Python really needs to get with the times. I've had to abandon it for now, in favor of D. Maybe someday I'll come back to PyPy, if it ever catches up, but I think the damage is already done.Anonymousnoreply@blogger.com