From ec641f56729e0e4a9d9f7c7d6151d8f3ef771bc1 Mon Sep 17 00:00:00 2001 From: Valery Antopol Date: Wed, 8 Dec 2021 19:50:24 +0300 Subject: [PATCH] Add a simple aquavm bencmbark --- aqua/examples/fold.aqua | 12 ++++++++++++ src/__test__/examples.spec.ts | 1 + src/examples/foldCall.ts | 13 ++++++++++--- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/aqua/examples/fold.aqua b/aqua/examples/fold.aqua index a1a2b22..416fc13 100644 --- a/aqua/examples/fold.aqua +++ b/aqua/examples/fold.aqua @@ -1,4 +1,5 @@ import "println.aqua" +import "stream.aqua" import "@fluencelabs/aqua-lib/builtin.aqua" -- showcases `for` instruction that compiles to `fold` in AIR @@ -7,7 +8,18 @@ func iterateAndPrint(strings: []string): print(s) func iterateAndPrintParallel(nodes: []string, c: Info -> ()): + stream: *string + for s <- nodes par: + for s2 <- nodes par: + for s3 <- nodes par: + for s4 <- nodes par: + for s5 <- nodes par: + for s6 <- nodes par: + -- for s7 <- nodes par: + stream <- Stringer.returnString(s) + + for s <- stream par: on s: ads <- Peer.identify() c(ads) diff --git a/src/__test__/examples.spec.ts b/src/__test__/examples.spec.ts index bacd67e..7163f5d 100644 --- a/src/__test__/examples.spec.ts +++ b/src/__test__/examples.spec.ts @@ -43,6 +43,7 @@ var peer2: FluencePeer; const relays = config.relays // setLogLevel('debug'); +jest.setTimeout(1000*100); describe('Testing examples', () => { beforeAll(async () => { diff --git a/src/examples/foldCall.ts b/src/examples/foldCall.ts index 234e445..f6799f0 100644 --- a/src/examples/foldCall.ts +++ b/src/examples/foldCall.ts @@ -1,15 +1,22 @@ import { Fluence } from '@fluencelabs/fluence'; import { iterateAndPrint, iterateAndPrintParallel } from '../compiled/examples/fold'; +import { registerStringer} from '../compiled/examples/stream'; + export async function foldCall() { const relayPeerId = Fluence.getPeer().getStatus().relayPeerId; + registerStringer({ + returnString: (args0) => { + return args0; + }, + }); - await iterateAndPrint([relayPeerId], {ttl: 10000}); + await iterateAndPrint([relayPeerId], {ttl: 1000000}); return new Promise((resolve, reject) => { - iterateAndPrintParallel([relayPeerId], (c) => { + iterateAndPrintParallel([relayPeerId, relayPeerId], (c) => { console.log('iterateAndPrintParallel. external addresses: ' + c.external_addresses); resolve(c.external_addresses); - }, {ttl: 10000}); + }, {ttl: 1000000}); }); }