文章出處

今天遇到了AutoMapper的一個性能問題,使用的是AutoMapper的Project特性,AutoMapper版本是3.3.0,代碼如下:

return await _repository
    .GetByStartId(startIngId, itemCount)
    .Project()
    .To<TDto>()
    .ToListAsync();

當獲取包含200條數據的列表時,竟然超過5秒。

GetDocs(3000, 200)
6304ms

GetDocs(3000, 200)
5822ms

GetDocs(3000, 200)
7553ms

而改為100條數據,只需不到10毫秒。

GetDocs(3000, 100)
10ms

GetDocs(3000, 100)
7ms

GetDocs(3000, 100,)
6ms

相差近千倍,真是不可思議。

不用AutoMapper,直接用Select new {},問題立馬解決。

2016年9月15日更新:升級至AutoMapper 5.1.1沒出現這個問題。


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()