2016-10-14 70 views
1

我們正在從Adobe ColdFusion 8遷移到10. 我們有使用Application.cfm的應用程序。我們決定開始使用Application.cfc,因爲它提供了更多的定製方法。 我正在檢查如何將Application.cfm轉換爲Application.cfc,並注意到具有與Application.cfm中相同數量的代碼的Application.cfc比使用Application.cfm時需要更多的執行時間。 例如,如果Application.cfm需要150ms,Application.cfc需要630ms。 這是怎麼回事?Application.cfc執行時間比Application.cfm多嗎?

我沒有進入任何其他細節。如果您需要更多詳細信息,請告訴我。

謝謝。

+0

可能是怎麼回事,可能是你的代碼。只需處理它並使用'Application.cfc'。這些好處超過了任何次要的性能問題。 –

+0

您的.cfm文件是否具有onSessionStart等相關文件?如果是這樣,你是否把所有的代碼放入.cfc中的相應函數中? –

+0

謝謝@ AdrianJ.Moreno的回覆。我們將使用Application.cfc,對此沒有任何想法。只是想知道。 –

回答

1

我發現application.cfc的運行速度比application.cfm快,但是自從我使用application.cfm以來已經有多年了。我傾向於同意阿德里安認爲它可能是你的代碼。

您可以使用getTickCount()來跟蹤部分代碼運行的時間。

下面的示例將跟蹤整個請求的運行時間。您需要記錄或輸出最終值local.loadTime。您可以計算任意代碼塊之前和之後的tickCount之間的差異,以查看執行所花費的時間。

boolean function onRequestStart() { 
    request.startTime = getTickCount(); 
    return true; 
} 

void function onRequestEnd() { 
    if (structKeyExists(request, "startTime") && request.startTime > 0) { 
     local.loadTime = getTickCount() - request.startTime; 
    } 
} 
相關問題