论坛首页 编程语言技术论坛

从实际工作需要与经历说说我选择PYTHON的原因(附相关源代码)

浏览 39910 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2009-05-03  
xukong 写道
    哦,84行到确实只用了第一个字符,疏忽了,因为后面都要用到SPLIT(',')后的内容的,就顺手写成了SPLIT(','),不过ruby,和python都做了split(',')的语句啊,做了同样的事情,最后程序花的时间大大不同...

    呵,一时紧张,都恍惚了,取第一个字符我本来就用的是x[0:1],又没有做无用的SPLIT(','),因为要根据是3还是4取不同的字段做KEY,而每条记录的字段长度不是固定的,所以必须split(),

    变量定义多只是为了程序看起来更清楚,望名了意,明白处理的内容而已, field01-14是因为最后的结果文件中有先后顺序的14个字段,要确保内容按顺序写入,呵,个人习惯,谁要用只用几个变量做很多事情,那看个人的风格了

    用数组会有什么加快?哦,我以为是format_data中使用数组,呵,我觉得用哈希表是合适的,否则光是根据关键字遍历数组查找就够恼火的了,不管你为了效率 还要整什么二分啊更多的查找方法 那些就更要多手多脚去了

    我当然知道是GC,我也不管什么GC,处理同样多的数据,几乎一样的代码,为什么PYTHON不GC或者是我们没有觉得GC,运行的时间不一样,我就选择快的...

    我刚才又测试了一下,100万条数据,环境如上,跑了10次,结果还是一样,呵,100万条数据的测试结果正好是10倍的样子,python 27,ruby 270,要说明下大部分ruby的时间是花在了写结果文件上,呵,看来是IO读写拖了后腿,内存之中的运行应该差不多?(有时间再比较下)不过我这个程序正好碰到了大量的文件读写,呵,我的标题应该改下了,不过我还是喜欢PYTHON,要继续学下去的...
   
    呵,去掉最后的文件写入,差异也是比较巨大的,PYTHON 10 秒, RUBY 86 秒..测试记录是100万条


您再测试 也是在测试两个写的不是很好的代码 那个写的更不好而已 ……
代码写的不漂亮,就没有对比发言权!
…… 囧,闪 ……
0 请登录后投票
   发表时间:2009-05-03   最后修改:2009-05-03
呵呵,我程序写得不好,那2个几乎一样的代码应该都跑得差啊,

我程序写得差,那我更要选择能让我写得差的程序跑得快的语言了...
0 请登录后投票
   发表时间:2009-05-03  
找到另外一个人写的一个测试。
http://www.oschina.net/discuss/thread/328?lp=1
感觉没有什么官方背景,应该有一定可信度。
0 请登录后投票
   发表时间:2009-05-03   最后修改:2009-05-03
    嗯,我看了上面的测试,他那个测试牵涉到的处理没有我的例子多,都是在内存中操作,我们看网上的评论都知道ruby是比python慢的,牵涉到其他的操作估计就会更慢些了

   前面讲了,我是实用至上,脚本语言嘛,先用来处理小事情,尽快解决问题为主,并不想过多牵入到什么编程技巧中去,就那么中规中距把问题解决就完了

    呵,其实我可以用java来做这个事情的,不过和脚本语言比起来,语法确实有点繁琐,还要编译运行,就是比较烦了才用脚本语言来写,也就惹出了这些事请,哈....

    我写这篇帖子只是讲述下自己的经历与寻求解惑,能吸引或加强到TX对python感兴趣\更有信心那就更好了,起码以后可以有机会交流是不,并不想争论什么(当然无可避免的样子),想争论什么这篇帖子就发到ruby版快那里去了.呵...

0 请登录后投票
   发表时间:2009-05-03  
要是讲究那么多编程技巧和注意点可能还不如用java或者c++去写了,本来用脚本就是图个方便。

ruby1.9和python之间好像也有个benchmark大战。
http://www.mysoftparade.com/blog/ruby-19-doesnt-smoke-python-away/

http://antoniocangiano.com/2007/11/28/holy-shmoly-ruby-19-smokes-python-away/

感觉甚至一些benchmark经常喜欢拿一些自己语言优化过的跟其他没有优化过的特性相比。
0 请登录后投票
   发表时间:2009-05-03  
