Aurélien Aptel schrieb am Do., 22. Okt. 2015 um 14:57 Uhr: > I've added user-pointer objects. Some feedback I had off-list: > > * add functions to the API for fast vector access as it currently > requires too much boxing/unboxing of integers for doing > length/indexing stuff. > This would make sense. Same with things like car and cdr etc. However, we should be careful not to overload the module interface. It might make sense to do some basic measurements using a real-life example and optimize only the hotspots. > * expose fast read-only string access (not sure how do-able this is > considering the encoding problem) > If the internal Emacs encoding is not defined, then we probably shouldn't expose it to modules. What should modules do with such string access? They could only treat the contents as opaque byte arrays. > * consider NULL as a no-op finalizer. > > Philip, you obviously have more experienced in this memory handling > stuff so I'm going to trust you and merge what you did (but there are > merge conflicts on the last pull requests atm, havent looked into it). > Thanks again for your work :) > You're welcome, thanks for implementing the module stuff in the first place! I'm not really experienced either, I've simply implemented what Daniel has proposed (a simple list of blocks). I've merged your branch and pushed to my fork, so you should be able to merge one of the PRs now. > > This module API is slowly but surely materializing. The interface is > lot more clean and user-friendly than my initial plan. I hope we can > have good performances where it matters to make it really useful :) >