I've been a Dropbox user for many years but I'm looking for a replacement. What drives me nuts and hasn't gotten better over the years is their truly awful Python-based macOS client software.

It is constantly burning a ton of CPU/battery. It's always at or near the top of Activity Monitor's list in the Energy tab. It seems like their app constantly reacts to any file system activity, even if that activity is outside the Dropbox directory. My file system is busy all day long from building in Xcode and other things.

What I need is for Dropbox to improve that by making an efficient, battery-saving, native macOS client. What I don't need is what is announced in this post.

The two other things that I hate are the fact that they don't support symlinks and that they use a kernel extension. All of these things together made me start the search for a replacement.

Does anybody know how the CPU/power impact of Microsoft's and Google's offerings are on the Mac?

I wonder how much of it is Pythons fault, how much is the way they designed it, and how much is the problem domain.

A well-written Python app using the respective platform's native events through say, watchdog[1] performs perfectly fine for huge numbers of files[t]. The language used isn't at all the problem with Dropbox's performance which has been a problem for as long as they've had a desktop app.

If there's one specific bottleneck (ex: hashing files) then that's a prime candidate for Cython[2] or the plain CPython C-API.

Even when you have dropbox restricted to a small folder with _no IO events at all_ it's still constantly working, which is the real problem and entirely an optimization/design problem.

[1]: https://github.com/gorakhargosh/watchdog

[2]: https://cython.org/

[3]: https://docs.python.org/3/c-api/index.html

[t]: ... except when forced to use kqueue or polling