你可能會非常驚奇:Friend類型過程的執行速度要明顯快于Public類型。這可以通過創建一個帶有 EndFunction 然后,在表單模塊中創建一個循環,執行每個例程許多次。比如,要在一個PentiumII機器上查看執行時間上的區別,可以調用每個例程1,000,000次。下面是測試的結果: Private類模塊中,反復調用1,000,000次PublicSub或者Function耗費了0.46秒,而調用內容相同的Friend類型模塊則分別只有0.05秒和0.06秒。前后竟然相差了8-9倍之多!對于MultiUse類型的Public類模塊,也是一樣的結果。 對于這個不可思議的結果的可能解釋是:Friend型過程沒有處理匯集和拆裝代碼的消耗(Public過程可以從當前工程外被調用,因此COM必須要來回地匯集數據)。 但是在多數情況下,這些時間差別是不明顯的,特別是程序中包含一些復雜和耗時的語句時。 即使這樣,Friend型過程仍有其他的優勢高于Public類型,比如:接受和返回在BAS模塊中定義的UDT變量的能力。
新聞熱點
疑難解答