On Tue, Oct 01, 2019 at 12:53:50PM +0100, Daniel P. Berrangé wrote:
On Tue, Oct 01, 2019 at 01:36:07PM +0200, Bjoern Walk wrote:Daniel P. Berrangé <berrange@xxxxxxxxxx> [2019-09-30, 03:48PM +0100]: > In this case, our existing C language for writing our production code is > not well suited for the task we're applying it too. You could make an > argument that the virt-host-validate could be written in Python, but > I think it is preferred to keep all our deployable code written in > compiled languages, leaving the scripting languages for our supporting > build system. Any hard arguments on why that's preferential? I don't see a reasoning as to not ship python code as many other project do just fine.The various core system tools which involve python have a history of poor performance. For example, we previously used "firewall-cmd" for talking to firewalld and it caused a massive performance hit, because of all the time spent during startup processing imported modules. This is seen again in OpenStack with its command line tools being so terribly slow - it takes 1.5 seconds just to load the client & do nothing. There's the classic difference of dynamic vs compiled languages where with the former many basic syntax errors don't appear until you hit them at runtime unless. Only mitigated if you invest a tonne of time in unit testing every possible codepath.
Both are good points, but they are greyscale rather than black/white. It depends on the size and complexity of the script. It also contradicts the use of declarative language when you are offloading lot of the logic into the input file. I also think that both points are very much relevant to the build system as well, just not that visible because not all parts of the build system are used/modified by everyone.
Using compiled languages also enables us to share code between the tools and library. This would enable us to actually embed the host validation functionality into the virt driver, so its exposed as a normal API in libvirt. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
Attachment:
signature.asc
Description: PGP signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list