Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marioortizmanero/pdk-experiments
Various experiments written in order to learn more about how Tremor's plugin system could be implemented
https://github.com/marioortizmanero/pdk-experiments
benchmarks dynamic-libraries dynamic-loading plugins rust webassembly
Last synced: 6 days ago
JSON representation
Various experiments written in order to learn more about how Tremor's plugin system could be implemented
- Host: GitHub
- URL: https://github.com/marioortizmanero/pdk-experiments
- Owner: marioortizmanero
- Created: 2021-08-09T14:50:17.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-07-22T23:05:16.000Z (over 2 years ago)
- Last Synced: 2024-10-31T08:37:29.236Z (13 days ago)
- Topics: benchmarks, dynamic-libraries, dynamic-loading, plugins, rust, webassembly
- Language: Rust
- Homepage: https://nullderef.com/series/rust-plugins/
- Size: 969 KB
- Stars: 28
- Watchers: 3
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PDK Experiments
This repository contains various experiments written in order to learn more
about how [Tremor's PDK](https://nullderef.com/series/rust-plugins/) could be
implemented.The structure is usually the following:
* The `src` directory contains the main binary which loads the plugins.
* The interface shared between the main binary and the plugin is defined in
the `common` crate.
* The plugins live in `plugin-*` directories, which should be compiled as a
shared library and then loaded from the main binary.You have to build the main binary and the plugins separately. You can then load
the plugin with the main binary and see what happens. There's usually a
`Makefile` that does everything for you, though.## Benchmarking
The `benches` directory includes some benchmarks that might be of interest. You
can run them with `cargo bench`. They will work as long as the plugins are
compiled in their `target` directories. Remember to use `--release` when
building the plugins.