zorm 1.2.8 release, pressure performance test results zorm attached with the gorm xorm

zorm, golang lightweight ORM, ReadyGo subprojects

Updates are as follows:

  1. FuncGenerateStringID exposure function, custom extensions to facilitate a primary key string ID
  2. Finder.Append default by a space, avoid hand syntax errors error occurs
  3. When field information cache, instead of using the map sync.Map, improve performance
  4. Performance test results to third pressure

Pressure measurement Code: https://github.com/alphayan/goormbenchmark

2000 times - Insert 
      Zorm: 9.05s 4524909 ns / at 2146 B / at 33 ALLOCS / on 
      gorm: 9.60s 4800617 ns / at 5407 B / at 119 ALLOCS / on 
      xorm: 12.63s 6315205 ns / at 2365 B / at 56 ALLOCS / at 

    2000 times - 100 bulk insert row 
      xorm: 23.89s 11,945,333 ns / at 253 812 B / 4250 on ALLOCS / on 
      gorm: Do not support bulk insert - https://github.com/jinzhu/gorm/issues/255 
      Zorm: do not support bulk insert 

    2000 times - Update 
      xorm: 0.39s 195 846 ns / at 2529 B / 87 ALLOCS / on 
      Zorm: 0.51s 253 577 ns / at 2232 B / 32 ALLOCS / on 
      gorm: 0.73s 366 905 ns / at 9157 B / 226 ALLOCS on / in

  2000 times - Read 
      Zorm: 0.28s 141890 ns / at 1,616 B / at 43 ALLOCS / on 
      gorm: 0.45s 223 720 ns / at 5931 B / at 138 ALLOCS / on 
      xorm: 0.55s ns 276055/8648 B on / at 227 ALLOCS / at 

  2000 times - MultiRead limit 1000 
      Zorm: 13.93s 6,967,146 ns / at 694 286 B / 23054 ALLOCS on / at 
      gorm: 26.40s 13,201,878 ns / B on 2392826/57031 ALLOCS on / at 
      xorm: 30.77s 15,382,967 ns / to 1,637,098 B / 72088 ALLOCS on / at

Source Address: https://gitee.com/chunanyong/zorm

go get gitee.com/chunanyong/zorm 
  • Based on the preparation of native sql statement is  springrain  streamlining and optimization
  • Own code generator
  • Streamlined code, a total of around 2000 lines, detailed notes, easy custom modifications
  • It supports transaction propagation, which is the main reason for the birth of zorm
  • 支持 mysql、postgresql、oracle、mssql、sqlite
  • Support database separate read and write

Production and use reference  UserStructService.go

Guess you like

Origin www.oschina.net/news/114348/zorm-1-2-8-released