Skip to content

Commit

Permalink
using NewThreadSafeMovingAverage by default is overhead
Browse files Browse the repository at this point in the history
NewThreadSafeMovingAverage wrapper isn't needed unless decorator relying on
ewma.MovingAverage is shared among multiple bars. If there is need to share
a decorator, NewThreadSafeMovingAverage must be used explicitly.
  • Loading branch information
vbauerster committed Mar 23, 2024
1 parent 0373e21 commit 772b760
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 3 deletions.
2 changes: 1 addition & 1 deletion decor/eta.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ func EwmaETA(style TimeStyle, age float64, wcc ...WC) Decorator {
} else {
average = ewma.NewMovingAverage(age)
}
return MovingAverageETA(style, NewThreadSafeMovingAverage(average), nil, wcc...)
return MovingAverageETA(style, average, nil, wcc...)
}

// MovingAverageETA decorator relies on MovingAverage implementation to calculate its average.
Expand Down
2 changes: 1 addition & 1 deletion decor/moving_average.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,5 +70,5 @@ func (s *medianWindow) Set(value float64) {

// NewMedian is fixed last 3 samples median MovingAverage.
func NewMedian() ewma.MovingAverage {
return NewThreadSafeMovingAverage(new(medianWindow))
return new(medianWindow)
}
2 changes: 1 addition & 1 deletion decor/speed.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ func EwmaSpeed(unit interface{}, format string, age float64, wcc ...WC) Decorato
} else {
average = ewma.NewMovingAverage(age)
}
return MovingAverageSpeed(unit, format, NewThreadSafeMovingAverage(average), wcc...)
return MovingAverageSpeed(unit, format, average, wcc...)
}

// MovingAverageSpeed decorator relies on MovingAverage implementation
Expand Down

0 comments on commit 772b760

Please sign in to comment.