On 19/06/15 11:22, Alexandros Frantzis wrote: > Hello all, > > there have recently been a few occasions where we wanted to experiment with > performance improvements, but lacked a way to easily measure their effect. > There have also been a few occasions where different implementations of the > (supposedly) same performance test came up with different results. In light of > these issues, it would be helpful to have a common performance test framework, > to make it easy to create and share performance tests scenarios.
+1 > As our codebase is C++ it would be natural to provide such a framework > in C++, providing the maximum flexibility and customizability. > > On the other hand, sharing C++ code is not convenient, especially if want more > casual users to be able to try out the scenarios. As an alternative, we could > provide this test framework as a python library, possibly backed by a glue C++ > library as needed (note that for some scenarios a glue layer is not needed, > since we could use our demo servers and clients, or write new ones). > > Here are some pros and cons of the solutions (pros of one are cons of the > other > in this case): > > C++: > + Easy integration with code base > + Customizability of server/client behavior > > python (possibly backed by C++ glue layer): > + Easy to write > + Convenience in sharing test scenarios > + Plethora of existing libraries we need (e.g. python libs for babeltrace, > uinput, statistics) Actually, as I expect we'd be dynamically loading the Mir server (e.g. ctypes should make it easy to set up tests scenarios using libmir_demo_server_loadable.so) I don't think it would be hard to enable python to run an alternative build. (The server lib to load just becomes a config option - making before/after comparisons easier.) I don't think we can avoid writing any C++ (as we may want to add specific hooks into the code) but I'd like that rolled into the supported libraries not as an ad-hoc add on. I'd say try the python approach and see if we hit limits.
-- Mir-devel mailing list Mir-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/mir-devel