From 8c7222a7ce490db43612bdb05386f4813d32ea79 Mon Sep 17 00:00:00 2001 From: vicanso Date: Sun, 26 Dec 2021 16:09:42 +0800 Subject: [PATCH] docs: update documents --- README.md | 15 ++++++++++++++- echarts_test.go | 24 +++++++++++++++++++++++- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6869529..3688cec 100644 --- a/README.md +++ b/README.md @@ -79,4 +79,17 @@ func main() { - `series.itemStyle.color` 该数据项展示时使用的颜色 - `series.data` 数据项对应的数据数组,支持以下形式的数据: - `数值` 常用形式,数组数据为浮点数组,如[1.1, 2,3, 5.2] - - `结构体` pie图表或bar图表中指定样式使用,如[{"value": 1048, "name": "Search Engine"},{"value": 735,"name": "Direct"}] \ No newline at end of file + - `结构体` pie图表或bar图表中指定样式使用,如[{"value": 1048, "name": "Search Engine"},{"value": 735,"name": "Direct"}] + +## 性能 + +简单的图表生成PNG在20ms左右,而SVG的性能则更快,足已满足大量图表的生成需求。 + +```bash +goos: darwin +goarch: amd64 +pkg: github.com/vicanso/go-charts +cpu: Intel(R) Core(TM) i5-8257U CPU @ 1.40GHz +BenchmarkEChartsRenderPNG-8 60 17765045 ns/op 2492854 B/op 1007 allocs/op +BenchmarkEChartsRenderSVG-8 282 4303042 ns/op 32622688 B/op 2983 allocs/op +``` \ No newline at end of file diff --git a/echarts_test.go b/echarts_test.go index 9639ac1..0702591 100644 --- a/echarts_test.go +++ b/echarts_test.go @@ -398,7 +398,7 @@ func TestParseECharsOptions(t *testing.T) { }, options) } -func BenchmarkEChartsRender(b *testing.B) { +func BenchmarkEChartsRenderPNG(b *testing.B) { for i := 0; i < b.N; i++ { _, err := RenderEChartsToPNG(`{ "title": { @@ -419,3 +419,25 @@ func BenchmarkEChartsRender(b *testing.B) { } } } + +func BenchmarkEChartsRenderSVG(b *testing.B) { + for i := 0; i < b.N; i++ { + _, err := RenderEChartsToSVG(`{ + "title": { + "text": "Line" + }, + "xAxis": { + "type": "category", + "data": ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] + }, + "series": [ + { + "data": [150, 230, 224, 218, 135, 147, 260] + } + ] + }`) + if err != nil { + panic(err) + } + } +}