Skip to content

Commit dce4035

Browse files
committed
Add prepare statement lru + hack insertMany for mariaDB
1 parent b6970a5 commit dce4035

27 files changed

Lines changed: 844 additions & 357 deletions

cmd/bench/bench.go

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"bufio"
55
"fmt"
66
"os"
7+
"slices"
78
"strconv"
89
"strings"
910

@@ -62,6 +63,11 @@ func parseBenchmarks() []BenchData {
6263
return entries
6364
}
6465

66+
type BenchSeries struct {
67+
Name string
68+
Data []opts.LineData
69+
}
70+
6571
type BenchData struct {
6672
Suite string
6773
Name string
@@ -125,14 +131,19 @@ func generateInsertManyCPULines(data []BenchData, name string, filter string) *c
125131
)
126132
line.SetXAxis([]string{"10", "25", "50", "100", "250", "500"})
127133

134+
seriesData := []BenchSeries{}
128135
for k, v := range entries {
129136
if !strings.Contains(k, filter) {
130137
continue
131138
}
132-
133-
line.AddSeries(strings.ReplaceAll(k, filter, ""), generateLineSpeedData(v, name))
139+
seriesData = append(seriesData, BenchSeries{
140+
Name: strings.ReplaceAll(k, filter, ""),
141+
Data: generateLineSpeedData(v, name),
142+
})
134143
}
135144

145+
drawLines(seriesData, line)
146+
136147
return line
137148
}
138149

@@ -153,20 +164,36 @@ func generateInsertManyAllocLines(data []BenchData, name string, filter string)
153164
)
154165
line.SetXAxis([]string{"10", "25", "50", "100", "250", "500"})
155166

167+
seriesData := []BenchSeries{}
156168
for k, v := range entries {
157169
if !strings.Contains(k, filter) {
158170
continue
159171
}
160-
line.AddSeries(strings.ReplaceAll(k, filter, ""), generateLineAllocData(v, name))
172+
seriesData = append(seriesData, BenchSeries{
173+
Name: strings.ReplaceAll(k, filter, ""),
174+
Data: generateLineAllocData(v, name),
175+
})
161176
}
162177

178+
drawLines(seriesData, line)
179+
163180
return line
164181
}
165182

