On 7/30/19 2:48 PM, Tamas K Lengyel wrote: > On Tue, Jul 30, 2019 at 7:32 AM Nicholas Rosbrook > <rosbro...@ainfosec.com> wrote: >> >> Hello, >> >> As a follow up to the presentation that Brendan Kerrigan and I gave at Xen >> summit earlier this month, "Client Virtualization Toolstack in Go", I would >> like to open >> a discussion around the development of Go bindings for libxl. George Dunlap, >> Nicolas Belouin and I have had some discussion off-line already. >> >> So far, these are the topics of discussion: > > Hi Nicholas, > to add to the list of topics I just want to mention that perhaps it > may be beneficial to consider parts of the go bindings not go to libxl > at all. I have been digging through libxl for the past couple months > and it's asynchronous callback system is damn near impossible to > follow and I just can't shake the feeling that it would be a lot > easier to follow if it was in go.
So I don't think we're ever going to switch to golang being our primary toolstack language, because calling it from other languages isn't really an option. That means that implementing things like domain creation in Go mean duplicating functionality in two places, which is extraordinarily expensive from a software-engineering perspective. FWIW I think the asynchronous callback system just needs better documentation. It always takes me a little bit to get my bearings again once I have to change that code, but once I do, everything is consistent. And as I understand it, the external interface was written primarily with libvirt in mind, so it would probably be difficult to change it while remaining compatible. > Not to mention the performance > issues with the built-in garbage collector What performance issues were you seeing with libxl's garbage collector? I thought it just kept a list of pointers and freed them at the very end. > and fork/exec parts. Since we only fork/exec when we need to do so, this part would probably be the same no matter what language it was done in. That said, very little of this has had much performance analysis -- if this is important to you, I'm sure there's lots of low-hanging fruit in terms of improvements we could make. -George _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel