| 21 Dec 2021 |
K900 ⚡️ | https://perf.rust-lang.org/index.html?start=&end=&kind=raw&stat=max-rss | 20:17:53 |
K900 ⚡️ | For reference | 20:17:55 |
K900 ⚡️ | rustc is actually tiny | 20:18:02 |
K900 ⚡️ | Also for the systemd stuff it might be a good idea to just use a dbus library | 20:19:55 |
K900 ⚡️ | And talk to systemd over dbus | 20:20:00 |
andi- | that is what I meant when I wrote udev above.. I've not been very happy with dbus crates a couple of years ago. | 20:20:36 |
andi- | Time to revisit. | 20:20:38 |
K900 ⚡️ | I used dbus-rs with Tokio and it was... fine | 20:21:10 |
K900 ⚡️ | Not like, super amazing, but completely fine | 20:21:22 |
andi- | Call me old-school but when I have to pull in Tokio the fun stops. I'd rather hand-write epoll for most applications :( | 20:21:43 |
K900 ⚡️ | You don't have to use Tokio | 20:22:16 |
K900 ⚡️ | In fact I'd say you don't want to use Tokio here | 20:22:24 |
andi- | 5(?) years of async churn have not kept me very hyped for async rust. | 20:22:26 |
K900 ⚡️ | They also have a fully functional sync client | 20:22:32 |
K900 ⚡️ | Which is probably a better fit for oneshot scripts anyway | 20:22:52 |
andi- | Yeah, we want precise location information of when things happen and mostly execute things in parallel anyway. No point in doing async there. | 20:23:22 |
andi- | err s/parallel/sequence/ | 20:23:56 |
andi- | I am tired. | 20:23:57 |
K900 ⚡️ | They also have a really nice codegen tool that you can just run on anything you have on the bus and it'll generate a full client wrapper | 20:23:59 |
K900 ⚡️ | With typed methods and stuff | 20:24:17 |
andi- | I'll have to see what we actually need. I would almost be in favor of avoiding dbus if we can and just run systemctl as a subprocess instead. That at least ensures we don't have to maintain yey another library boundary. | 20:25:43 |
andi- | * I'll have to see what we actually need. I would almost be in favor of avoiding dbus if we can and just run systemctl as a subprocess instead. That at least ensures we don't have to maintain yet another library boundary. | 20:26:00 |
K900 ⚡️ | The systemd dbus API is stable | 20:26:08 |
andi- | Until it isn't. See the KDE logind issue a few releases ago. | 20:26:26 |
K900 ⚡️ | Well, that was a bug | 20:26:45 |
K900 ⚡️ | Same thing can happen to systemctl | 20:26:59 |
andi- | Much less likely to go unnoticed tho | 20:27:10 |
andi- | And given that it is mostly me (and Mic92) doing the systemd upgrade work I'd rather not have yet another issue to worry about. | 20:27:43 |
Mic92 (Old) | If don't need the perf, than spawning systemctl should be good enough. It is also easier to debug. | 20:30:01 |
Mic92 (Old) | * If we don't need the perf, than spawning systemctl should be good enough. It is also easier to debug. | 20:30:50 |