作者yangyr (DFLucifer)
看板Soft_Job
标题Re: [闲聊]程式
时间Sat Dec 22 18:35:44 2007
先离题一下,小的开始想反省,我的中文是不是有什麽根本上的问
题,才会偶尔就觉得看不懂文章..Orz
好,回到程式效能评估的问题,不太确定命题的界定范围,所以我
只针对我懂的一些general issue抛砖引玉一下:
1.如果是驱动载具的软体效能有问题,因为载具会牵涉到相关的
domain know-how,所以必须掌握像API的实际运作原理等资讯,
以决定是否排除或着重於这方面
2.要针对语言处理效能问题,最简单的方式是应用特定工具。自己
曾经使用过IBM Rational的Quantify,跟主程式一起compile,
跑一遍之後就可以找出函式使用时间的ranking及function call
map,这样就可以知道哪些函式可能有潜在的cost问题
3.特定工具没有或太贵? 那就自己土法炼钢罗~ (又不是没炼过:p)
把自己要测的函式前後各取个timestamp,也慢慢可以找出效能
瓶颈
4.以C来说,一般而言,malloc()这类的取得记忆体资源的函式,
一次一次的呼叫常常会造成效能瓶颈,如果真的需要每次取得片
段大小不一的记忆体,一个较佳的解决方案可能是先一次取得大
量记忆体再自行规划,这算是属於语言本身的domain know-how
5.至於在coding时常见的一个效能问题,就是逻辑问题啦~ 先不提
O(n)啦,NP Complete 等的complexity theory问题(因为偶也快
忘光了Orz),在loop里面的多余重复动作因为不会造成infinite
loop而不常为人所注意,但是却可能有潜在的时间或空间浪费..
呃,没有了,才疏学浅的我没墨水了,赶快回去继续K书,请各位
高手出马..
※ 引述《markchen ()》之铭言:
: 近来看了一些文章 了解真正高手 程语的运作、写作不是很大的问题
: 真正具有意义的对於程式效能的评估 以及domain knowledge~
: 、程式专案的分工合作。
: 更重视的是学理上概念--->尤指那种学一次 可以一辈子受用的知识(很强调!)
: 至於像程语 这类型变革速度快的 则重视其经验的累积。
: 很多程式设计师 在程式的熟綀度上大多是没问题的 但是在专业上的知识累积
: 就不太行常听到有人说 我会使用C/C++ java Vb.net 等等... 可是这不是专业...
: 这只是一个工具。
: 应该有人遇过 对一些载具作控制时 因不知道其载具特性 程式根本连写都
: 写不出来亦或许已经写了出来 细看一下程式码可能不难 但是别人会不了解 有些参数怎
: 麽下的这就是专业性的问题 没有概念 连code都不知道该怎写~
==
语言是工具喔,那C++是哪门子的可怕工具啊..
--
没人看的blog:
http://dflucifer.spaces.live.com/
诚徵新竹山友或车友 ^^
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.124.8.50
1F:推 clkao:请爱用 profiler. 12/22 19:03