国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java Bean Copy 性能大比拼

lentoo / 3327人閱讀

摘要:性能大比拼簡介拷貝在工作中被大量使用,可以大幅度的提高工作量。本文對常用的工具進行了壓力測試,方便大家選擇更加適合自己的工具。本篇文章是增強介紹續篇,該專欄會持續更新,感興趣的朋友請訂閱我們。的表現反而比更好,可能是模型不一樣導致的。

Java Bean Copy 性能大比拼

簡介

Bean 拷貝在工作中被大量使用,可以大幅度的提高工作量。本文對常用的 Bean copy 工具進行了壓力測試,方便大家選擇更加適合自己的工具。本篇文章是mica cglib 增強——【01】cglib bean copy 介紹 續篇,該專欄會持續更新,感興趣的朋友請訂閱我們。

bean 拷貝工具

MapStruct (編譯期生成 Mapper 實現)

Selma (編譯期生成 Mapper 實現)

yangtu222 - BeanUtils (第一次生成 copy 實現字節碼)

mica (第一次生成 copy 實現字節碼)

hutool (反射)

模型

無類型轉換
/**
 * 來源用戶
 *
 * @author L.cm
 */
@Data
public class FormUser {
    private Long id;
    private String nickName;
    private Integer age;
    private String phone;
    private String email;
    private String password;
    private Integer gender;
    private String avatar;
}

/**
 * 轉換的用戶
 *
 * @author L.cm
 */
@Data
public class ToUser {
    private String nickName;
    private String phone;
    private String email;
    private Integer gender;
    private String avatar;
}

帶類型轉換
/**
 * 附帶類型轉換的 用戶模型
 *
 * @author L.cm
 */
@Data
@Accessors(chain = true)
public class FormConvertUser {
    private Long id;
    private String nickName;
    private Integer age;
    private String phone;
    private String email;
    private String password;
    private Integer gender;
    private String avatar;
    @DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
    private LocalDateTime birthday;
}

/**
 * 附帶類型轉換的 用戶模型
 *
 * @author L.cm
 */
@Data
@Accessors(chain = true)
public class ToConvertUser {
    private String nickName;
    private Integer age;
    private String phone;
    private String email;
    private String password;
    private Integer gender;
    private String avatar;
    private String birthday;
}

Bean copy 壓測結果

環境

OS: macOS Mojave

CPU: 2.8 GHz Intel Core i5

RAM: 8 GB 1600 MHz DDR3

JVM: Oracle 1.8.0_201 64 bits

簡單模型
Benchmark Mode Cnt Score Error Units
hutoolBeanCopy thrpt 5 1939.092 ± 26.747 ops/ms
springBeanCopy thrpt 5 3569.035 ± 39.607 ops/ms
cglibBeanCopy thrpt 5 9112.785 ± 560.503 ops/ms
micaBeanCopy thrpt 5 17753.409 ± 393.245 ops/ms
yangtu222BeanCopy thrpt 5 18201.997 ± 119.189 ops/ms
cglibMapperBeanCopy thrpt 5 37679.510 ± 3544.624 ops/ms
mapStructBeanCopy thrpt 5 50328.045 ± 529.707 ops/ms
selmaBeanCopy thrpt 5 200859.561 ± 2370.531 ops/ms

附帶類型轉換(日期)
Benchmark Mode Cnt Score Error Units
micaBeanCopy thrpt 5 1186.375 ± 64.686 ops/ms
mapStructBeanCopy thrpt 5 1623.478 ± 13.894 ops/ms
selmaBeanCopy thrpt 5 160020.595 ± 2570.747 ops/ms

列表模型(100 item)
Benchmark Mode Cnt Score Error Units
springBeanCopy thrpt 5 35.974 ± 0.555 ops/ms
micaBeanCopy thrpt 5 169.066 ± 5.460 ops/ms

Map 拷貝到 bean
Benchmark Mode Cnt Score Error Units
hutoolBeanCopy thrpt 5 1338.551 ± 16.746 ops/ms
micaBeanCopy thrpt 5 13577.056 ± 27.795 ops/ms

結論

和 java-object-mapper-benchmark 測試結果有些出入。

Selma 的表現反而比 MapStruct 更好,可能是模型不一樣導致的。

功能比較
工具包 需要編寫Mapper 支持Map 支持List、Set 類型轉換 性能
Selma 需要手寫轉換 極高
MapStruct 支持常用類型和復雜表達式 極高
BeanUtils(yangtu222) 需要手寫轉換 極高
mica 是用 Spring 的類型轉換 極高
Spring 不支持
hutool 不支持

鏈接

本項目源碼:https://github.com/lets-mica/mica-jmh

開源推薦

Spring boot 微服務高效開發?mica?工具集:https://gitee.com/596392912/mica

Avue?一款基于vue可配置化的神奇框架:https://gitee.com/smallweigit/avue

pig?宇宙最強微服務(架構師必備):https://gitee.com/log4j/pig

SpringBlade?完整的線上解決方案(企業開發必備):https://gitee.com/smallc/SpringBlade

IJPay?支付SDK讓支付觸手可及:https://gitee.com/javen205/IJPay

關注我們

掃描上面二維碼,更多精彩內容每天推薦!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/73982.html

相關文章

  • 2017年前端框架、類庫、工具大比

    摘要:相比于開發人員的數量,目前框架類庫和工具的數量似乎更多一些。本文將會討論目前最為流行的客戶端框架類庫和工具以及它們之間的基本差異。典型的類庫包括字符串處理日期元素事件動畫網絡請求等功能。所以不需要明確的區分類庫框架和工具。 相比于JavaScript開發人員的數量,目前JavaScript框架、類庫和工具的數量似乎更多一些。截至2017年5月,GitHub上的快速搜索顯示,有超過110...

    Alliot 評論0 收藏0
  • 前端技術能力大比(第五期)

    摘要:活動獎勵本次活動計劃評出前三名,均為葡萄城定制獎品第一名葡萄城定制馬克杯第二名葡萄城定制魔方第三名葡萄城定制筆記本中性筆 參賽條件 不限人群,只要加入前端技術交流群(720389894),都可進行在線答題showImg(https://segmentfault.com/img/bVbqcUi?w=798&h=300); 活動流程 1、 在線答題:詳情見下方活動方式2、 題目...

    zhangke3016 評論0 收藏0
  • 前端技術能力大比(第五期)

    摘要:活動獎勵本次活動計劃評出前三名,均為葡萄城定制獎品第一名葡萄城定制馬克杯第二名葡萄城定制魔方第三名葡萄城定制筆記本中性筆 參賽條件 不限人群,只要加入前端技術交流群(720389894),都可進行在線答題showImg(https://segmentfault.com/img/bVbqcUi?w=798&h=300); 活動流程 1、 在線答題:詳情見下方活動方式2、 題目...

    jerryloveemily 評論0 收藏0
  • 云計算CRM大比 七大巨頭你選誰

    摘要:微軟產品管理事業部總經理表示,這項優惠服務將持續到年月日。表示,目前,其價格是每個月每個用戶美元。青睞云計算嗎這家企業應用軟件領域的巨頭進入這個市場也許有點晚了,但除了參與其中別無選擇,但是表現似乎還不錯。 ???????Salesforce.com、甲骨文、微軟、SAP及另外眾多廠商在提供云CRM(客戶關系管理)服務。圍繞云計算的炒作無所不在,想必大家都聽到過云計算。弗雷斯特調研公司預測,...

    zsirfs 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<