zorm 1.2.8 发布,附 zorm 与 gorm xorm 的性能压测结果

光石头
 光石头
发布于 2020年03月25日
收藏 5

zorm,golang 轻量级 ORM,readygo子项目

更新内容如下:

  1. 暴露FuncGenerateStringID函数,方便自定义扩展字符串主键ID
  2. Finder.Append 默认加一个空格,避免手误出现语法错误
  3. 缓存字段信息时,使用map代替sync.Map,提高性能
  4. 第三方性能压测结果

压测代码:https://github.com/alphayan/goormbenchmark

2000 times - Insert
      zorm:     9.05s      4524909 ns/op    2146 B/op     33 allocs/op
      gorm:     9.60s      4800617 ns/op    5407 B/op    119 allocs/op
      xorm:    12.63s      6315205 ns/op    2365 B/op     56 allocs/op

    2000 times - BulkInsert 100 row
      xorm:    23.89s     11945333 ns/op  253812 B/op   4250 allocs/op
      gorm:     Don't support bulk insert - https://github.com/jinzhu/gorm/issues/255
      zorm:     Don't support bulk insert

    2000 times - Update
      xorm:     0.39s       195846 ns/op    2529 B/op     87 allocs/op
      zorm:     0.51s       253577 ns/op    2232 B/op     32 allocs/op
      gorm:     0.73s       366905 ns/op    9157 B/op    226 allocs/op

  2000 times - Read
      zorm:     0.28s       141890 ns/op    1616 B/op     43 allocs/op
      gorm:     0.45s       223720 ns/op    5931 B/op    138 allocs/op
      xorm:     0.55s       276055 ns/op    8648 B/op    227 allocs/op

  2000 times - MultiRead limit 1000
      zorm:    13.93s      6967146 ns/op  694286 B/op  23054 allocs/op
      gorm:    26.40s     13201878 ns/op 2392826 B/op  57031 allocs/op
      xorm:    30.77s     15382967 ns/op 1637098 B/op  72088 allocs/op

源码地址:https://gitee.com/chunanyong/zorm

go get gitee.com/chunanyong/zorm 
  • 基于原生 sql 语句编写,是 springrain 的精简和优化
  • 自带代码生成器
  • 代码精简,总计 2000 行左右,注释详细,方便定制修改
  • 支持事务传播,这是zorm诞生的主要原因
  • 支持 mysql、postgresql、oracle、mssql、sqlite
  • 支持数据库读写分离

生产使用参考 UserStructService.go

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:zorm 1.2.8 发布,附 zorm 与 gorm xorm 的性能压测结果
加载中
返回顶部
顶部