半夜的深思,最近的一些思考。——说了就说了。

reallike 2005-11-29 02:33:36
有一种不知道从何说起的感觉。最近不知道为啥,一直都在听《爱了就爱了》,Gibson浑厚的声音就是好听,可是买不起……

从爱民兄那里看到他写的东西。很多都是值得学习的。感觉自己应该变成海面,不断的吸收。最近还从我头儿那里,也学到很多东西,看来我这一块海面,根本吸收不过来。宏观的,微观的。都有自己看待问题的思路和独特见解。面对不同的开发形式,环境,都有特定的特长。

头儿给我说了几个小的细节。我说其中两个:

1、Fun(GetTickCount, 100);这个函数传递了两个参数,但是,为什么要这么写?为什么不把两个参数换过来 ?是Fun(100, GetTickCount);呢?在register调用规则下,GetTickCount返回值一定到了eax,顺手就把100给了edx,然后call Fun。不影响代码风格的情况下,效率在增加。要是stdcall呢?反正知道原理了就是了,随便看看汇编就知道了。

2、
begin
First_Tick := 0;
Last_Tick := 0;
Current_Tick := 0;
end;

相信很多人会写这种初始化的代码。但是,这样写更好:

var
Tick: Integer;
begin
Tick := 0;
First_Tick := Tick;
Last_Tick := Tick;
Current_Tick := Tick;
end;

仅仅多了一个临时变量。

但是第一段代码,是对edx不断的xor,赋值一次,xor一次。然后再把edx放到堆栈偏移里面。
而,第二段代码,先xor了eax,然后把eax的值依次放进去。代码效率高了,更易维护。
倘若,有10个,20个,甚至许多个这种初始化,会选择哪一个?
编译器不够聪明,就要告诉他该怎么处理。这些代码的效率提高了近60%。

有人问了,有必要吗?有人问这算什么?你到底在说什么啊。就是几个寄存器操作?

我想说,不同的环境,产生不同的代码应用。如果普通的软件,或许根本不需要。如果是几万人连接的软件,一跑就好几个月的,就要考虑这么多了。

在我们现有的体系下,其实每个软件最终都是机器码,你的代码到底做了些什么,有责任去看看他们到底做了些什么。也许汇编很头疼。但是如果愿意听进去,自然会听进去我说的话。

也许有人认为,有了架构了,有了高级语言了,底层就不应该考虑了。但,我反问一句:有冲突吗?或许架构固然重要,或许代码效率也固然重要,仅仅是思想、方法或者手法。针对某些客户,做出他们需要的东西来卖钱才是最重要的。

对错总是相对的,站在不同的层面去吸收他人的经验,他们自然有他们不同经历的体会。

对于程序员来说,自己总结得与失,学习新的想法都是必要的。吸收他人的经验是其中非常高效的方法,就看心态如何。对于鲁迅先生,我是非常敬佩的,就因为他说的《拿来主义》。孔子说:三人行必有我师,择其山者而从之,其不善者而改之。这个其实谁都知道。并不是每个人都完美无缺,总是有值得学习的地方,值得借鉴的地方。孔子并没有说,其不善者而骂之。

如果反对,何不保留意见?如果有不同意见,可以帮助作者,何不细细道来?互相沟通回带来一种乐趣,我最近深刻体会到这种乐趣。

最近很是感悟老子所说:“天下皆知美之为美,斯恶矣;皆知善之为善,斯不善已。故有无相生,难易相成,长短相形,高下相倾,音声相和,前后相随,恒也。”

对吗?错吗?有意义吗?所知道的就一定是对的吗?

在YY群里,某人要考研,我发表了我对考研的不同看法,但是某个人脱口而出的说:我瞧不起他。我说了吗?我未说一字瞧不起他,我只是说了我和周围的人接触后对考研的看法而已。然后总结:考研是浪费时间。但,适得其反,还不如不说。浪费时间。

说了就说了,爱民兄只是说了自己的总结给需要的人听。愿意取的人,自然会取。不愿意听得人何必打扰别人?