183+
func drawLines(seriesData []BenchSeries, line *charts.Line) {
184+
slices.SortFunc(seriesData, func(a, b BenchSeries) int {
185+
return strings.Compare(a.Name, b.Name)
186+
})
187+
188+
for _, v := range seriesData {
189+
line.AddSeries(v.Name, v.Data)
190+
}
191+
}
192+
166193
func main() {
167194
data := parseBenchmarks()
168195

169-
for _, db := range []string{"Postgres", "SQLite"} {
196+
for _, db := range []string{"Postgres", "SQLite", "MariaDB"} {
170197
for _, op := range []string{"InsertMany", "FindMany"} {
171198
f1, _ := os.Create(fmt.Sprintf("docs/public/bench_%s_%s_cpu.html", strings.ToLower(db), strings.ToLower(op)))
172199
defer f1.Close()

devenv.lock

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
"devenv": {
44
"locked": {
55
"dir": "src/modules",
6-
"lastModified": 1724763216,
6+
"lastModified": 1725464985,
77
"owner": "cachix",
88
"repo": "devenv",
9-
"rev": "1e4ef61205b9aa20fe04bf1c468b6a316281c4f1",
10-
"treeHash": "5a8fdb7f5c9a192415fb9f16b950bbd0c9ea5f95",
9+
"rev": "325588271687d275632958b4c988ef7a05772f65",
10+
"treeHash": "a85a79c0941bff354a040b6d17fe1f542a661ed1",
1111
"type": "github"
1212
},
1313
"original": {
@@ -72,11 +72,11 @@
7272
},
7373
"nixpkgs-stable": {
7474
"locked": {
75-
"lastModified": 1724531977,
75+
"lastModified": 1725407940,
7676
"owner": "NixOS",
7777
"repo": "nixpkgs",
78-
"rev": "2527da1ef492c495d5391f3bcf9c1dd9f4514e32",
79-
"treeHash": "d14102f174ee3125e8b0167d5edd69202147f6f4",
78+
"rev": "6f6c45b5134a8ee2e465164811e451dcb5ad86e3",
79+
"treeHash": "f65d5344b23cfbe3695140b602bc463349b26638",
8080
"type": "github"
8181
},
8282
"original": {
@@ -88,11 +88,11 @@
8888
},
8989
"nixpkgs-unstable": {
9090
"locked": {
91-
"lastModified": 1724479785,
91+
"lastModified": 1725103162,
9292
"owner": "nixos",
9393
"repo": "nixpkgs",
94-
"rev": "d0e1602ddde669d5beb01aec49d71a51937ed7be",
95-
"treeHash": "79464de14ea14ded4fd827be538729d4c6d6b09d",
94+
"rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b",
95+
"treeHash": "d8cc3c37ece87a2f965f4749978f64552871c243",
9696
"type": "github"
9797
},
9898
"original": {
@@ -112,11 +112,11 @@
112112
"nixpkgs-stable": "nixpkgs-stable"
113113
},
114114
"locked": {
115-
"lastModified": 1724837688,
115+
"lastModified": 1725513492,
116116
"owner": "cachix",
117117
"repo": "pre-commit-hooks.nix",
118-
"rev": "e4b258096adade1daed37f732c343d1b5374dfae",
119-
"treeHash": "a4fb93ad9285f7872144df5395150475620b8f40",
118+
"rev": "7570de7b9b504cfe92025dd1be797bf546f66528",
119+
"treeHash": "4b46d77870afecd8f642541cb4f4927326343b59",
120120
"type": "github"
121121
},
122122
"original": {

docs/bench/bench.md

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,4 +89,45 @@ Tested in `:memory:` mode
8989
9090
<iframe :src="withBase('/bench_sqlite_insertmany_alloc.html')" width=576 height=320 frameBorder="0" scrolling="no"/>
9191
92-
<iframe :src="withBase('/bench_sqlite_findmany_alloc.html')" width=576 height=320 frameBorder="0" scrolling="no"/>
92+
<iframe :src="withBase('/bench_sqlite_findmany_alloc.html')" width=576 height=320 frameBorder="0" scrolling="no"/>
93+
94+
95+
---
96+
97+
## MariaDB
98+
99+
::: info
100+
101+
Library Tested:
102+
* MangoSQL with go-sql-driver
103+
* [Gorm](https://gorm.io/) with gorm sqlite driver
104+
105+
:::
106+
107+
### CPU (Operation per second)
108+
109+
::: tip Axis
110+
111+
**Horizontal:** Size of payload (number of items)
112+
113+
**Vertical:** Converted ns/op -> op/s, to get unit easier to visualize
114+
115+
:::
116+
117+
<iframe :src="withBase('/bench_mariadb_insertmany_cpu.html')" width=576 height=320 frameBorder="0" scrolling="no" />
118+
119+
<iframe :src="withBase('/bench_mariadb_findmany_cpu.html')" width=576 height=320 frameBorder="0" scrolling="no" />
120+
121+
### Memory Allocation
122+
123+
::: tip Axis
124+
125+
**Horizontal:** Size of payload (number of items)
126+
127+
**Vertical:** Go bench alloc/op
128+
129+
:::
130+
131+
<iframe :src="withBase('/bench_mariadb_insertmany_alloc.html')" width=576 height=320 frameBorder="0" scrolling="no"/>
132+
133+
<iframe :src="withBase('/bench_mariadb_findmany_alloc.html')" width=576 height=320 frameBorder="0" scrolling="no"/>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
<!DOCTYPE html>
3+
<html>
4+
<head>
5+
<meta charset="utf-8">
6+
<title>Awesome go-echarts</title>
7+
<script src="https://go-echarts.github.io/go-echarts-assets/assets/echarts.min.js"></script>
8+
<script src="https://go-echarts.github.io/go-echarts-assets/assets/themes/shine.js"></script>
9+
</head>
10+
11+
<body><div class="container">
12+
<div class="item" id="FIjKxKNEVPWh" style="width:576px;height:320px;"></div>
13+
</div><script type="text/javascript">
14+
"use strict";
15+
let goecharts_FIjKxKNEVPWh = echarts.init(document.getElementById('FIjKxKNEVPWh'), "shine", { renderer: "canvas" });
16+
let option_FIjKxKNEVPWh = {"legend":{},"series":[{"name":"Gorm","type":"line","data":[{"value":111},{"value":324},{"value":669},{"value":1248},{"value":2401},{"value":5861},{"value":12111},{"value":900},{"value":310},{"value":673},{"value":1275},{"value":2479},{"value":6089},{"value":12103}]},{"name":"Mango","type":"line","data":[{"value":47},{"value":167},{"value":363},{"value":689},{"value":1344},{"value":3299},{"value":7085},{"value":1240},{"value":254},{"value":481},{"value":857},{"value":1608},{"value":3863},{"value":7618}]}],"title":{"text":"FindMany|Mem","subtext":"Lower is Better (allocs/op)"},"toolbox":{},"tooltip":{},"xAxis":[{"data":["10","25","50","100","250","500"]}],"yAxis":[{}]}
17+
18+
goecharts_FIjKxKNEVPWh.setOption(option_FIjKxKNEVPWh);
19+
</script>
20+
<style>
21+
.container {margin-top:30px; display: flex;justify-content: center;align-items: center;}
22+
.item {margin: auto;}
23+
</style>
24+
</body>
25+
</html>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
<!DOCTYPE html>
3+
<html>
4+
<head>
5+
<meta charset="utf-8">
6+
<title>Awesome go-echarts</title>
7+
<script src="https://go-echarts.github.io/go-echarts-assets/assets/echarts.min.js"></script>
8+
<script src="https://go-echarts.github.io/go-echarts-assets/assets/themes/shine.js"></script>
9+
</head>
10+
11+
<body><div class="container">
12+
<div class="item" id="PzZNiNngTAqQ" style="width:576px;height:320px;"></div>
13+
</div><script type="text/javascript">
14+
"use strict";
15+
let goecharts_PzZNiNngTAqQ = echarts.init(document.getElementById('PzZNiNngTAqQ'), "shine", { renderer: "canvas" });
16+
let option_PzZNiNngTAqQ = {"legend":{},"series":[{"name":"Gorm","type":"line","data":[{"value":299},{"value":252},{"value":263},{"value":229},{"value":186},{"value":124},{"value":87},{"value":348},{"value":2693},{"value":2042},{"value":1490},{"value":973},{"value":423},{"value":196}]},{"name":"Mango","type":"line","data":[{"value":330},{"value":319},{"value":305},{"value":280},{"value":243},{"value":156},{"value":86},{"value":633},{"value":4940},{"value":3574},{"value":2499},{"value":1502},{"value":662},{"value":374}]}],"title":{"text":"FindMany|CPU","subtext":"Higher is Better (op/s)"},"toolbox":{},"tooltip":{},"xAxis":[{"data":["10","25","50","100","250","500"]}],"yAxis":[{}]}
17+
18+
goecharts_PzZNiNngTAqQ.setOption(option_PzZNiNngTAqQ);
19+
</script>
20+
<style>
21+
.container {margin-top:30px; display: flex;justify-content: center;align-items: center;}
22+
.item {margin: auto;}
23+
</style>
24+
</body>
25+
</html>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
<!DOCTYPE html>
3+
<html>
4+
<head>
5+
<meta charset="utf-8">
6+
<title>Awesome go-echarts</title>
7+
<script src="https://go-echarts.github.io/go-echarts-assets/assets/echarts.min.js"></script>
8+
<script src="https://go-echarts.github.io/go-echarts-assets/assets/themes/shine.js"></script>
9+
</head>
10+
11+
<body><div class="container">
12+
<div class="item" id="ddUqTjwhKnXr" style="width:576px;height:320px;"></div>
13+
</div><script type="text/javascript">
14+
"use strict";
15+
let goecharts_ddUqTjwhKnXr = echarts.init(document.getElementById('ddUqTjwhKnXr'), "shine", { renderer: "canvas" });
16+
let option_ddUqTjwhKnXr = {"legend":{},"series":[{"name":"Gorm","type":"line","data":[{"value":111},{"value":324},{"value":669},{"value":1248},{"value":2401},{"value":5861},{"value":12111},{"value":900},{"value":310},{"value":673},{"value":1275},{"value":2479},{"value":6089},{"value":12103}]},{"name":"Mango","type":"line","data":[{"value":47},{"value":167},{"value":363},{"value":689},{"value":1344},{"value":3299},{"value":7085},{"value":1240},{"value":254},{"value":481},{"value":857},{"value":1608},{"value":3863},{"value":7618}]}],"title":{"text":"InsertMany|Mem","subtext":"Lower is Better (allocs/op)"},"toolbox":{},"tooltip":{},"xAxis":[{"data":["10","25","50","100","250","500"]}],"yAxis":[{}]}
17+
18+
goecharts_ddUqTjwhKnXr.setOption(option_ddUqTjwhKnXr);
19+
</script>
20+
<style>
21+
.container {margin-top:30px; display: flex;justify-content: center;align-items: center;}
22+
.item {margin: auto;}
23+
</style>
24+
</body>
25+
</html>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
<!DOCTYPE html>
3+
<html>
4+
<head>
5+
<meta charset="utf-8">
6+
<title>Awesome go-echarts</title>
7+
<script src="https://go-echarts.github.io/go-echarts-assets/assets/echarts.min.js"></script>
8+
<script src="https://go-echarts.github.io/go-echarts-assets/assets/themes/shine.js"></script>
9+
</head>
10+
11+
<body><div class="container">
12+
<div class="item" id="BubGNFKiAdCt" style="width:576px;height:320px;"></div>
13+
</div><script type="text/javascript">
14+
"use strict";
15+
let goecharts_BubGNFKiAdCt = echarts.init(document.getElementById('BubGNFKiAdCt'), "shine", { renderer: "canvas" });
16+
let option_BubGNFKiAdCt = {"legend":{},"series":[{"name":"Gorm","type":"line","data":[{"value":299},{"value":252},{"value":263},{"value":229},{"value":186},{"value":124},{"value":87},{"value":348},{"value":2693},{"value":2042},{"value":1490},{"value":973},{"value":423},{"value":196}]},{"name":"Mango","type":"line","data":[{"value":330},{"value":319},{"value":305},{"value":280},{"value":243},{"value":156},{"value":86},{"value":633},{"value":4940},{"value":3574},{"value":2499},{"value":1502},{"value":662},{"value":374}]}],"title":{"text":"InsertMany|CPU","subtext":"Higher is Better (op/s)"},"toolbox":{},"tooltip":{},"xAxis":[{"data":["10","25","50","100","250","500"]}],"yAxis":[{}]}
17+
18+
goecharts_BubGNFKiAdCt.setOption(option_BubGNFKiAdCt);
19+
</script>
20+
<style>
21+
.container {margin-top:30px; display: flex;justify-content: center;align-items: center;}
22+
.item {margin: auto;}
23+
</style>
24+
</body>
25+
</html>

docs/public/bench_postgres_findmany_alloc.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
</head>
1010

1111
<body><div class="container">
12-
<div class="item" id="TRAdUQiMONGF" style="width:576px;height:320px;"></div>
12+
<div class="item" id="EPBGywCkUQbE" style="width:576px;height:320px;"></div>
1313
</div><script type="text/javascript">
1414
"use strict";
15-
let goecharts_TRAdUQiMONGF = echarts.init(document.getElementById('TRAdUQiMONGF'), "shine", { renderer: "canvas" });
16-
let option_TRAdUQiMONGF = {"legend":{},"series":[{"name":"MangoPGX","type":"line","data":[{"value":41},{"value":101},{"value":222},{"value":423},{"value":824},{"value":2026},{"value":4539},{"value":1220},{"value":336},{"value":657},{"value":1189},{"value":2243},{"value":5403},{"value":10662}]},{"name":"MangoPQ","type":"line","data":[{"value":41},{"value":120},{"value":256},{"value":482},{"value":933},{"value":2285},{"value":5056},{"value":1210},{"value":294},{"value":581},{"value":1058},{"value":2009},{"value":4863},{"value":9617}]},{"name":"GormPGX","type":"line","data":[{"value":122},{"value":475},{"value":1107},{"value":2213},{"value":4425},{"value":11039},{"value":22542},{"value":1100},{"value":447},{"value":1007},{"value":1939},{"value":3803},{"value":9521},{"value":19036}]}],"title":{"text":"FindMany|Mem","subtext":"Lower is Better (allocs/op)"},"toolbox":{},"tooltip":{},"xAxis":[{"data":["10","25","50","100","250","500"]}],"yAxis":[{}]}
15+
let goecharts_EPBGywCkUQbE = echarts.init(document.getElementById('EPBGywCkUQbE'), "shine", { renderer: "canvas" });
16+
let option_EPBGywCkUQbE = {"legend":{},"series":[{"name":"GormPGX","type":"line","data":[{"value":122},{"value":475},{"value":1107},{"value":2213},{"value":4425},{"value":11039},{"value":22540},{"value":1100},{"value":447},{"value":1007},{"value":1939},{"value":3804},{"value":9521},{"value":19038}]},{"name":"MangoPGX","type":"line","data":[{"value":41},{"value":101},{"value":222},{"value":423},{"value":824},{"value":2026},{"value":4540},{"value":1220},{"value":336},{"value":657},{"value":1189},{"value":2243},{"value":5403},{"value":10661}]},{"name":"MangoPQ","type":"line","data":[{"value":41},{"value":120},{"value":256},{"value":482},{"value":933},{"value":2285},{"value":5056},{"value":1210},{"value":294},{"value":581},{"value":1058},{"value":2009},{"value":4863},{"value":9617}]}],"title":{"text":"FindMany|Mem","subtext":"Lower is Better (allocs/op)"},"toolbox":{},"tooltip":{},"xAxis":[{"data":["10","25","50","100","250","500"]}],"yAxis":[{}]}
1717

18-
goecharts_TRAdUQiMONGF.setOption(option_TRAdUQiMONGF);
18+
goecharts_EPBGywCkUQbE.setOption(option_EPBGywCkUQbE);
1919
</script>
2020
<style>
2121
.container {margin-top:30px; display: flex;justify-content: center;align-items: center;}

docs/public/bench_postgres_findmany_cpu.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
</head>
1010

1111
<body><div class="container">
12-
<div class="item" id="IGERKvSkQmPY" style="width:576px;height:320px;"></div>
12+
<div class="item" id="JdaJGEGfHDQI" style="width:576px;height:320px;"></div>
1313
</div><script type="text/javascript">
1414
"use strict";
15-
let goecharts_IGERKvSkQmPY = echarts.init(document.getElementById('IGERKvSkQmPY'), "shine", { renderer: "canvas" });
16-
let option_IGERKvSkQmPY = {"legend":{},"series":[{"name":"MangoPGX","type":"line","data":[{"value":6494},{"value":4802},{"value":3277},{"value":2111},{"value":1152},{"value":453},{"value":223},{"value":649},{"value":4769},{"value":3589},{"value":2435},{"value":1481},{"value":650},{"value":310}]},{"name":"MangoPQ","type":"line","data":[{"value":7055},{"value":5049},{"value":3233},{"value":2133},{"value":1162},{"value":472},{"value":231},{"value":727},{"value":5599},{"value":3746},{"value":2472},{"value":1585},{"value":702},{"value":292}]},{"name":"GormPGX","type":"line","data":[{"value":2492},{"value":1880},{"value":1360},{"value":1006},{"value":566},{"value":216},{"value":122},{"value":620},{"value":4232},{"value":2991},{"value":1918},{"value":992},{"value":395},{"value":192}]}],"title":{"text":"FindMany|CPU","subtext":"Higher is Better (op/s)"},"toolbox":{},"tooltip":{},"xAxis":[{"data":["10","25","50","100","250","500"]}],"yAxis":[{}]}
15+
let goecharts_JdaJGEGfHDQI = echarts.init(document.getElementById('JdaJGEGfHDQI'), "shine", { renderer: "canvas" });
16+
let option_JdaJGEGfHDQI = {"legend":{},"series":[{"name":"GormPGX","type":"line","data":[{"value":2436},{"value":1928},{"value":1342},{"value":962},{"value":561},{"value":215},{"value":127},{"value":643},{"value":4495},{"value":2923},{"value":1887},{"value":1048},{"value":410},{"value":202}]},{"name":"MangoPGX","type":"line","data":[{"value":6462},{"value":4746},{"value":3139},{"value":2118},{"value":1174},{"value":463},{"value":228},{"value":673},{"value":4944},{"value":3605},{"value":2462},{"value":1535},{"value":663},{"value":306}]},{"name":"MangoPQ","type":"line","data":[{"value":7469},{"value":4943},{"value":3260},{"value":1987},{"value":1189},{"value":483},{"value":233},{"value":756},{"value":5302},{"value":3904},{"value":2513},{"value":1493},{"value":729},{"value":293}]}],"title":{"text":"FindMany|CPU","subtext":"Higher is Better (op/s)"},"toolbox":{},"tooltip":{},"xAxis":[{"data":["10","25","50","100","250","500"]}],"yAxis":[{}]}
1717

18-
goecharts_IGERKvSkQmPY.setOption(option_IGERKvSkQmPY);
18+
goecharts_JdaJGEGfHDQI.setOption(option_JdaJGEGfHDQI);
1919
</script>
2020
<style>
2121
.container {margin-top:30px; display: flex;justify-content: center;align-items: center;}

docs/public/bench_postgres_insertmany_alloc.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
</head>
1010

1111
<body><div class="container">
12-
<div class="item" id="tFCUHpwBWCnT" style="width:576px;height:320px;"></div>
12+
<div class="item" id="uTVSxLBTJwEW" style="width:576px;height:320px;"></div>
1313
</div><script type="text/javascript">
1414
"use strict";
15-
let goecharts_tFCUHpwBWCnT = echarts.init(document.getElementById('tFCUHpwBWCnT'), "shine", { renderer: "canvas" });
16-
let option_tFCUHpwBWCnT = {"legend":{},"series":[{"name":"GormPGX","type":"line","data":[{"value":122},{"value":475},{"value":1107},{"value":2213},{"value":4425},{"value":11039},{"value":22542},{"value":1100},{"value":447},{"value":1007},{"value":1939},{"value":3803},{"value":9521},{"value":19036}]},{"name":"MangoPGX","type":"line","data":[{"value":41},{"value":101},{"value":222},{"value":423},{"value":824},{"value":2026},{"value":4539},{"value":1220},{"value":336},{"value":657},{"value":1189},{"value":2243},{"value":5403},{"value":10662}]},{"name":"MangoPQ","type":"line","data":[{"value":41},{"value":120},{"value":256},{"value":482},{"value":933},{"value":2285},{"value":5056},{"value":1210},{"value":294},{"value":581},{"value":1058},{"value":2009},{"value":4863},{"value":9617}]}],"title":{"text":"InsertMany|Mem","subtext":"Lower is Better (allocs/op)"},"toolbox":{},"tooltip":{},"xAxis":[{"data":["10","25","50","100","250","500"]}],"yAxis":[{}]}
15+
let goecharts_uTVSxLBTJwEW = echarts.init(document.getElementById('uTVSxLBTJwEW'), "shine", { renderer: "canvas" });
16+
let option_uTVSxLBTJwEW = {"legend":{},"series":[{"name":"GormPGX","type":"line","data":[{"value":122},{"value":475},{"value":1107},{"value":2213},{"value":4425},{"value":11039},{"value":22540},{"value":1100},{"value":447},{"value":1007},{"value":1939},{"value":3804},{"value":9521},{"value":19038}]},{"name":"MangoPGX","type":"line","data":[{"value":41},{"value":101},{"value":222},{"value":423},{"value":824},{"value":2026},{"value":4540},{"value":1220},{"value":336},{"value":657},{"value":1189},{"value":2243},{"value":5403},{"value":10661}]},{"name":"MangoPQ","type":"line","data":[{"value":41},{"value":120},{"value":256},{"value":482},{"value":933},{"value":2285},{"value":5056},{"value":1210},{"value":294},{"value":581},{"value":1058},{"value":2009},{"value":4863},{"value":9617}]}],"title":{"text":"InsertMany|Mem","subtext":"Lower is Better (allocs/op)"},"toolbox":{},"tooltip":{},"xAxis":[{"data":["10","25","50","100","250","500"]}],"yAxis":[{}]}
1717

18-
goecharts_tFCUHpwBWCnT.setOption(option_tFCUHpwBWCnT);
18+
goecharts_uTVSxLBTJwEW.setOption(option_uTVSxLBTJwEW);
1919
</script>
2020
<style>
2121
.container {margin-top:30px; display: flex;justify-content: center;align-items: center;}

0 commit comments

Comments
 (0)