Skip to content

Deprecate C based bindings and default to pure dart bindings #660

Closed
@mahesh-hegde

Description

@mahesh-hegde

I believe pure dart bindings are the future.

If there's a significant disrepancy in performance between C based and Dart based bindings even after adapting FFI varargs, we can discuss about making small changes in SDK to compensate. It's very unlikely that any factor affecting JNI bindings performance cannot be implemented in SDK once and all, instead of shoving C code into each library.

But until then, defaulting to pure dart bindings simplifies user experience and dev experience. From some recent issues we know getting started is too intimidating for users.

In general, I propose upcoming v0.4 as a stability release, to lay solid groundwork for upcoming feature development1. @HosseinYousefi is already working on a test suite overhaul.

Steps:

  • Preliminary benchmark suite. Enough to prove that pure dart bindings do not affect performance significantly.

  • Remove C based tests & examples.

  • Update user documentation.


Footnotes

  1. Part of the blame is on me for eg: shoving too many integration tests and options.

Metadata

Metadata

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions