dart-lang / dart-lang/native

[ffigen] Benchmarks running FFIgen

Open
#1,427 3 comments 0 reactions 0 assignees View on GitHub
package:ffigen
Dominant language
Dart
Stars
275
Forks
144
Avg merge
2d 10h
Merged PRs (30d)
47

Description

We have performance concerns for ffigen when run on large ObjC APIs, as the bindings can be >100k lines. We should add a benchmark that runs ffigen on one of the Apple frameworks and measures:

- Clang parse time
- Binding generation time (without formatting)
- Formatting time
- Size of the generated code (in lines and bytes)
- Max memory use

The benchmark should also run the analyzer over the generated code and measure:

- Analysis time
- Max memory use

This benchmark is easy to write. The part I'm not sure about is how to integrate it into github CI. Is there a good framework for continuous benchmarking? Or should we just run the benchmark script locally as needed?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.