Rewrite of the Node API
Description
The Node API used to be hard to use, not very understandable and quite inefficient.
This MR rewrites it entirely and makes aprt of it public so developers can directly use it in plugins.
Changes proposed in this merge request:
- Rewrite the
NodeAPI - Make part of the
NodeAPI public - Remove accessors to the
NodeAPI fromPlugin
Benchmarks
Those benchmarks are run against the latest master as an indication of what will the change be when merged
First one was run 6 times, dropping the first of each, on base-files.bst
| commit | action | python_version | max_memory | time |
|---|---|---|---|---|
| bschubert/node-api-split - 55931ca9 | build - 12 | py37 | 190 | 94.44 |
| build - 4 | py37 | 190 | 104.56 | |
| build - 8 | py37 | 190 | 96.29 | |
| show | py37 | 191 | 4.75 | |
| show - cached | py37 | 191 | 4.82 | |
| master - 199f080f | build - 12 | py37 | 184 | 94.36 |
| build - 4 | py37 | 184 | 104.39 | |
| build - 8 | py37 | 184 | 95.4 | |
| show | py37 | 162 | 5.43 | |
| show - cached | py37 | 185 | 5.28 |
Second one was run 12 times, dropping the first two of each, on debian-stack.bst
| commit | action | python_version | max_memory | time |
|---|---|---|---|---|
| bschubert/node-api-split - 55931ca9 | show | py37 | 1616 | 66.42 |
| master - 199f080f | show | py37 | 1550 | 70.79 |