Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

github.com/nashtsai/orm-benchmark

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/nashtsai/orm-benchmark

  • v0.0.0-20140821171508-58058691a8b4
  • Source
  • Go
  • Socket score

Version published
Created
Source

ORM Benchmark

A benchmark to compare the performance of golang orm package.

Results (2014-8-22)

Environment

  • MBP Intel Core i5 2.40GHz (2 cores)
  • 8G RAM
  • Mac OS X 10.9.4
  • go version go1.3.1 darwin/amd64
  • Go-MySQL-Driver Latest

MySQL

  • MySQL 5.6.13 Server for Mac OS X on x86_64

ORMs

All package run in no-cache mode.

Run

go get github.com/nashtsai/orm-benchmark
cd $GOPATH/src/github.com/nashtsai/orm-benchmark
go build
./orm-benchmark -multi=5 -orm=all

Reports

Sample 1
 10000 times - Insert
       raw:     6.20s       619586 ns/op     329 B/op     10 allocs/op
       qbs:     7.14s       714323 ns/op    5181 B/op     85 allocs/op
      xorm:     7.78s       778007 ns/op    2356 B/op     63 allocs/op
       orm:     8.69s       869307 ns/op    1573 B/op     38 allocs/op
      hood:     9.65s       964711 ns/op   13497 B/op    193 allocs/op

  2500 times - MultiInsert 100 row
       raw:     9.80s      3920504 ns/op   50725 B/op    413 allocs/op
      xorm:    11.28s      4513046 ns/op  116264 B/op   1864 allocs/op
       orm:    13.36s      5343020 ns/op   88042 B/op   1245 allocs/op
      hood:     Not support multi insert
       qbs:     Not support multi insert

 10000 times - Update
       qbs:     6.59s       659403 ns/op    5181 B/op     85 allocs/op
       raw:     7.14s       714484 ns/op     343 B/op     10 allocs/op
      xorm:     8.29s       829202 ns/op    2759 B/op     83 allocs/op
      hood:     9.29s       928678 ns/op   13477 B/op    193 allocs/op
       orm:     9.71s       970709 ns/op    1504 B/op     37 allocs/op

 20000 times - Read
       raw:     3.69s       184264 ns/op     921 B/op     23 allocs/op
       qbs:     4.35s       217527 ns/op    7568 B/op    136 allocs/op
      xorm:     5.82s       290913 ns/op    7186 B/op    177 allocs/op
      hood:     7.31s       365405 ns/op    4831 B/op     68 allocs/op
       orm:     7.56s       377792 ns/op    2772 B/op     75 allocs/op

 10000 times - MultiRead limit 100
      xorm:     5.29s       528933 ns/op   35646 B/op    765 allocs/op
       raw:     6.87s       687438 ns/op   32618 B/op    815 allocs/op
       orm:    17.07s      1706562 ns/op   96891 B/op   3286 allocs/op
       qbs:    19.64s      1963853 ns/op  221316 B/op   5216 allocs/op
      hood:    22.66s      2265802 ns/op  239176 B/op   5552 allocs/op
Sample 2
 10000 times - Insert
       raw:     6.39s       638549 ns/op     330 B/op     10 allocs/op
      xorm:     6.86s       686125 ns/op    2364 B/op     63 allocs/op
       qbs:     6.90s       689705 ns/op    5203 B/op     85 allocs/op
       orm:     8.79s       879231 ns/op    1574 B/op     38 allocs/op
      hood:     9.31s       930851 ns/op   13426 B/op    193 allocs/op

  2500 times - MultiInsert 100 row
      xorm:     7.50s      2999451 ns/op  116465 B/op   1864 allocs/op
       raw:     8.59s      3435754 ns/op   50833 B/op    413 allocs/op
       orm:    10.82s      4326730 ns/op   88097 B/op   1245 allocs/op
       qbs:     Not support multi insert
      hood:     Not support multi insert

 10000 times - Update
       qbs:     6.98s       697781 ns/op    5199 B/op     85 allocs/op
      xorm:     7.28s       727931 ns/op    2763 B/op     83 allocs/op
       raw:     8.11s       811301 ns/op     344 B/op     10 allocs/op
       orm:     9.45s       945375 ns/op    1505 B/op     37 allocs/op
      hood:     9.81s       981114 ns/op   13425 B/op    193 allocs/op

 20000 times - Read
       raw:     3.65s       182250 ns/op     923 B/op     23 allocs/op
       qbs:     4.61s       230311 ns/op    7600 B/op    136 allocs/op
      xorm:     5.61s       280429 ns/op    7262 B/op    177 allocs/op
      hood:     7.47s       373731 ns/op    4766 B/op     68 allocs/op
       orm:     8.10s       404900 ns/op    2784 B/op     75 allocs/op

 10000 times - MultiRead limit 100
      xorm:     5.74s       574265 ns/op   35584 B/op    765 allocs/op
       raw:     6.77s       677382 ns/op   32672 B/op    815 allocs/op
       orm:    17.02s      1701782 ns/op   97191 B/op   3286 allocs/op
       qbs:    19.39s      1938879 ns/op  222771 B/op   5218 allocs/op
      hood:    23.14s      2314262 ns/op  238526 B/op   5550 allocs/op

Run2

./orm-benchmark -multi=20 -orm=all

Reports

Sample 1
 40000 times - Insert
       raw:    26.96s       674098 ns/op     329 B/op     10 allocs/op
      xorm:    28.77s       719131 ns/op    2350 B/op     63 allocs/op
      hood:    36.93s       923166 ns/op   13476 B/op    193 allocs/op
       qbs:    38.12s       952943 ns/op    5174 B/op     85 allocs/op
       orm:    49.44s      1235952 ns/op    1575 B/op     38 allocs/op

 10000 times - MultiInsert 100 row
      xorm:    39.27s      3926747 ns/op  116041 B/op   1863 allocs/op
       raw:    39.80s      3979874 ns/op   50649 B/op    412 allocs/op
       orm:    46.10s      4609617 ns/op   88066 B/op   1245 allocs/op
      hood:     Not support multi insert
       qbs:     Not support multi insert

 40000 times - Update
      xorm:    32.31s       807782 ns/op    2754 B/op     83 allocs/op
       raw:    33.28s       831928 ns/op     343 B/op     10 allocs/op
       qbs:    33.74s       843511 ns/op    5174 B/op     85 allocs/op
       orm:    39.70s       992435 ns/op    1505 B/op     37 allocs/op
      hood:    43.85s      1096128 ns/op   13466 B/op    193 allocs/op

 80000 times - Read
       raw:    14.84s       185552 ns/op     921 B/op     23 allocs/op
       qbs:    17.48s       218485 ns/op    7554 B/op    136 allocs/op
      xorm:    22.73s       284130 ns/op    7078 B/op    177 allocs/op
      hood:    29.56s       369516 ns/op    4798 B/op     68 allocs/op
       orm:    30.70s       383693 ns/op    2766 B/op     75 allocs/op

 40000 times - MultiRead limit 100
      xorm:    21.19s       529680 ns/op   35406 B/op    765 allocs/op
       raw:    25.08s       626952 ns/op   32579 B/op    815 allocs/op
       orm:    63.42s      1585418 ns/op   96642 B/op   3286 allocs/op
       qbs:    73.63s      1840659 ns/op  221677 B/op   5215 allocs/op
      hood:    88.25s      2206154 ns/op  239058 B/op   5552 allocs/op

FAQs

Package last updated on 21 Aug 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc