You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datasketches.apache.org by pl...@apache.org on 2024/03/19 18:50:23 UTC
(datasketches-characterization) branch go-characterization updated: [Go] Add test runner and use float64 KLL in accuracy stats
This is an automated email from the ASF dual-hosted git repository.
placave pushed a commit to branch go-characterization
in repository https://gitbox.apache.org/repos/asf/datasketches-characterization.git
The following commit(s) were added to refs/heads/go-characterization by this push:
new de09987 [Go] Add test runner and use float64 KLL in accuracy stats
de09987 is described below
commit de099870dcc403872f8d15f80f293ec6591d6d21
Author: Pierre Lacave <pi...@datadoghq.com>
AuthorDate: Tue Mar 19 19:50:08 2024 +0100
[Go] Add test runner and use float64 KLL in accuracy stats
---
go/distinct_count_accuracy_profile.go | 6 +++---
go/go.mod | 2 +-
go/go.sum | 2 ++
go/main_test.go | 10 ++++++++++
4 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/go/distinct_count_accuracy_profile.go b/go/distinct_count_accuracy_profile.go
index f399731..ac54f94 100644
--- a/go/distinct_count_accuracy_profile.go
+++ b/go/distinct_count_accuracy_profile.go
@@ -52,7 +52,7 @@ type accuracyStats struct {
sumSqRelErr float64
count int
// Make that a sketch of float64
- rel_err_distribution *kll.ItemsSketch[int64]
+ rel_err_distribution *kll.ItemsSketch[float64]
}
func (a *accuracyStats) update(est float64) {
@@ -60,7 +60,7 @@ func (a *accuracyStats) update(est float64) {
relativeError := est/float64(a.trueValue) - 1.0
a.sumRelErr += relativeError
a.sumSqRelErr += relativeError * relativeError
- a.rel_err_distribution.Update(int64(relativeError))
+ a.rel_err_distribution.Update(relativeError)
a.count++
}
@@ -221,7 +221,7 @@ func buildLog2AccuracyStatsArray(lgMin, lgMax, ppo, lgQK int) []*accuracyStats {
qArr := make([]*accuracyStats, qLen)
p := uint64(1) << lgMin
for i := 0; i < qLen; i++ {
- kllSketch, _ := kll.NewKllItemsSketch[int64](uint16(lgQK), 8, common.ArrayOfLongsSerDe{})
+ kllSketch, _ := kll.NewKllItemsSketch[float64](uint16(lgQK), 8, common.ArrayOfDoublesSerDe{})
qArr[i] = &accuracyStats{
trueValue: p,
rel_err_distribution: kllSketch,
diff --git a/go/go.mod b/go/go.mod
index b820dce..85db448 100644
--- a/go/go.mod
+++ b/go/go.mod
@@ -18,6 +18,6 @@ module github.com/apache/datasketches-characterization/go
go 1.21.1
-require github.com/apache/datasketches-go v0.0.0-20240312184136-6950b3ed5d9c
+require github.com/apache/datasketches-go v0.0.0-20240319101001-9f08c628cc66
require github.com/twmb/murmur3 v1.1.8 // indirect
diff --git a/go/go.sum b/go/go.sum
index 9fb48d3..72fab08 100644
--- a/go/go.sum
+++ b/go/go.sum
@@ -1,5 +1,7 @@
github.com/apache/datasketches-go v0.0.0-20240312184136-6950b3ed5d9c h1:wa6C87Gc0UOTCXYSyEQCZKbdzBKA7x+Wk1pLjPRvCj4=
github.com/apache/datasketches-go v0.0.0-20240312184136-6950b3ed5d9c/go.mod h1:MieYfErTcRk22fstMEpxXk0/bzFfSbnfE/Kxz6tLvCE=
+github.com/apache/datasketches-go v0.0.0-20240319101001-9f08c628cc66 h1:D1waSfcR2fuDfd5leic6q88xYyX+q9spGh7lfdSv11s=
+github.com/apache/datasketches-go v0.0.0-20240319101001-9f08c628cc66/go.mod h1:MieYfErTcRk22fstMEpxXk0/bzFfSbnfE/Kxz6tLvCE=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
diff --git a/go/main_test.go b/go/main_test.go
new file mode 100644
index 0000000..6dd41e5
--- /dev/null
+++ b/go/main_test.go
@@ -0,0 +1,10 @@
+package main
+
+import (
+ "testing"
+)
+
+func TestHllSketchAccuracyRunner(t *testing.T) {
+ runner := NewDistinctCountAccuracyProfile(distinctCountJobConfig)
+ runner.run()
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org