我都没用过 郁闷~
0 请登录后投票
   发表时间:2009-05-03   最后修改:2009-05-03
    呵,就是,当时我有5天的数据要处理,要是我先用python写了,5分钟就处理完了,然后可以再校验下数据文件对不对,但是当时是先用RUBY写的,看着提示信息就那么跳,全部处理等了50多分钟勒,这个对比对我来说相当强烈了,所以义无反顾的选择了python,也一直记着这个事情,最后也就写了这篇贴子,哈哈....
0 请登录后投票
   发表时间:2009-05-04  
wosmvp 写道
xukong 写道
    哦,84行到确实只用了第一个字符,疏忽了,因为后面都要用到SPLIT(',')后的内容的,就顺手写成了SPLIT(','),不过ruby,和python都做了split(',')的语句啊,做了同样的事情,最后程序花的时间大大不同...

    呵,一时紧张,都恍惚了,取第一个字符我本来就用的是x[0:1],又没有做无用的SPLIT(','),因为要根据是3还是4取不同的字段做KEY,而每条记录的字段长度不是固定的,所以必须split(),

    变量定义多只是为了程序看起来更清楚,望名了意,明白处理的内容而已, field01-14是因为最后的结果文件中有先后顺序的14个字段,要确保内容按顺序写入,呵,个人习惯,谁要用只用几个变量做很多事情,那看个人的风格了

    用数组会有什么加快?哦,我以为是format_data中使用数组,呵,我觉得用哈希表是合适的,否则光是根据关键字遍历数组查找就够恼火的了,不管你为了效率 还要整什么二分啊更多的查找方法 那些就更要多手多脚去了

    我当然知道是GC,我也不管什么GC,处理同样多的数据,几乎一样的代码,为什么PYTHON不GC或者是我们没有觉得GC,运行的时间不一样,我就选择快的...

    我刚才又测试了一下,100万条数据,环境如上,跑了10次,结果还是一样,呵,100万条数据的测试结果正好是10倍的样子,python 27,ruby 270,要说明下大部分ruby的时间是花在了写结果文件上,呵,看来是IO读写拖了后腿,内存之中的运行应该差不多?(有时间再比较下)不过我这个程序正好碰到了大量的文件读写,呵,我的标题应该改下了,不过我还是喜欢PYTHON,要继续学下去的...
   
    呵,去掉最后的文件写入,差异也是比较巨大的,PYTHON 10 秒, RUBY 86 秒..测试记录是100万条


您再测试 也是在测试两个写的不是很好的代码 那个写的更不好而已 ……
代码写的不漂亮,就没有对比发言权!
…… 囧,闪 ……


这话说的有点过了,人家怎么说也有很好的分享精神。
LZ哪写的不对指出便是,如果有争议,你可以把你写的代码运行给他看,结果说明一切,自己没动过手就没有发言权!还差不多!(个人习惯也是可以适当保留的吗!)
0 请登录后投票
   发表时间:2009-05-04  
现在好多linux下边的程序都是python 写的,感觉国外python用的人真的很多
0 请登录后投票
   发表时间:2009-05-04   最后修改:2009-05-04
    呵,谢谢支持,这里分享下如何监视JAVAEYE回复更新的一些心得:

    难得写篇帖子,就时不时的用浏览器来打开网页刷新下看有什么回复没有 但是这样操作多了也累,就找了下监视网页的软件,有个叫 specto 的软件,是用PYTHON写的,有点兴趣,结果一看是只能跑在LINUX下,虽说LINUX不错,但是工作环境是WIN啊,还是继续找,发现了个 urly warning 的软件,免费的,最新是 3.0 ,试用了下,还算是初步能满足监视的需要,不过有2个地方要注意下:

    1. 监视不能监视如 http://www.iteye.com/topic/377619 这样的地址,因为里面有些广告文字是经常变的,应该监视 http://xukong.iteye.com/blog/377619 的地址,也就是带发表用户名的地址,这里面就没有广告了,而且也不存在分页的问题,因为前面的页面是分页的,哦,其实也是有,不过后面的地址是将回复倒序排的,变动都是最新的,呵,呵...

    2. 监视最好是多个单词变动了才认为是改变,因为JAVAEYE对生成的页面里的发表时间会变的,我设置的是9,呵,有点含量的回复文字应该不少于这个数吧...

    3. 听到提示更新的音乐后,点击弹出窗口里面定义的连接,就可以看到最新的文字了,都标成绿色的,比较醒目...
5 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics