-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement Go benchmarking #171
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Please update benchmarking script
- Add minimal benchmark to CI (see how java does)
return results | ||
} | ||
|
||
func average(observations []time.Duration) time.Duration { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a 3rd party go lib to calc stddev, avg and percentile?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll try to find one
go/benchmarks/benchmarking.go
Outdated
var jsonResults []map[string]interface{} | ||
|
||
func writeResults(file *os.File) error { | ||
encoder := json.NewEncoder(file) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do this extend existing file or overwrite it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
overwrite
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should extend, because benchmarking script calls bencmarking app multiple time with different parameters
for _, clientName := range runConfig.clientNames { | ||
for _, numConcurrentTasks := range runConfig.concurrentTasks { | ||
for _, clientCount := range runConfig.clientCount { | ||
for _, dataSize := range runConfig.dataSize { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Holy cow
I tried checking out your branch and running the benchmarks locally, but I got this error:
I also think the instructions for running the benchmarks should probably be documented somewhere (DEVELOPER.md?) |
To run: