On 2023-09-19 17:55:07 +0200 (+0200), Sven Kieske wrote: [...]
e.g. Artem rewrote the current openstack cli client in rust and while the current cli in python is really slow for larger clouds, it is fast in rust[2]. So there is some work being done, although it's very very early days.
the results of the poc where shown at the last public cloud sig meeting, which was quite interesting.
[...]
It's worth keeping in mind that any rewrite, even into the same language, is likely to yield performance improvements. When redoing an application from scratch you have the opportunity to make different architectural/design decisions, free yourself from cruft and historical baggage, and so on. It's hard to say "OpenStackCLI rewritten in Rust is faster because Rust is faster than Python" unless the design is architecturally the same (which is also almost impossible to achieve between different languages anyway). Most of the current CLI's startup slowness is because of the mechanism it relies on for finding plugins, and even just redoing that with a more performant alternative would make a huge difference.
Regardless, that's a cool feat, and like I said focusing on bits in performance-critical paths which can take advantage of specific language features makes more sense than blindly rewriting everything we've got in another language. But also Python is getting better. It would be cool to try comparing DevStack/Tempest job durations and resource consumption between 3.8 and 3.11 for example (or 3.12 once we can).