If the goal is to avoid CPU usage, shouldn't we not do this in a for loop? That will save us a bunch of array resizes and copying.

```
self.values = ([value] * min(self.samples, self.lag_cycles)) + self.values
self.values = self.values[:self.samples]
```