Well I looked at it and what would be acceptable for me is this:
1) by default use the quicker version and fill `docker._size` with `None`
2) inside the docker interface in places where size is not relevant (`__str__`), use `docker._size`
3) implement `docker.size` property which in case it's `None` would execute `docker ps --size` and fill this information.

There would be performance impact when you'd need the size for more than 1 container. So actually I'd probably keep the version with `size` as non-default for such purposes. But who needs size by default? (It's really a big difference, I was wondering why my stop test is taking so long and didn't noticed the `--size` there...