作者micklin (mick)
看板CSSE
标题Re: 程式效率
时间Wed Sep 6 19:31:55 2006
※ 引述《billyeh (bill)》之铭言:
: ※ 引述《micklin (mick)》之铭言:
: : 在硬体越来越发达的情况下, 假设先不考虑最慢的储存媒体IO,
: : 一个程式所需要的运算时间将会随之减少,
: : 这样会不会造成对演算法与资料结构的冲击呢?
: : 平时在写程式时总会先考量尽量好的资料结构, 再用尽量好的演算法来达到目标,
: : 如果最後程式执行所需要的时间和无架构的程式比起来, 差距只在一秒以内,
: ^^^^^^^^^^^^------------
: : 那麽还需要去计较演算法吗? 还是以尽快完成project为优先呢?
: 看你所谓的「最後程式执行」是什麽而定:
: - 什麽时候会去执行这程式呢?一个月以内?半年後?一年後是不是还会在用它?
: - 预计的资料量有多大?几个月之後会不会有大幅增加的可能?
: - 会在什麽地方执行?小实验室跑跑数据就好了呢?还是对外上线服役之用?
: 如果在你可预见的未来, 这程式不需要那麽高效、对资源不需那麽斤斤计较,
: 我倒觉得可以先着重在正确性(多做点 unit testing),
: 再着重於软体架构, 最後再着重於最佳的资料结构及演算法。
: 毕竟只要 unit testing 骨架好, 即使事後调整软体架构,
: 也不会让系统垮掉;
: 只要把软体架构弄好, 即使事後调整资料结构及演算法,
: 也不会让系统垮掉。
: : 在现实面上, 身为一个老板当然会希望能尽快拿到成果,
: : 但身为一个写程式的工友, 漂亮的解决问题才是我想要的。
: : 如果花两天弄出来的程式, 跟一天就弄的出来的程式在时间上差不多,
: : 那版友会选那一种呢?
: : 而这样会不会让人失去对演算法与资结的信心呢?
: 你该学习 prioritize 你的工作项目。
: 某些时候, 尽快把无趣的工作交差,
: 反而可腾出更多时间投入在更值得你锱铢必较的地方。
: 当然啦, 如果你是完美主义者, 眼里容不下一丝一毫的丑陋,
: 那就当我没说。 :)
因为我要写的程式是Genetic programming,
程式在执行时需要的时间是training的时间,
我要在不长的时间内写出一支GP程式让它training的时间尽量短,
然後老板要看的是test之後的结果如何....
「我慢慢写+它快快跑」, 加起来的时间会不会等於「我快快写+它慢慢跑」?
没办法评估啊....所以才开始胡思乱想 orz
最理想的情况当然是我快快写, 它也快快跑啊....
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 70.171.224.50
1F:推 demintree:我听说GP比GA慢,你要不要转行试试XD 09/06 20:45
2F:推 cplusplus:有很多这方面的论文,可以去找来看看 09/06 20:49
3F:推 micklin:博五才转行也太迟了 XD 主程式写一年了, 现在要加新功能 09/06 20:51
4F:推 PRAM:加油 (握) 09/06 23:47
5F:推 Schelfaniel:我觉得你可以先写一个快速版, 它在跑时再写另一个版本 09/07 00:49
6F:推 micklin:感谢楼上几位的建议 (泣) 09/07 17:55