C++ wrapper plans #1993
dankamongmen
started this conversation in
Ideas
Replies: 1 comment 2 replies
-
This seems a good spot to ask if and how allocations are done with the C++ wrappers. Do the wrappers create any allocations or does it all come from the original C code? The reason I ask is I randomly stumbled upon an MS project that boosts performance of allocations for C++ applications. https://github.com/microsoft/snmalloc It works on Windows, Linux, and BSD, even Dragonfly so seems like it would a perfect useful library to use if it's applicable here. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
@grendello did a great job early in Notcurses development with the initial C++ wrappers, and showed me some techniques -- I'm eternally appreciative. He came out of nowhere and dropped a complete set of high-quality wrappers, done pretty much entirely without my feedback, unrequested and unexpected.
If he ever returns to continue maintaining them, I'd be more than delighted to have him. He's been unreachable for a few months, though, in the way that people who don't have the bandwidth to deal with Yet Another Thing become unreachable. In no way am I anything other than thankful. With that said, the C++ wrappers are in need of some love.
Most critical in my mind is eliminating the
map<Plane>
that attempts to ensure a bijection betweenncplane
s andncpp::Plane
s. i understand what Marek was going for here, but i think it unsound. It leads to problems with destructors and other issues, and certainly complicates the wrappers. all it really seems to buy us (and here's where i'm maybe missing something) is thatPlane
s form a graph isomorphic to thencplane
s--i.e. you can compare twoPlane
pointers and they'll be the same if they refer to the samencplane
. i don't see that as terribly valuable, and certainly not worth the problems.so i'd like to rip that out, which ought resolve several open bugs. i'd then like to extend the C++ wrappers out to cover new functionality and match recent deprecations.
open c++ bugs:
Beta Was this translation helpful? Give feedback.
All reactions