PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   高手請教VB6程式,兩個字串比較,程式碼如何作執行速度才會快 (https://www.pcdvd.com.tw/showthread.php?t=858377)

elase 2009-08-10 03:15 PM

引用:
作者ayler
假如說以畢業生履歷, 或跳槽時吸引人的資歷來說
a. 加速某function處理速度,
b. 完成啥產品或啥重點軟體
覺得那個比較吸引人?
尤其當程式大到數萬行以上時, 很難花這麼多力氣在追求每個細節的效率
注重模組架構設計才是王道, 最多就只能加強比較需要效率的部分模組
好的模組設計, 對於效率的影響也很明顯的(刪)...

小公司思維..不意外..
你們公司的資料庫比數應該不多吧(萬筆內)..
或是程式太慢就加硬體吧..

引用:
作者ice568
小弟路過,自己也沒寫程式很久了,純粹只想問一下...
就標題而言,有試過轉成2進位,再用AND做比較嗎?
大學修asm時,有發現用邏輯運算比算術運算來的快很多...
尤其是做乘除法時,一個shift就解決了...

在底層已經這麼做了..

booger 2009-08-10 06:33 PM

字串比較是NP-Complete問題,
因此執行時間只差在程式寫的好不好,
但是Big-O依然是O(mn)

ayler 2009-08-11 10:31 AM

引用:
作者elase
小公司思維..不意外..
你們公司的資料庫比數應該不多吧(萬筆內)..
或是程式太慢就加硬體吧..

看得出你是做資料庫管理系統的?
那速度重點在資料庫設計, 以及好的SQL寫法,
若做的好, 現在一般市售PC+raid就足夠養幾百萬筆資料了,
不知道這幾萬筆的意思是?

部門跟國際(規模都明顯超過中華電信)的幾間公司合作過產品
要求都是開發速度, 穩定度,
幾乎沒被要求執行速度

雖說產業不同, 要求的不同,
不過絕大多數, 先快速開發, 有穩定度, 再來改進執行速度
產品開發的速度比競爭對手慢好幾個月, 又常當機, 反應到成本也比別人貴
那誰在乎跑得快跑的慢?

學校主要教的都是如何改進執行速度,
沒教如何改進開發速度與穩定度?
這是很大的問題

elase 2009-08-11 06:32 PM

引用:
作者ayler
看得出你是做資料庫管理系統的?
那速度重點在資料庫設計, 以及好的SQL寫法,
若做的好, 現在一般市售PC+raid就足夠養幾百萬筆資料了,
不知道這幾萬筆的意思是?
部門跟國際(規模都明顯超過中華電信)的幾間公司合作過產品
要求都是開發速度, 穩定度,
幾乎沒被要求執行速度
雖說產業不同, 要求的不同,
不過絕大多數, 先快速開發, 有穩定度, 再來改進執行速度
產品開發的速度比競爭對手慢好幾個月, 又常當機, 反應到成本也比別人貴
那誰在乎跑得快跑的慢?
學校主要教的都是如何改進執行速度,
沒教如何改進開發速度與穩定度?
這是很大的問題

應該是產業不同的問題..
我們是做ERP(針對中小企業)..
資料量不會太大..
幾十萬筆的資料對系統負擔就很重了..
這種客戶很少就是了..
我們程式模組化很高..
很容易快速開發..
系統穩定性也很好..

而ayler大的的發言..
讓有我有深的感觸..
公司要的是一個..
程式組裝工人..
程式能力並不是公司要的..
每天做的複製貼上的工作..
心裡就會想這樣的工作能做多久..
我多久會被新人取代..
ayler大看來應該是管理者吧..

前面的文章口氣有點衝..
再請多擔待..

ayler 2009-08-14 09:19 AM

哈, 忘了回這篇
不知道單筆資料量有多大, 假如說在1k~10k byte(應該算大了吧)
那100萬筆的資料就在1G~10G之間
不知現在資料庫有沒有這個功能? 全部塞到記憶體虛擬磁碟就可以了 呵呵~
建立記憶體虛擬磁碟機, 並且能延時待CPU Load較輕時, 與磁碟資料同步
保證速度能爆衝~ 假如不行, 就是資料庫設計... 有問題
否則就是針對所有資料(與text)建立index, 反正現在硬碟便宜, 就算index資料比原先資料還大上好幾倍, 也不是什麼問題

至於公司要軟體工人, 還是軟體研發
這就要看每個人的能力了
假如底子只有模仿照做的能力, 絕大多數公司, 是懶得培養研發, 或設計的能力
假如能力夠強, 能自己找方案, 自己設計, 自己找問題解決, 相信公司也不會把他擺在複製貼上的工作上

很簡單的狀況, 公司懶得負責實戰的教育責任, 請學校與學生/工程師自己想辦法
假如學校與學生/工程師, 依然認為那該是社會公司要做的, 那只能很抱歉了... 那永遠只能當高級工人了

elase 2009-08-14 03:02 PM

引用:
作者ayler
哈, 忘了回這篇
不知道單筆資料量有多大, 假如說在1k~10k byte(應該算大了吧)
那100萬筆的資料就在1G~10G之間
不知現在資料庫有沒有這個功能? 全部塞到記憶體虛擬磁碟就可以了 呵呵~
建立記憶體虛擬磁碟機, 並且能延時待CPU Load較輕時, 與磁碟資料同步
保證速度能爆衝~ 假如不行, 就是資料庫設計... 有問題
否則就是針對所有資料(與text)建立index, 反正現在硬碟便宜, 就算index資料比原先資料還大上好幾倍, 也不是什麼問題

資料庫底層已經這麼做了..
SQLServer 吃記憶像不用錢一樣..
index 不是萬能的..
狂加index不是萬能的..
加入index查詢會變快..
但是資料在維護的時候會變慢..
而且index多..還有損毀的問題..
引用:
作者ayler
至於公司要軟體工人, 還是軟體研發
這就要看每個人的能力了
假如底子只有模仿照做的能力, 絕大多數公司,是得培養研發, 或設計的能力
假如能力夠強, 能自己找方案, 自己設計, 自己找問題解決, 相信公司也不會把他擺在複製貼上的工作上
很簡單的狀況, 公司懶得負責實戰的教育責任, 請學校與學生/工程師自己想辦法
假如學校與學生/工程師, 依然認為那該是社會公司要做的, 那只能很抱歉了...
那永遠只能當高級工人了

呵呵..原來一切都是工程師的錯..
當高級工人是我們自己找的..
小弟真是受教了..

ayler 2009-08-14 03:29 PM

引用:
作者elase
資料庫底層已經這麼做了..
SQLServer 吃記憶像不用錢一樣..
index 不是萬能的..
狂加index不是萬能的..
加入index查詢會變快..
但是資料在維護的時候會變慢..
而且index多..還有損毀的問題..

呵呵..原來一切都是工程師的錯..
當高級工人是我們自己找的..
小弟真是受教了..

那這樣推論, 上百萬筆資料的資料庫的管理與執行速度, 應該容易阿?
假如資料更新的機會很高, 那使用過多index確實不太恰當, 假如資料更新機會低, 那就有必要大幅加入index, 看需求了

看過許多高級工人, 就是把學校的那套學習方式, 搬到業界去
不自己努力找答案, 不創新答案, 只被動的等人教...

若要當技術核心人物, 就是要懂一些別人都不懂的事情, 解決別人都無法解決的事情
假如都是等人教, 那就不必怨歎怎麼一直都是工人

elase 2009-08-17 11:43 AM

引用:
作者ayler
那這樣推論, 上百萬筆資料的資料庫的管理與執行速度, 應該容易阿?
假如資料更新的機會很高, 那使用過多index確實不太恰當, 假如資料更新機會低, 那就有必要大幅加入index, 看需求了
看過許多高級工人, 就是把學校的那套學習方式, 搬到業界去
不自己努力找答案, 不創新答案, 只被動的等人教...
若要當技術核心人物, 就是要懂一些別人都不懂的事情, 解決別人都無法解決的事情
假如都是等人教, 那就不必怨歎怎麼一直都是工人

資料庫的管理與執行速度是很快沒錯啊..
不過..使用者看到的是應用程式啊..
有很多時候資料..
不是Select出來就能用了..
不是使用者打完就可以Updtae了..
應用程式的設計就要看高級工人的功力了..

but..but..but..
老闆要什麼..
快速開發..好維護..
很抱歉高效能的程式..
無法快速開發..也不好維護..

另外模組化的東西..效能也很差..
因為通用性的關係..
模組需要背負較多的程式..
以及較多的檢查..

最後..我想你應該是管理者..
請你想一下..你要的是什麼樣的高級工人..
而不是只是在怪高級工人為什麼不長進..

重建創世紀 2011-07-21 03:35 PM

引用:
作者supermaxfight
樓主算不錯了

我現在連程式人員的面試心得及基本原則裡面的
1-2+3-4+5-6+7......+n
用VB還寫不出來 :jolin: :stupefy: :laugh:


PO錯,43............. :laugh: :laugh: :laugh:

diolin 2011-07-21 05:46 PM

順便問一下, 如何快速判斷一點是否在另四點所圍成的四邊形中

其實這的問題, 也可以用來解上面網友的問題


所有的時間均為GMT +8。 現在的時間是07:53 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2026。