我一直在使用SubSonic 2達5年之久,並且喜歡它。然而,在過去的六個月裏,我一直在思考移動到SubSonic 3或類似的ORM工具的想法。由於我的公司使用了大量的Telerik工具,我以爲我會嘗試OpenAccess。配置後,我想我會嘗試一個非常基本的任務,用我們的Users表(〜30條記錄)加載一個RadGrid信息。Telerik OpenAccess與SubSonic在簡單的速度測試(不是「哪個更好」)
因此,網格的OnNeedDataSource事件中,我有以下:
var start = System.Environment.TickCount;
context = new EntitiesModel();
rgUsers.DataSource = (from u in context.Users select u);
var stop = System.Environment.TickCount;
var elapsed = stop - start;
litTelerik.Text = string.Format("This process took <b>{0}</b> milliseconds", elapsed);
構建和運行頁面後,它吐出回,它花了1607毫秒。但是,刷新頁面後,它會回到0秒。 (爲什麼?)
然後我把亞音速代碼:
var start = System.Environment.TickCount;
rgUsers.DataSource = new UserCollection().Load();
var stop = System.Environment.TickCount;
var elapsed = stop - start;
litTelerik.Text = string.Format("This process took <b>{0}</b> milliseconds", elapsed);
我跑了第一次的代碼和它說,它花了171毫秒。刷新頁面後,它報告花費了60-70毫秒。
所以,我的問題是:爲什麼OA在第一次訪問時需要相當長的時間才能加載,但在每個頁面上加載的時間爲零秒刷新?雖然SubSonic在第一次訪問時速度相當快,但每個頁面刷新需要約65ms?
我很抱歉,如果這是一個「基本」問題,或者我沒有充分測試性能。如果有什麼方法可以改進這種方法,我會非常感謝任何建議。
感謝, 安德魯
謝謝。這就說得通了。我按照你的建議做了,第一個負載下降到了900毫秒。 – ajtatum 2012-02-22 14:13:32