← Back to team overview

yade-dev team mailing list archive

Re: High precision Real and minieigen


Hi Anton

> sorry for delays, "real" life is taking much more time when we get older :)

please don't worry. I really appreciate all your hard work. I got a
little carried away, I'm sorry.

> > * I would rather avoid pybind11 switch in a rush, better give it a few months
> Maybe I was not clear, pybind11 is just a possible option. If we
> really decide to switch to it, we need to evaluate, whether it is
> suitable for us, whether it really helps to improve compilation times
> and what it costs for us (time).

exactly. The quick migration which I have done yesterday passes the
tests, and seems to work at first glance, but there were some tricky
sections of the code. Which I converted but I didn't test. I feel more
comfortable with old and well tested boost::python version.
Also I see that Vaclav has done this already [1]
> > * I would prefer minieigen-src package (no extra compilation time for people who use `double`)
> > * minieigen-src in ubuntu 20.04 will let more people to test & use high precision.
> Unfortunately, it is almost impossible for the time being […]

this is clear.

> We should probably consider alternative ways to help you to integrate
> high-precision stuff.

Thank you! :))

Another note: I just realized that the compilation benchmarks might
have not been fair, because I think that I added few more
registrations (like Vector2c, or sth. like that) while doing pybind
migration. I will compare again without these extra registrations.

Another comparison note:

8. boost::python is much more picky about the order of registered
   functions, and sometimes does not work if the order is "wrong".
   pybind always resolves the function overloads correctly.

best regards

[1] https://github.com/woodem/woo/blob/master/lib/eigen/pybind11/visitors.hpp

Follow ups