Comment by luckylion
8 hours ago
The same is true for regular databases though, isn't it?
Network adds latency and while it might be fine to run 500 queries with the database being on the same machine, adding 1-5ms per query makes it feel not okay.
8 hours ago
The same is true for regular databases though, isn't it?
Network adds latency and while it might be fine to run 500 queries with the database being on the same machine, adding 1-5ms per query makes it feel not okay.
> adding 1-5ms per query makes it feel not okay
Or going from ~1ms over a local wired network to ~10ms over a wireless network.
Had a customer performance complaint that boiled down to that, something that should take minutes took hours. Could not reproduce it internally.
After a lot of back abd forth I asked if the user machine was wired. Nope, wireless laptop. Got them to plug in like their colleagues and it was fast again.
If you have the ability to batch that communication, you could probably get those minutes down to seconds.
Yeah, sadly most of the business logic was written when people had like a few items to process, not tens of thousands, so batching wasn't a concern.
We're slowly rewriting the application, batching in the core logic will absolutely be high up on the board.
Yes, that is why I said “local database (sqlite, or a traditional database over a unix socket on the same machine).”
This isn’t an sqlite-specific point, although sqlite often runs faster on a single machine because local sockets have some overhead.