{"id":19974009,"url":"https://github.com/objectbox/objectbox-go-performance","last_synced_at":"2025-07-20T07:11:12.779Z","repository":{"id":96809245,"uuid":"197183396","full_name":"objectbox/objectbox-go-performance","owner":"objectbox","description":"Open Source Performance Benchmarks for ObjectBox Go, GORM, and others","archived":false,"fork":false,"pushed_at":"2023-06-23T15:05:42.000Z","size":45,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-06-21T19:37:35.639Z","etag":null,"topics":["bbolt","database","golang","gorm","objectbox","orm","performance","storm"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/objectbox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-16T11:45:25.000Z","updated_at":"2023-10-06T10:19:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"6cfd0272-ede8-4cba-92b4-120a6368099a","html_url":"https://github.com/objectbox/objectbox-go-performance","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectbox%2Fobjectbox-go-performance","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectbox%2Fobjectbox-go-performance/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectbox%2Fobjectbox-go-performance/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectbox%2Fobjectbox-go-performance/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/objectbox","download_url":"https://codeload.github.com/objectbox/objectbox-go-performance/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224379908,"owners_count":17301525,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bbolt","database","golang","gorm","objectbox","orm","performance","storm"],"created_at":"2024-11-13T03:13:35.572Z","updated_at":"2024-11-13T03:13:36.204Z","avatar_url":"https://github.com/objectbox.png","language":"Go","readme":"Performance tests\n=================\n\nThis is an open source benchmark to test the performance of ObjectBox and other databases that offer persistence of Go structs (e.g. GORM, Storm/bbolt).\n\nTests include:\n\n* CRUD (create, read, update, delete) operations using batches of structs\n* Lookup by IDs\n* Query by prefix\n\nHow to run\n----------\n\nFor each database to test there's a command line executable represented by a main.go file in those directories:\n\n* objectbox\n* gorm\n* bolt-storm\n\nThe following examples refer to the objectbox directory, but you can do the same for others.  \n\nTo get good numbers, close all programs before running, build \u0026 run outside of IDE:\n\n```shell script\ncd objectbox\ngo build \n./objectbox\n```\n\nor you can use `go run ./objectbox` which does yield about the same results\n\nParameters\n----------\n\nA typical invocation looks like this (e.g. 3 runs with 100K objects each run):\n\n```\n./objectbox -count 100000 -runs 3\n```\n\nYou can specify some parameters, see `./objectbox -h`:\n```\nUsage of ./objectbox:\n  -count int\n    \tnumber of objects (default 10000)\n  -db string\n    \tdatabase directory (default \"testdata\")\n  -runs int\n    \tnumber of times the tests should be executed (default 10)\n```\n\nDev notes\n---------\nTo regenerate ObjectBox entity bindings\n```shell script\nmv objectbox/obx/objectbox-model.* internal/models/\ngo run github.com/objectbox/objectbox-go/cmd/objectbox-gogen internal/models/entity.go\nmv internal/models/entity.obx.go objectbox/obx/\nmv internal/models/objectbox-model.* objectbox/obx/\nfor f in objectbox/obx/*.go; do sed -i 's/package models/package obx/g' \"$f\"; done\nfor f in objectbox/obx/*.obx.go; do sed -i '7 a \t. \"github.com/objectbox/objectbox-go-performance/internal/models\"' \"$f\"; done\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobjectbox%2Fobjectbox-go-performance","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fobjectbox%2Fobjectbox-go-performance","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobjectbox%2Fobjectbox-go-performance/lists"}