作者StubbornLin (Victor)
看板Programming
标题Re: [问题] 这样的需求得要自己写程式吗?
时间Wed Sep 26 18:49:17 2007
※ 引述《buniro (期待2008!)》之铭言:
: 有一个2MB多的Unicode纯文字档,当中有很多重覆的字串"1"、"2"、"3"..."200",
: 如果想将"85"之後的字串其数值都+1,也就是处理後"1"~"84"不变,"85"变"86"、
: "86"变"87"...."200"变"201",那麽这有什麽现成的Editor可以使用吗?还是非得
: 自己写个程式来处理?如果只能自己写的话,各位板友建议用哪一种语言写,对
: 初学者来说比较容易?处理速度又以哪一种语言最快呢?还是速度都差不多?
: 谢谢大家的指导!
直接回一篇好了= =
2MB的资料一下子就跑完了
根本不用太在意效能
像这种 只用一次 的程式
当然是以开发速度为重点
如果说 用完一次就丢了,结果你花了三天开发
又不是只用一次完美版本= ="
效能再快,就算再烂的电脑 三天要不跑完这些资料也很困难
至於什麽语言最快呢?
我个人认为没有什麽是最快最慢
就以Python而言(或Lua),很吃重的部份可以用C语言写再引入
所以就算语言本身很慢,但是会写的人一样可以很写出很有效的程式
烂的程式,就算用组合语言 C / C++写,也未必会比Python VB之类的程式快
因为他们不懂整个程式的瓶颈到底会出现在哪里
而大部份的时间都是卡在瓶颈上面的
最常见的情况,就是像这种存取硬碟,目前整台电脑最慢的,就是那个该死的硬碟
虽然他的空间越来越大,但是速度一样还是很慢
因此,这类程式的效能就会卡在I/O的部份
程式真正在运算和处理其实差不了多少,除非真的是非常庞大的资料
积少成多,在会明显地反应在执行时间上
否则,如果程式写不好,大部份的时间就会浪费在等硬碟上面
我有看过有人写处理大量批次档的程式
结果要跑超久,原因就出在於大量的I/O在拖累
我记得他似乎不停的读取和不停的写入
I/O不只是硬碟慢,连Print在Console上都超慢的
不信可以写两个回圈,一个有Print,一个没有
就知道速度差多少
我们能做的,就是将I/O做最大的利用
一次读入一笔资料,再来做处理
或是累积一定量的资料,再一口气写入
如果可以的话,写程multithread,一个thread负责读写资料
一个thread负责处理,这样会更快些
阿= ="
不过只是 "只用一次" 的程式
其实随便写都可以啦 XD
--
VICTOR工作室 |
PTT游戏设计版隆重开幕!
|
不管是新手老手,程式美工音乐企划....
URL :
http://www.kinmen.info/vic/ |
都欢迎来游戏设计版参与讨论 XD
|
战略高手>
C/C++ |
GameTopics>
Visual Basic 6.0 |
GameDesign
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.231.215.68
1F:推 meltice:听说慢是因为微软的console很慢很烂 60.245.85.168 09/26 20:18
2F:→ meltice:不是我说的 是mplayer网站说的 60.245.85.168 09/26 20:19
3F:→ meltice:所以他们预设会把console output disable 60.245.85.168 09/26 20:19
4F:→ meltice:当在win32的版本时 60.245.85.168 09/26 20:20
5F:推 asoedarren:所以debug大量输出资讯到console是恶梦 203.70.75.128 09/26 22:54
6F:→ meltice:当每个程式都拼命输出到dbgview也是恶梦 60.245.85.168 09/26 23:11
7F:→ meltice:不过我好像就制造了一堆噩梦 60.245.85.168 09/26 23:12
8F:→ meltice:我的release版程式依然把debug info留着 60.245.85.168 09/26 23:12