Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider dyncall implementation #76

Open
plicease opened this issue Jun 27, 2017 · 4 comments
Open

Consider dyncall implementation #76

plicease opened this issue Jun 27, 2017 · 4 comments
Labels
🐣Enhancement Things that make it work better 🙏Help Wanted Good things to work on if you want to help out

Comments

@plicease
Copy link
Member

http://www.dyncall.org/

may be preferred in some environments over libffi (?). it's a question.

@plicease plicease added the 🐣Enhancement Things that make it work better label Jun 27, 2017
@azawawi
Copy link

azawawi commented Nov 22, 2018

If i remember correctly, Rakudo Perl 6's MoarVM is using it.
https://github.com/MoarVM/dyncall/tree/1dabd7c2fd438920502c85eaf9ca4212d722c4b5.

What are the technical merits of using dyncall vs libffi? performance or more supported platforms?

Also found this interesting link on FFI overhead in various languages.

@plicease
Copy link
Member Author

I discovered dyncall from looking at the Perl 6 source. You can correct me if I am wrong, but I think both dyncall and libffi are supported, the original was dyncall and libffi was added for platforms that didn't support dyncall.

From my perspective having multiple implementations would insulate FFI::Platypus from being dependent on a single implementation. libffi is pretty good but they haven't had a release in years. The most recent release doesn't build correctly on windows (Alien::FFI has some logic to use the previous release on windows). They are threatening to do another release 🤞 though :)

@plicease plicease added the 🙏Help Wanted Good things to work on if you want to help out label Apr 1, 2019
@mohawk2
Copy link
Contributor

mohawk2 commented Nov 18, 2021

It looks like libffi's latest release is 3.4.2 from Jun 2021, if that makes a difference.

@plicease
Copy link
Member Author

It looks like libffi's latest release is 3.4.2 from Jun 2021, if that makes a difference.

Yes some of the commentary here is out of date, but I still think there is some potentially utility on having an alternate implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐣Enhancement Things that make it work better 🙏Help Wanted Good things to work on if you want to help out
Development

No branches or pull requests

3 participants