说了就说了,如果说的东西毫无意义
何必要说?
何必要长篇大论的说?
何必要到处长篇大论的说?
何必要到处发疯似的到处长篇大论的说?
何必要开着电脑刷着屏幕发疯似的到处长篇大论的说?
除非说的人有毛病吃饱了撑得。

说了就说了,反正已经说了,你能拿我怎么样?

爱民兄还是:嗓音洪亮,茶不离手,满面红光,天庭饱满而且油光发亮。半年前,爱民兄还是在照片里看见的。半年后就活生生的在我面前鲜蹦乱跳了。

分享其实是一种美德,我暗自庆幸庆幸……

最近感觉时间过的越来越快,堂妹都要坐月子了,唉……人生苦短啊。

再多说就没有意思了。最近忙啊。大家吃好睡好就是最好了。
...全文
415 48 打赏 收藏 转发到动态 举报
写回复
用AI写文章
48 条回复
切换为时间正序
请发表友善的回复…
发表回复
julong88 2005-11-30
  • 打赏
  • 举报
回复
hao
reallike 2005-11-29
  • 打赏
  • 举报
回复
传奇昨天免费的,1-99区。我是程序员,我不关心决策的问题。

但是免费带来了很大的工作压力。挑战啊。挑战自己……
何鲁青 2005-11-29
  • 打赏
  • 举报
回复
苦于没有高人指点
j9dai 2005-11-29
  • 打赏
  • 举报
回复
好文
BTW:传奇什么时候免费了?
俺2002年玩的六区青城,很久没有玩了
ccrun.com 2005-11-29
  • 打赏
  • 举报
回复
已阅。呵呵。那次有关“考研”的讨论,好象偶也在场。。。
beyondtkl 2005-11-29
  • 打赏
  • 举报
回复
:)
g961681 2005-11-29
  • 打赏
  • 举报
回复
本对传奇不感兴趣。
后来,硬是被同学拉去玩了一把。
结果练到20级,对闪电(记不清那招交啥名了)爱不释手时,号被偷了~~~~

呵呵~
xiaocuo_zrf 2005-11-29
  • 打赏
  • 举报
回复
呵呵。RL还是保持着那样的精神, 不错!
hexenzhou 2005-11-29
  • 打赏
  • 举报
回复
给个装备先!
reallike 2005-11-29
  • 打赏
  • 举报
回复
好累啊。谁再借给我一个脑子。

传奇免费了。为什么在我任职期间免费?

客户端现在就我一个人……

是机遇,还是……

干活干活。
猛禽 2005-11-29
  • 打赏
  • 举报
回复
RL写得不错,赞一个
julong88 2005-11-29
  • 打赏
  • 举报
回复
确实能让人平静下来,还需十年磨剑呀

不知楼主的头今年多大……
ly_liuyang 2005-11-29
  • 打赏
  • 举报
回复
呵呵:)
拜读了
Larry1030 2005-11-29
  • 打赏
  • 举报
回复
看了这种文章让人能够平静下来
谢谢楼主
小呆之家 2005-11-29
  • 打赏
  • 举报
回复
呵呵~~.好文!
听君一席话,胜读十年书.
收藏了.:)
windindance 2005-11-29
  • 打赏
  • 举报
回复
看看
g961681 2005-11-29
  • 打赏
  • 举报
回复
好文,转PDF收藏了。
虽然不知道说什么,但还小声的说一下:保留了作者信息。
ghy412 2005-11-29
  • 打赏
  • 举报
回复
发表时间: 2005-11-29 02:33:35
难道高手就是这样练成的……
lw549 2005-11-29
  • 打赏
  • 举报
回复
var
Tick: Integer;
begin
Tick := 0;
First_Tick := Tick;
Last_Tick := Tick;
Current_Tick := Tick;
end;

我经常这样写,不是为效率,而是为重够
而且不是
var
Tick: Integer;
而是
const
Tick = 0;
CDSoftwareWj 2005-11-29
  • 打赏
  • 举报
回复
有句说的好:“采众家之长..”
加载更多回复(28)

828

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