738 Commits

Author SHA1 Message Date
Ivan Boldyrev
343b58f65f Merge branch 'master' into feat/VM-454-rkyv-json-value 2024-02-13 14:11:53 +01:00
Ivan Boldyrev
0d53f2bab1
feat(execution-engine): Rc-based JSON value (#813)
Use custom JSON value type with Rc inside.  It cannot be edited, but producing new values based on child element is very cheap.

This new type is used exclusively in AquaVM internals.  Interface APIs use serde_json's Value or JSON strings, as before.
---------

Co-authored-by: raftedproc <71657594+raftedproc@users.noreply.github.com>
2024-02-13 19:11:21 +07:00
Ivan Boldyrev
7b92d0a6c7 More formatting 2024-02-08 21:32:19 +01:00
Ivan Boldyrev
f6478c708f Fix signatures tests 2024-02-08 20:53:49 +01:00
Ivan Boldyrev
84c2b9154a Improve formatting 2024-02-08 20:53:40 +01:00
Ivan Boldyrev
839389bc64 Update MacOS M1 benchmarks 2024-02-08 18:10:38 +01:00
Ivan Boldyrev
09de5f8dd2 Serialize JValue objects with AsVec
It makes it more efficient and avoid buggy rkyv BTree serialization/validation.
2024-02-08 17:47:37 +01:00
Ivan Boldyrev
1cf0b70b06 Add gen-bench-data Cargo.toml
It fixes sudden failed compilation because of 3rd party library changes.
2024-02-08 14:53:53 +01:00
Ivan Boldyrev
a825bc96b5 Fix tests 2024-02-08 14:40:40 +01:00
Ivan Boldyrev
57a75bbe4c From<JValue> for serde_json::Value 2024-02-08 14:40:09 +01:00
Ivan Boldyrev
78c4576862 Get rid of RawValue
It is not needed anymore
2024-02-07 17:30:46 +01:00
Ivan Boldyrev
e0e69f9afe Add air_interpreter_data::Number 2024-02-07 17:06:04 +01:00
Ivan Boldyrev
41c1766e7a Number type 2024-02-07 14:33:14 +01:00
Ivan Boldyrev
0a51913687 Update MacOS M1 benchmarks 2024-02-06 20:59:22 +01:00
Ivan Boldyrev
f7c8bc8c5b Store RawValue as JValue 2024-02-06 20:58:43 +01:00
Ivan Boldyrev
63c8e3336a rkyv JValue 2024-02-06 20:42:44 +01:00
Ivan Boldyrev
9df2b39088 Rename some methods
After removing Cows, their names make no sense.
2024-02-06 13:57:16 +01:00
Ivan Boldyrev
3da2da1046 Reconsider docstrings 2024-02-05 18:47:25 +01:00
Ivan Boldyrev
d1c6dd50bd Do not run doctests with sanitizers 2024-02-05 18:15:34 +01:00
Ivan Boldyrev
0a37f7c547 Fix tests and clippy 2024-02-05 17:37:15 +01:00
Ivan Boldyrev
41e383fd5a
Merge branch 'master' into feat/VM-422-rc-based-json-value 2024-02-05 20:10:35 +04:00
Ivan Boldyrev
cc3018ad6b Introduce "preserve_order" feature flag 2024-02-05 16:53:30 +01:00
Ivan Boldyrev
432af749f0 Add license comments 2024-02-05 15:53:06 +01:00
raftedproc
f887ddddbc
chore(performance,test): periodic bench results sync (#812) 2024-02-05 10:58:02 +03:00
Ivan Boldyrev
c6b7a7410f Store JsonString in certain AST nodes
Constant strings that are converted to JSON values are stored as
`JsonStrings`.  It saves on memory allocations.
2024-02-04 20:09:19 +01:00
Ivan Boldyrev
bfe1485fa2 Update MacOS M1 benches 2024-02-04 20:02:51 +01:00
Ivan Boldyrev
85be1e74d2 Merge branch 'master' into feat/VM-422-rc-based-json-value 2024-02-04 15:35:32 +01:00
Ivan Boldyrev
f28fb5bc69 value serialization/deserialization tests 2024-02-04 15:33:53 +01:00
Ivan Boldyrev
9d4094dc99
chore(performance): use fluence-blake3 with wasm32 SIMD support (#806)
* chore(preformance): use fluence-blake3

Enable wasm32 SIMD on the appropriate target.  It gives a noticeable performance improvement.

The smaller memory size on benchmarks is due to unrelated stack size reduction.
2024-02-04 21:27:49 +07:00
Ivan Boldyrev
6d5b342547 Make fmt and clippy happy 2024-02-01 21:34:36 +01:00
Ivan Boldyrev
a7dcd06946 Remove JValuable::into_jvalue
After introducing cheap-to-clone JValue and removing Cows, it is same as
`JValuable::as_jvalue`.
2024-02-01 21:34:36 +01:00
Ivan Boldyrev
e069ac9c17 Update Linux x64 benchmarks
The stack size if 10mb for convenience.
2024-02-01 19:26:23 +03:00
Ivan Boldyrev
ad1b074edd Update MacOS ARM benchmark
It is run with 10Mb stack, not 8Mb stack
2024-02-01 17:00:43 +01:00
Ivan Boldyrev
1fc6323be3 Fix tests 2024-02-01 14:29:00 +01:00
Ivan Boldyrev
637fbd5b0f feat(cli): use eyre in air-cli (#808)
Instead of `anyhow`, use `eyre` to reduce number of deps.  The `eyre`
crate is already used in `avm-server` and `fluence-keypair`.
2024-02-01 14:29:00 +01:00
raftedproc
2981168685 feat(performance): reduced stack size (#799) 2024-02-01 14:29:00 +01:00
Ivan Boldyrev
f1cfa9e069 Test compilation fixes 2024-02-01 14:29:00 +01:00
Ivan Boldyrev
b3ccec1d04 Various refactorings and improvements 2024-02-01 14:29:00 +01:00
Ivan Boldyrev
47420723bc
feat(cli): use eyre in air-cli (#808)
Instead of `anyhow`, use `eyre` to reduce number of deps.  The `eyre`
crate is already used in `avm-server` and `fluence-keypair`.
2024-01-31 00:43:47 +07:00
Ivan Boldyrev
47196b5040 Update Linux x64 benchmarks 2024-01-29 20:40:52 +03:00
Ivan Boldyrev
628d233d32 Update MacOS M1 benches 2024-01-29 17:39:47 +01:00
Ivan Boldyrev
c74cdd99f4 Sketch of Rc JSON value 2024-01-29 17:13:17 +01:00
raftedproc
9bad40b3d7
feat(performance): reduced stack size (#799) 2024-01-28 16:24:12 +03:00
Ivan Boldyrev
ba1686f835 Rc-based JSON value 2024-01-26 20:14:27 +01:00
Ivan Boldyrev
02d5a4d2d6 Initial version of custom JSON value 2024-01-26 18:45:12 +01:00
renovate[bot]
de562b0488
chore(deps): update rust crate eyre to 0.6.11 (#803)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-26 00:49:42 +07:00
Anatolios Laskaris
5c91bb86c4
chore: Remove redundant input (#807)
Fix
2024-01-25 17:22:15 +02:00
fluencebot
d0ca93c231
chore: release master (#797)
* chore: release master

* chore: Bump air-interpreter and air-near-contract version to 0.59.0
avm-client-v0.59.0 air-testing-framework-v0.8.4 avm-server-v0.35.0 air-interpreter-interface-v0.17.2 avm-interface-v0.31.2 air-interpreter-v0.59.0 aquavm-air-cli-v0.6.3 air-v0.59.0 avm-data-store-v0.7.7 air-test-utils-v0.15.1
2024-01-24 20:41:11 +07:00
Valery Antopol
3375c7a3b6
feat(deps)!: update to marine runtime with memory limits and wasmtime (#768) 2024-01-24 17:16:33 +04:00
raftedproc
6c1cb289cc
fix(performance): avoiding particle data printout in errors 2024-01-23 11:50:00 +03:00