Я использую SubSonic 2 в течение ~ 5 лет и любил его. Однако в течение последних шести месяцев я играл с идеей перехода либо в SubSonic 3, либо в аналогичный инструмент ORM. Поскольку моя компания использует множество инструментов Telerik, я подумал, что попробую OpenAccess. После того, как он настроен, я решил, что я попытаюсь выполнить чрезвычайно основную задачу по загрузке RadGrid с информацией из таблицы наших пользователей (~ 30 записей).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 значительно быстрее при первом посещении, но занимает ~ 65 мс на каждом обновлении страницы?
Приносим извинения, если это «основной» вопрос или если я недостаточно тестирую производительность. Если есть способ улучшить этот метод, я бы очень признателен за любые советы.
Спасибо, Andrew
спасибо. В этом есть смысл. Я сделал так, как вы сказали, и первый груз упал до 900 мс. – ajtatum