2008-03-27

Ruby代码调整性能优化的几个Tip

关键字: 代码调整 性能优化
    数据都是在我的机器上测试所得,我的机器配置:AMD athlon 64 x2 Dual 4000+ 2.11Ghz,1.87G内存。cruby版本是1.8.6,jruby是1.1RC3。操作系统是xp sp2。 1、将繁忙的循环放在内层,比如下面的代码: a=0 for i in 0..1000 for j in 0..10 a+=(i+j) end end   替换成:for j in 0..10 for i in 0..1000 a+=(i+j) end ...
2008-03-24

使用JProfiler监控JRuby脚本的运行

关键字: jruby jprofiler
    jruby本质上也是启动一个jvm,然后去读Ruby脚本并解释执行(或者编译),因此jprofiler理所当然也可以去监控jruby脚本的执行。 执行      jruby hello.rb等价于执行: java -Xmx378m -Xss1024k -Djruby.home=/usr/local/jruby -Djruby.lib=/usr/local/jruby/lib Djruby.script=jruby org.jruby. ...
2008-03-20

scheme解决约瑟夫环问题

关键字: scheme 约瑟夫环
    看了javaeye上一个解决约瑟夫环的问题的帖子,就想能不能用scheme来解决。如果采用推导出的数学公式来处理当然很简单了: (define (joseph n m) (define (joseph-iter init s) (if (> init n) (+ s 1) (joseph-iter (+ init 1) (remainder (+ s m) init)))) (joseph-iter 2 0))       我想 ...
2008-03-20

代码详查的几个要点

关键字: 代码详查 代码大全2
1、应当有一个详查表,关注reviewer过去遇到的问题和缺陷,对常见错误保持警惕 2、详查应当专注于检测错误,而非修正 3、详查的角色包括: 1)主持人:负责分配复查任务,报告详查结果,主持详查回忆,他需要能够理解被详查代码的相关技术细节,整体上控制详查进度 2)作者:代码的作者,负责陈述项目的概况,解释设计和代码中不清晰的部分 3)复查者(reviewer,《代码大全2》称为评论员,感觉不是很恰当):负责实际复查的工作的执行,负责找出缺陷。 4)记录员:记录发现的错误,记录任务的指派情况,记录会议 5)管理人员:详查是一个纯技术性的复查,应当避免管理人员的介入。如果管理人员介入了详查, ...
2008-03-18

用递归计算阶乘咋不行呢?

关键字: scheme 递归 代码大全2
    读《代码大全2》,已经读了一半,喘口气。总结八个字:百科全书,受益匪浅。小到一个赋值语句、一个循环的编写,大到需求分析、架构设计,无所不包,看后 半部分目录,更是扯到了重构、软件工艺、程序员的性格特征这样的话题。恰好手边的工作暂时比较有闲,可以实践下“创建高质量的代码”中的部分建议,晚上读 书,第二天就重构,乐在其中。这一部分中对设计、子程序、类、变量、语句的处理建议,可能你平常已经在这么做,可作者这么精辟地概括出来让人叹服,而有些 地方是你平常绝对很少注意的,特别是在变量和三种常见控制语句的处理上。  &nbs ...
swf-util是一个使用Ruby读取swf头信息(高度、宽度、文件大小、帧数等等)、压缩和解压缩swf文件的工具类库,改写自java版本。项目主页:http://code.google.com/p/swf-util/协议:MIT License依赖BitStruct,请到这里下载安装bit-struct。使用例子:#read swf head require 'swf_util' header=SwfUtil::read_header("test.swf") puts header.inspect header.version header.frame_ra ...
         1908年的3月9日,四十多名“叛逃者”在奥雷菲奇的洛奥洛吉奥饭馆聚会, 宣布成立国际米兰足球俱乐部,吉奥瓦尼.帕拉米西奥蒂成为俱乐部第一任主席,俱乐部成立宣言如下:”nascerà qui, al ristorante “l'orologio”, ritrovo di artisti e sarà sempre una squadra di talento. Questa notte splendida ...
    最近一直在写Ruby脚本,说出来你可能不相信,我用Ruby写游戏脚本。用的是JRuby,采用JRuby是因为定时器的问题,Ruby1.8.6因为线程是用户空间内的本地线程,标准库没有提供强大的定时器功能,而对于游戏逻辑有相当多的任务需要定时处理,权衡之下,最后决定使用JRuby,封装了java的ScheduledExecutorService, 等以后Ruby有更完善的定时器的时候就切换回来(我猜测引入了native thread的Ruby1.9应该有更强大的定时器),基本满足了要求。这一过程也更让我觉的JRuby是个非常有前途的项目,利用Ruby的语 ...
dennis_zane
搜索本博客
存档
最新评论