V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  raptor  ›  全部回复第 105 页 / 共 106 页
回复总数  2110
1 ... 97  98  99  100  101  102  103  104  105  106  
@reus
你太纠结了。
就语言层面,没有人否认JAVA比较快,就计算密集型应用来说,JAVA比C#要快50%,比python快130倍,比pypy都快10倍以上。
但是就应用来说,追究背后实现就没意义了。以pypy为例,python可以有这样一个python写的jit,JAVA也弄个来比比嘛。拿C++写的JVM是不是也算作弊。
不论gevent背后用什么,至少在python里用的时候可以不需要自己写C代码,完全是纯python代码。bash什么的,干什么事都能找到现成的可执行文件来组合实现也可以啊,只要别自己写C代码,那当然算作弊。
Javaer真是没法说啊。
gevent怎么就不算python了,用的时候又不用写一行C代码,管它后面是调用OS API还是别的C库。JAVA有现成的类似解决方案也可以拿出来比的啊。
单比语言性能有什么意义,如果要这样比,除了汇编,别的语言都不必存在了。

如上面所说,JAVA的优势在于大规模计算方面有成熟的分布式解决方案,这是企业级应用需要的。
@skywinger 大并发IO……这个真不用比了,Python现在有的是解决方案。gevent已经非常强悍了,我前一阵还测试了一下meinheld,比gevent还强,简单WSGI性能超过Nginx处理静态文件。你只管用JAVA试试好了。
2012-09-28 14:58:41 +08:00
回复了 leastchou 创建的主题 程序员 [投票]V2ex里有多少人用go?多少人用node.js?
做web的话 node.js 应该不错。虽然我个人更喜欢 python
2012-09-28 14:39:51 +08:00
回复了 Livid 创建的主题 Python Twisted 的历史
@yegle 适用于不同的场合,不好比啊。
2012-09-26 16:28:46 +08:00
回复了 Livid 创建的主题 Python Twisted 的历史
顶楼上意见。哈哈
2012-09-25 22:34:11 +08:00
回复了 kaiqiz89 创建的主题 云计算 云到底能用来干神马?
VPS只是云中的IaaS,除此之外还有PaaS和SaaS。
云的概念覆盖面还是很大的,其实包含很多内容,其中的差别有些还是蛮大的,建议关注其中具体的内容,忽略那些炒作的大概念。
2012-09-25 22:30:27 +08:00
回复了 Livid 创建的主题 Python Twisted 的历史
好吧,这么说的确有理。
异步并不是只有协程一种实现方式,Twisted和Tornado都是用回调实现的。
不过协程并不一定是语言级别的,greenlet就是一种非语言级别的协程实现。
2012-09-25 13:35:27 +08:00
回复了 Livid 创建的主题 Python Twisted 的历史
@darklowly 请教另一半
2012-09-25 13:21:26 +08:00
回复了 tonghuashuai 创建的主题 程序员 .net程序员想转型python,有啥注意事项啊
@tonghuashuai 28楼正解
@darklowly 老谭不行,错误太多,尤其是C语言的书,指针那部分
2012-09-24 18:23:13 +08:00
回复了 Livid 创建的主题 Python Twisted 的历史
顶楼明明是在说Twisted,底下评论怎么就为了线程和异步twist起来了……
其实我觉得twisted已经有点out了,因为它的异步实现还是太扭曲,用起来太痛苦,反正我是已经改用gevent了,greenlet最高。
多线程和异步这样理解应该比较简单:
多线程本质上是OS划分时间片,把CPU分时提供给各线程使用。
异步(多协程)本质上是有一个调度器,在协程进行IO操作需要等待的时候分时切换CPU。
区别就在于:
线程中你不知道OS会在什么时候切换,所以每个线程必须自己小心处理临界量,以防死锁,而且时间片划分过小,则切换成本过高,所以线程开太多性能反而会下降。
在异步的情况下,只有IO的时候会发生切换,所以实际上除了IO以外的所有操作都相当于是“原子”操作,基本不会死锁。而且因为IO操作没有那么频繁,切换成本较低,在一个进程里开非常多的协程也问题不大。
但也不是说异步就完美。
在多核时代,多线程可以充分利用CPU资源。并且线程的切换是强制的,即使某个线程有问题(比如死循环),也不至于阻塞别的线程。
异步本质上是单线程,要利用多核的话通常只能使用多进程(GO语言据说现在在搞支持多线程的方案,但据说效果不是很好),另外,如果某个协程没有IO操作,那么其它协程就会被阻塞。
总体来说,线程适合计算密集型应用,异步适合IO密集型应用。
2012-09-24 18:06:17 +08:00
回复了 tonghuashuai 创建的主题 程序员 .net程序员想转型python,有啥注意事项啊
作.net黑和python粉,我还是不说什么比较好……嘿嘿
2012-09-24 17:58:06 +08:00
回复了 Echoldman 创建的主题 iDev 求冒号对齐的方法
VIM+Tabular插件……
Tabular这货简直就是强迫症患者居家旅行必备良药: http://linuxtoy.org/archives/tabular.html
我首先想到的也是K&R,SICP和TAOCP。谭浩强就别提了……
2012-09-14 18:01:36 +08:00
回复了 tsuibin 创建的主题 Linux 桌面Linux的前途
@hedaors 我常用的桌面软件大多是开源跨平台的,或者是Linux独有的,所以Mac对我来说反而不太方便。命令行的话倒是差不多,Mac的优势还是GUI应用方面,Mac的图形界面使用的确很爽,Linux下也就只有Gnome2还能用用,其它简直没法用。

@yuelang85 硬件配置,工业设计和软硬件配合都不错,我之所以没有干掉OS X装Linux也就是因为软硬件配合。别的品牌不要提了,我买Mac前花了很多时间研究,发现它们都很坑爹。尤其是所谓的超级本,硬件配置跟MBA差不多的,就没有比MBA便宜的。
2012-09-14 17:50:46 +08:00
回复了 zenomac 创建的主题 Linux 开发而言,一般推荐linux/Unix(freeBSD)甚于Mac,前者有什么优势?
@harmy 多谢,有空试试。

@sqbing 哈哈,看来我在这里混得太少了……

@soulhacker
你说的那些都开源是没错,但是问题在于Mac平台下编译源码的工具是XCode,这个东西不是开源的。当然也可以自己去编译一套LLVM编译工具。但一则麻烦,二则未必能够完全达成目标。
就像在Windows平台下使用开源软件也可以不用VS编译,GCC有Windows版,但是试过就知道是什么结果了。
Mac基于BSD没错,FreeBSD我也在用,但FreeBSD就没有Mac这种麻烦。归根到底还是XCode,在这点上,Mac与Windows是一样的。
当然Mac的硬件很好,所以我还在用Mac……虽然其间曾经多次想格掉装Ubuntu。哈哈哈
2012-09-14 17:34:10 +08:00
回复了 aidai524 创建的主题 程序员 为什么 Mac 是开发者首选的平台?
这个难道要成为V2EX的月经话题么?哈哈哈
参见之前讨论过的:http://www.v2ex.com/t/47141
2012-09-07 14:00:44 +08:00
回复了 zenomac 创建的主题 Linux 开发而言,一般推荐linux/Unix(freeBSD)甚于Mac,前者有什么优势?
如果大量使用开源开发工具的话,Mac最多只能说比Windows好一些,远没有Linux好用。
装MacPort的话,你会面临两套不同的系统库。用HomeBrew的话,则除了东西较少以外,XCode的版本问题会时不时冒出来搞死你。除非你注册成水果的开发者,不断跟着升级OS和XCode……
2012-09-07 13:56:38 +08:00
回复了 tsuibin 创建的主题 Linux 桌面Linux的前途
@feelinglucky 这篇略扯。要不是看在MAC硬件不错的份上,我才不用OS X。
1 ... 97  98  99  100  101  102  103  104  105  106  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5849 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 47ms · UTC 06:30 · PVG 14:30 · LAX 22:30 · JFK 01:30
Developed with CodeLauncher
♥ Do have faith in what you're doing.