zorm, golang lightweight ORM, ReadyGo subprojects
Updates are as follows:
- FuncGenerateStringID exposure function, custom extensions to facilitate a primary key string ID
- Finder.Append default by a space, avoid hand syntax errors error occurs
- When field information cache, instead of using the map sync.Map, improve performance
- 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