← 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
Janek

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




Follow ups

References