Commit Graph

25 Commits

Author SHA1 Message Date
Ivan Boldyrev
0eb37800b6
AquaVM benchmarks (#283)
* Fix stale benchmarks
* Data (de)serialization and execution benchmarks:

Two kind of benchmark: relatively short, but with huge call results, and
long trace of small call results.  Moreover, there are two case for each:
with same data to be merged with comparison, and data from different
par branches merged w/o comparison.
2022-07-08 21:07:04 +07:00
Ivan Boldyrev
c3cea695c8
air-trace util for measuring AquaVM performance with tracing crate.
`air-trace run` subcommand allows to run AquaVM on any data, it allows to define most AquaVM inputs, providing defaults for most of them, and sets up either human-readable or JSON tracing output, the latter can be later processed by `air-trace stats`.

Anomaly data input is also supported, that is useful for slow data investigation.

Native execution mode can be used for native profiling.  Please note, however, that current version cannot be built natively on Apple Sillicon processor yet, as invariably depends on the `avm-server` because of leaking types that should be refactored or hidden.  The `--repeat` option can repeat the execution several times for the execution to dominate on input data reading and output.

High-level or rare calls have "info" trace level, instructions are "debug", and sub-instruction calls are "tracing".  Over-detailed tracing can induce overhead that spoils timing data.
2022-07-07 18:44:58 +07:00
Ivan Boldyrev
3c23ab735c
Refactor call triplets (#269)
Older grammar allowed some variabilty in triple format.  Now, the only
format allowed is:

  `peer_id (service_id function_name)`

As less errors can happen during parsing of the triplet, the code was
simplified further .

Closes #267.
2022-05-19 19:59:08 +07:00
vms
99d7aa0d93 Fix Display impl for next 2022-05-19 09:53:32 +03:00
Ivan Boldyrev
dbd42cdf3d Fix Display of Fail::Literal
The error message was displayed without quotes.
2022-05-17 15:35:37 +07:00
Ivan Boldyrev
ec3d3a4e6f Fix Display of Value::LastError with lambda
There was a small typo in the `fn display_last_error`.

Closes #263
2022-05-17 12:57:27 +07:00
Mike Voronov
7e0c87d72a
Introduce %ttl% (#253) 2022-04-21 11:44:18 +03:00
Mike Voronov
490791b177
introduce %timestamp% (#250) 2022-04-20 23:05:37 +03:00
Mike Voronov
69a42cf111
Introduce new for non iterable scalars (#248) 2022-04-20 11:43:46 +03:00
Mike Voronov
06d275ea16
Improve non iterable scalar scoping (#243) 2022-04-15 22:25:03 +03:00
Mike Voronov
b29883e990
Refactor tests (#231) 2022-03-10 16:06:43 +03:00
Mike Voronov
a64a4fc0a6
support empty array literal in fold (#230) 2022-03-07 13:50:08 +03:00
Mike Voronov
f994ce73c8
Check scalars in lamda were defined in script (#218) 2022-02-17 23:39:01 +03:00
Mike Voronov
58aef82b1e
Add API for returning interpreter memory size (#210) 2022-01-26 13:37:22 +03:00
Mike Voronov
e6193ea4de
Implement fail with scalars (#205) 2021-12-29 19:51:18 +03:00
Mike Voronov
63160dd0f0
Refactor last error (#202) 2021-12-28 16:59:55 +03:00
Mike Voronov
f69b5aa728
Refactor execution errors (#198) 2021-12-21 11:37:35 +03:00
Mike Voronov
8dbae91bda
Introduce fail instruction (#196) 2021-12-16 21:34:27 +03:00
Mike Voronov
1d8182d497
Support scalars in lambda (#192) 2021-12-15 12:46:09 +03:00
Mike Voronov
1141c8e42a
Fix empty array parsing in match/mismatch instructions (#190) 2021-12-13 15:54:10 +03:00
Mike Voronov
5cd45385b4
Introduce restriction operator for streams (#172) 2021-11-24 17:57:14 +03:00
Mike Voronov
9f47eb9b83
Refactor AIR parser (#168) 2021-11-12 14:12:50 +03:00
Mike Voronov
1c55d34981
Use custom logic for lambda instead of json path (#154) 2021-10-18 23:23:30 +03:00
Mike Voronov
f291c77d26
Update crate info; housekeeping (#153) 2021-10-05 20:08:10 +03:00
Mike Voronov
e99c352a95
Decouple log targets to a separate crate (#152) 2021-10-05 16:55:04 +03:00