Skip to content

Commit

Permalink
config: add a StateSync config
Browse files Browse the repository at this point in the history
  • Loading branch information
bmwill committed Nov 15, 2022
1 parent 339e3a2 commit 01fbbdd
Show file tree
Hide file tree
Showing 4 changed files with 114 additions and 25 deletions.
72 changes: 71 additions & 1 deletion crates/sui-config/src/p2p.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Copyright (c) Mysten Labs, Inc.
// SPDX-License-Identifier: Apache-2.0

use std::net::SocketAddr;
use std::{net::SocketAddr, time::Duration};

use multiaddr::Multiaddr;
use serde::{Deserialize, Serialize};
Expand Down Expand Up @@ -46,3 +46,73 @@ pub struct SeedPeer {
pub peer_id: Option<anemo::PeerId>,
pub address: Multiaddr,
}

#[derive(Clone, Debug, Default, Deserialize, Serialize)]
#[serde(rename_all = "kebab-case")]
pub struct StateSyncConfig {
/// Query peers for their latest checkpoint every interval period.
///
/// If unspecified, this will default to `5,000` milliseconds.
#[serde(skip_serializing_if = "Option::is_none")]
pub interval_period_ms: Option<u64>,

/// Size of the StateSync actor's mailbox.
///
/// If unspecified, this will default to `128`.
#[serde(skip_serializing_if = "Option::is_none")]
pub mailbox_capacity: Option<usize>,

/// Size of the broadcast channel use for notifying other systems of newly sync'ed checkpoints.
///
/// If unspecified, this will default to `128`.
#[serde(skip_serializing_if = "Option::is_none")]
pub synced_checkpoint_broadcast_channel_capacity: Option<usize>,

/// Set the upper bound on the number of checkpoint headers to be downloaded concurrently.
///
/// If unspecified, this will default to `100`.
#[serde(skip_serializing_if = "Option::is_none")]
pub checkpoint_header_download_concurrency: Option<usize>,

/// Set the upper bound on the number of transactions to be downloaded concurrently from a
/// single checkpoint.
///
/// If unspecified, this will default to `100`.
#[serde(skip_serializing_if = "Option::is_none")]
pub transaction_download_concurrency: Option<usize>,
}

impl StateSyncConfig {
pub fn interval_period(&self) -> Duration {
const INTERVAL_PERIOD_MS: u64 = 5_000; // 5 seconds

Duration::from_millis(self.interval_period_ms.unwrap_or(INTERVAL_PERIOD_MS))
}

pub fn mailbox_capacity(&self) -> usize {
const MAILBOX_CAPACITY: usize = 128;

self.mailbox_capacity.unwrap_or(MAILBOX_CAPACITY)
}

pub fn synced_checkpoint_broadcast_channel_capacity(&self) -> usize {
const SYNCED_CHECKPOINT_BROADCAST_CHANNEL_CAPACITY: usize = 128;

self.synced_checkpoint_broadcast_channel_capacity
.unwrap_or(SYNCED_CHECKPOINT_BROADCAST_CHANNEL_CAPACITY)
}

pub fn checkpoint_header_download_concurrency(&self) -> usize {
const CHECKPOINT_HEADER_DOWNLOAD_CONCURRENCY: usize = 100;

self.checkpoint_header_download_concurrency
.unwrap_or(CHECKPOINT_HEADER_DOWNLOAD_CONCURRENCY)
}

pub fn transaction_download_concurrency(&self) -> usize {
const TRANSACTION_DOWNLOAD_CONCURRENCY: usize = 100;

self.transaction_download_concurrency
.unwrap_or(TRANSACTION_DOWNLOAD_CONCURRENCY)
}
}
32 changes: 25 additions & 7 deletions crates/sui-network/src/state_sync/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ use std::{
collections::HashMap,
sync::{Arc, RwLock},
};
use sui_config::p2p::StateSyncConfig;
use sui_types::messages_checkpoint::VerifiedCheckpoint;
use tap::Pipe;
use tokio::{
Expand All @@ -20,19 +21,30 @@ use sui_types::storage::WriteStore;

pub struct Builder<S> {
store: Option<S>,
// config: Option<Config>,
config: Option<StateSyncConfig>,
}

impl Builder<()> {
#[allow(clippy::new_without_default)]
pub fn new() -> Self {
Self { store: None }
Self {
store: None,
config: None,
}
}
}

impl<S> Builder<S> {
pub fn checkpoint_store<NewStore>(self, store: NewStore) -> Builder<NewStore> {
Builder { store: Some(store) }
pub fn store<NewStore>(self, store: NewStore) -> Builder<NewStore> {
Builder {
store: Some(store),
config: self.config,
}
}

pub fn config(mut self, config: StateSyncConfig) -> Self {
self.config = Some(config);
self
}
}

Expand All @@ -46,11 +58,13 @@ where
}

pub(super) fn build_internal(self) -> (UnstartedStateSync<S>, Server<S>) {
let Builder { store } = self;
let Builder { store, config } = self;
let store = store.unwrap();
let config = config.unwrap_or_default();

let (sender, mailbox) = mpsc::channel(128);
let (checkpoint_event_sender, _reciever) = tokio::sync::broadcast::channel(128);
let (sender, mailbox) = mpsc::channel(config.mailbox_capacity());
let (checkpoint_event_sender, _reciever) =
broadcast::channel(config.synced_checkpoint_broadcast_channel_capacity());
let weak_sender = sender.downgrade();
let handle = Handle {
sender,
Expand All @@ -72,6 +86,7 @@ where

(
UnstartedStateSync {
config,
handle,
mailbox,
store,
Expand All @@ -84,6 +99,7 @@ where
}

pub struct UnstartedStateSync<S> {
pub(super) config: StateSyncConfig,
pub(super) handle: Handle,
pub(super) mailbox: mpsc::Receiver<StateSyncMessage>,
pub(super) store: S,
Expand All @@ -97,6 +113,7 @@ where
{
pub(super) fn build(self, network: anemo::Network) -> (StateSyncEventLoop<S>, Handle) {
let Self {
config,
handle,
mailbox,
store,
Expand All @@ -106,6 +123,7 @@ where

(
StateSyncEventLoop {
config,
mailbox,
weak_sender: handle.sender.downgrade(),
tasks: JoinSet::new(),
Expand Down
15 changes: 12 additions & 3 deletions crates/sui-network/src/state_sync/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ use std::{
sync::{Arc, RwLock},
time::Duration,
};
use sui_config::p2p::StateSyncConfig;
use sui_types::{
base_types::ExecutionDigests,
message_envelope::Message,
Expand Down Expand Up @@ -210,6 +211,8 @@ enum StateSyncMessage {
}

struct StateSyncEventLoop<S> {
config: StateSyncConfig,

mailbox: mpsc::Receiver<StateSyncMessage>,
/// Weak reference to our own mailbox
weak_sender: mpsc::WeakSender<StateSyncMessage>,
Expand All @@ -235,7 +238,7 @@ where
pub async fn start(mut self) {
info!("State-Synchronizer started");

let mut interval = tokio::time::interval(Duration::from_secs(60 * 10));
let mut interval = tokio::time::interval(self.config.interval_period());
let mut peer_events = {
let (subscriber, peers) = self.network.subscribe();
for peer_id in peers {
Expand Down Expand Up @@ -419,6 +422,7 @@ where
self.network.clone(),
self.store.clone(),
self.peer_heights.clone(),
self.config.checkpoint_header_download_concurrency(),
// The if condition should ensure that this is Some
highest_known_checkpoint.unwrap(),
)
Expand Down Expand Up @@ -455,6 +459,7 @@ where
self.peer_heights.clone(),
self.weak_sender.clone(),
self.checkpoint_event_sender.clone(),
self.config.transaction_download_concurrency(),
// The if condition should ensure that this is Some
highest_verified_checkpoint.unwrap(),
);
Expand Down Expand Up @@ -583,6 +588,7 @@ async fn sync_to_checkpoint<S: WriteStore>(
network: anemo::Network,
store: S,
peer_heights: Arc<RwLock<PeerHeights>>,
checkpoint_header_download_concurrency: usize,
checkpoint: Checkpoint,
) -> Result<()> {
let mut current = store.get_highest_verified_checkpoint();
Expand Down Expand Up @@ -662,7 +668,7 @@ async fn sync_to_checkpoint<S: WriteStore>(
}
})
.pipe(futures::stream::iter)
.buffered(20);
.buffered(checkpoint_header_download_concurrency);

while let Some((maybe_checkpoint, next)) = request_stream.next().await {
// Verify the checkpoint
Expand Down Expand Up @@ -725,6 +731,7 @@ async fn sync_checkpoint_contents<S: WriteStore + Clone>(
peer_heights: Arc<RwLock<PeerHeights>>,
sender: mpsc::WeakSender<StateSyncMessage>,
checkpoint_event_sender: broadcast::Sender<VerifiedCheckpoint>,
transaction_download_concurrency: usize,
target_checkpoint: VerifiedCheckpoint,
) {
let mut highest_synced = None;
Expand All @@ -743,6 +750,7 @@ async fn sync_checkpoint_contents<S: WriteStore + Clone>(
network.clone(),
&store,
peer_heights.clone(),
transaction_download_concurrency,
checkpoint,
)
.await
Expand Down Expand Up @@ -773,6 +781,7 @@ async fn sync_one_checkpoint_contents<S: WriteStore + Clone>(
network: anemo::Network,
store: S,
peer_heights: Arc<RwLock<PeerHeights>>,
transaction_download_concurrency: usize,
checkpoint: VerifiedCheckpoint,
) -> Result<VerifiedCheckpoint> {
let mut rng = <rand::rngs::StdRng as rand::SeedableRng>::from_entropy();
Expand Down Expand Up @@ -800,7 +809,7 @@ async fn sync_one_checkpoint_contents<S: WriteStore + Clone>(
.into_iter()
.map(|digests| get_transaction_and_effects(peers.clone(), store.clone(), digests))
.pipe(futures::stream::iter)
.buffer_unordered(100);
.buffer_unordered(transaction_download_concurrency);

while let Some(result) = stream.next().await {
result?;
Expand Down
20 changes: 6 additions & 14 deletions crates/sui-network/src/state_sync/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ async fn server_push_checkpoint() {
..
},
server,
) = Builder::new().checkpoint_store(store).build_internal();
) = Builder::new().store(store).build_internal();
let peer_id = PeerId([9; 32]); // fake PeerId

let checkpoint = ordered_checkpoints[0].inner().to_owned();
Expand Down Expand Up @@ -78,7 +78,7 @@ async fn server_push_checkpoint() {
#[tokio::test]
async fn server_get_checkpoint() {
let (builder, server) = Builder::new()
.checkpoint_store(SharedInMemoryStore::default())
.store(SharedInMemoryStore::default())
.build_internal();

// Requests for checkpoints that aren't in the server's store
Expand Down Expand Up @@ -146,14 +146,10 @@ async fn isolated_sync_job() {
let committee = CommitteeFixture::generate(rand::rngs::OsRng, 0, 4);

// Build and connect two nodes
let (builder, server) = Builder::new()
.checkpoint_store(SharedInMemoryStore::default())
.build();
let (builder, server) = Builder::new().store(SharedInMemoryStore::default()).build();
let network_1 = build_network(|router| router.add_rpc_service(server));
let (mut event_loop_1, _handle_1) = builder.build(network_1.clone());
let (builder, server) = Builder::new()
.checkpoint_store(SharedInMemoryStore::default())
.build();
let (builder, server) = Builder::new().store(SharedInMemoryStore::default()).build();
let network_2 = build_network(|router| router.add_rpc_service(server));
let (event_loop_2, _handle_2) = builder.build(network_2.clone());
network_1.connect(network_2.local_addr()).await.unwrap();
Expand Down Expand Up @@ -230,14 +226,10 @@ async fn sync_with_checkpoints_being_inserted() {
let committee = CommitteeFixture::generate(rand::rngs::OsRng, 0, 4);

// Build and connect two nodes
let (builder, server) = Builder::new()
.checkpoint_store(SharedInMemoryStore::default())
.build();
let (builder, server) = Builder::new().store(SharedInMemoryStore::default()).build();
let network_1 = build_network(|router| router.add_rpc_service(server));
let (event_loop_1, handle_1) = builder.build(network_1.clone());
let (builder, server) = Builder::new()
.checkpoint_store(SharedInMemoryStore::default())
.build();
let (builder, server) = Builder::new().store(SharedInMemoryStore::default()).build();
let network_2 = build_network(|router| router.add_rpc_service(server));
let (event_loop_2, handle_2) = builder.build(network_2.clone());
network_1.connect(network_2.local_addr()).await.unwrap();
Expand Down

1 comment on commit 01fbbdd

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark Reports:

  • Owned # Bench results �[0m�[0m�[1m�[32m Compiling�[0m proc-macro2 v1.0.47 �[0m�[0m�[1m�[32m Compiling�[0m unicode-ident v1.0.5 �[0m�[0m�[1m�[32m Compiling�[0m cfg-if v1.0.0 �[0m�[0m�[1m�[32m Compiling�[0m ppv-lite86 v0.2.16 �[0m�[0m�[1m�[32m Compiling�[0m regex-syntax v0.6.27 �[0m�[0m�[1m�[32m Compiling�[0m pin-project-lite v0.2.9 �[0m�[0m�[1m�[32m Compiling�[0m rustc-demangle v0.1.21 �[0m�[0m�[1m�[32m Compiling�[0m futures-core v0.3.25 �[0m�[0m�[1m�[32m Compiling�[0m crossbeam-utils v0.8.8 �[0m�[0m�[1m�[32m Compiling�[0m futures-sink v0.3.25 �[0m�[0m�[1m�[32m Compiling�[0m futures-channel v0.3.25 �[0m�[0m�[1m�[32m Compiling�[0m opaque-debug v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m futures-task v0.3.24 �[0m�[0m�[1m�[32m Compiling�[0m futures-io v0.3.25 �[0m�[0m�[1m�[32m Compiling�[0m unicode-xid v0.2.4 �[0m�[0m�[1m�[32m Compiling�[0m futures-util v0.3.24 �[0m�[0m�[1m�[32m Compiling�[0m pin-utils v0.1.0 �[0m�[0m�[1m�[32m Compiling�[0m unicode-segmentation v1.10.0 �[0m�[0m�[1m�[32m Compiling�[0m block-padding v0.2.1 �[0m�[0m�[1m�[32m Compiling�[0m unicode-width v0.1.10 �[0m�[0m�[1m�[32m Compiling�[0m byte-slice-cast v1.2.2 �[0m�[0m�[1m�[32m Compiling�[0m ref-cast v1.0.12 �[0m�[0m�[1m�[32m Compiling�[0m rustc-hex v2.1.0 �[0m�[0m�[1m�[32m Compiling�[0m same-file v1.0.6 �[0m�[0m�[1m�[32m Compiling�[0m async-trait v0.1.57 �[0m�[0m�[1m�[32m Compiling�[0m ucd-trie v0.1.5 �[0m�[0m�[1m�[32m Compiling�[0m pkg-config v0.3.26 �[0m�[0m�[1m�[32m Compiling�[0m minimal-lexical v0.2.1 �[0m�[0m�[1m�[32m Compiling�[0m tracing-core v0.1.30 �[0m�[0m�[1m�[32m Compiling�[0m tower-service v0.3.2 �[0m�[0m�[1m�[32m Compiling�[0m percent-encoding v2.2.0 �[0m�[0m�[1m�[32m Compiling�[0m rayon-core v1.9.3 �[0m�[0m�[1m�[32m Compiling�[0m try-lock v0.2.3 �[0m�[0m�[1m�[32m Compiling�[0m wasm-bindgen-shared v0.2.83 �[0m�[0m�[1m�[32m Compiling�[0m move-borrow-graph v0.0.1 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m const-oid v0.9.0 �[0m�[0m�[1m�[32m Compiling�[0m time-macros v0.2.4 �[0m�[0m�[1m�[32m Compiling�[0m wasm-bindgen v0.2.83 �[0m�[0m�[1m�[32m Compiling�[0m generic-array v0.14.6 �[0m�[0m�[1m�[32m Compiling�[0m proc-macro-error-attr v1.0.4 �[0m�[0m�[1m�[32m Compiling�[0m proc-macro-error v1.0.4 �[0m�[0m�[1m�[32m Compiling�[0m rustc-hash v1.1.0 �[0m�[0m�[1m�[32m Compiling�[0m rustls-pemfile v1.0.1 �[0m�[0m�[1m�[32m Compiling�[0m openssl-probe v0.1.5 �[0m�[0m�[1m�[32m Compiling�[0m num-traits v0.2.15 �[0m�[0m�[1m�[32m Compiling�[0m num-integer v0.1.45 �[0m�[0m�[1m�[32m Compiling�[0m num-bigint v0.4.3 �[0m�[0m�[1m�[32m Compiling�[0m num-rational v0.4.1 �[0m�[0m�[1m�[32m Compiling�[0m num-iter v0.1.43 �[0m�[0m�[1m�[32m Compiling�[0m crossbeam-epoch v0.9.8 �[0m�[0m�[1m�[32m Compiling�[0m event-listener v2.5.3 �[0m�[0m�[1m�[32m Compiling�[0m iana-time-zone v0.1.51 �[0m�[0m�[1m�[32m Compiling�[0m signal-hook v0.3.14 �[0m�[0m�[1m�[32m Compiling�[0m unicode-bidi v0.3.8 �[0m�[0m�[1m�[32m Compiling�[0m tower-layer v0.3.2 �[0m�[0m�[1m�[32m Compiling�[0m unic-common v0.9.0 �[0m�[0m�[1m�[32m Compiling�[0m lexical-core v0.7.6 �[0m�[0m�[1m�[32m Compiling�[0m unic-char-range v0.9.0 �[0m�[0m�[1m�[32m Compiling�[0m crossbeam-channel v0.5.6 �[0m�[0m�[1m�[32m Compiling�[0m guppy-workspace-hack v0.1.0 �[0m�[0m�[1m�[32m Compiling�[0m unic-ucd-version v0.9.0 �[0m�[0m�[1m�[32m Compiling�[0m aho-corasick v0.7.19 �[0m�[0m�[1m�[32m Compiling�[0m foreign-types-shared v0.1.1 �[0m�[0m�[1m�[32m Compiling�[0m target-lexicon v0.12.5 �[0m�[0m�[1m�[32m Compiling�[0m unic-char-property v0.9.0 �[0m�[0m�[1m�[32m Compiling�[0m async-lock v2.5.0 �[0m�[0m�[1m�[32m Compiling�[0m linked-hash-map v0.5.6 �[0m�[0m�[1m�[32m Compiling�[0m native-tls v0.2.10 �[0m�[0m�[1m�[32m Compiling�[0m data-encoding v2.3.2 �[0m�[0m�[1m�[32m Compiling�[0m foreign-types v0.3.2 �[0m�[0m�[1m�[32m Compiling�[0m sharded-slab v0.1.4 �[0m�[0m�[1m�[32m Compiling�[0m unic-ucd-segment v0.9.0 �[0m�[0m�[1m�[32m Compiling�[0m target-spec v1.2.2 �[0m�[0m�[1m�[32m Compiling�[0m crossbeam-queue v0.3.6 �[0m�[0m�[1m�[32m Compiling�[0m fiat-crypto v0.1.14 �[0m�[0m�[1m�[32m Compiling�[0m typed-arena v2.0.1 �[0m�[0m�[1m�[32m Compiling�[0m rustls-native-certs v0.6.2 �[0m�[0m�[1m�[32m Compiling�[0m yaml-rust v0.4.5 �[0m�[0m�[1m�[32m Compiling�[0m http-range-header v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m oid-registry v0.6.0 �[0m�[0m�[1m�[32m Compiling�[0m tracing-subscriber v0.2.25 �[0m�[0m�[1m�[32m Compiling�[0m rustls-pemfile v0.2.1 �[0m�[0m�[1m�[32m Compiling�[0m proc-macro2 v0.4.30 �[0m�[0m�[1m�[32m Compiling�[0m test-fuzz-internal v3.0.4 �[0m�[0m�[1m�[32m Compiling�[0m rust-ini v0.13.0 �[0m�[0m�[1m�[32m Compiling�[0m plotters-backend v0.3.4 �[0m�[0m�[1m�[32m Compiling�[0m io-lifetimes v0.7.5 �[0m�[0m�[1m�[32m Compiling�[0m clang-sys v1.4.0 �[0m�[0m�[1m�[32m Compiling�[0m debug-ignore v1.0.3 �[0m�[0m�[1m�[32m Compiling�[0m nu-ansi-term v0.46.0 �[0m�[0m�[1m�[32m Compiling�[0m unicode-normalization v0.1.22 �[0m�[0m�[1m�[32m Compiling�[0m csv-core v0.1.10 �[0m�[0m�[1m�[32m Compiling�[0m unic-segment v0.9.0 �[0m�[0m�[1m�[32m Compiling�[0m unicode-xid v0.1.0 �[0m�[0m�[1m�[32m Compiling�[0m ciborium-io v0.2.0 �[0m�[0m�[1m�[32m Compiling�[0m crossbeam-deque v0.8.2 �[0m�[0m�[1m�[32m Compiling�[0m subtle-ng v2.5.0 �[0m�[0m�[1m�[32m Compiling�[0m plotters-svg v0.3.3 �[0m�[0m�[1m�[32m Compiling�[0m crc-catalog v2.1.0 �[0m�[0m�[1m�[32m Compiling�[0m twox-hash v1.6.3 �[0m�[0m�[1m�[32m Compiling�[0m ciborium-ll v0.2.0 �[0m�[0m�[1m�[32m Compiling�[0m symbolic-demangle v10.1.2 �[0m�[0m�[1m�[32m Compiling�[0m predicates-core v1.0.3 �[0m�[0m�[1m�[32m Compiling�[0m test-fuzz-macro v3.0.4 �[0m�[0m�[1m�[32m Compiling�[0m test-fuzz-runtime v3.0.4 �[0m�[0m�[1m�[32m Compiling�[0m linux-raw-sys v0.0.46 �[0m�[0m�[1m�[32m Compiling�[0m owo-colors v3.5.0 �[0m�[0m�[1m�[32m Compiling�[0m criterion-plot v0.5.0 �[0m�[0m�[1m�[32m Compiling�[0m quick-xml v0.23.1 �[0m�[0m�[1m�[32m Compiling�[0m num-format v0.4.3 �[0m�[0m�[1m�[32m Compiling�[0m normalize-line-endings v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m test-fuzz v3.0.4 �[0m�[0m�[1m�[32m Compiling�[0m endian-type v0.1.2 �[0m�[0m�[1m�[32m Compiling�[0m quick-error v1.2.3 �[0m�[0m�[1m�[32m Compiling�[0m regex-automata v0.1.10 �[0m�[0m�[1m�[32m Compiling�[0m bit-vec v0.6.3 �[0m�[0m�[1m�[32m Compiling�[0m signal-hook-registry v1.4.0 �[0m�[0m�[1m�[32m Compiling�[0m dirs-sys-next v0.1.2 �[0m�[0m�[1m�[32m Compiling�[0m dirs-sys v0.3.7 �[0m�[0m�[1m�[32m Compiling�[0m cfg-expr v0.12.0 �[0m�[0m�[1m�[32m Compiling�[0m dirs-next v2.0.0 �[0m�[0m�[1m�[32m Compiling�[0m num-complex v0.4.2 �[0m�[0m�[1m�[32m Compiling�[0m sized-chunks v0.6.5 �[0m�[0m�[1m�[32m Compiling�[0m num-traits v0.1.43 �[0m�[0m�[1m�[32m Compiling�[0m ordered-float v2.10.0 �[0m�[0m�[1m�[32m Compiling�[0m futures-intrusive v0.4.0 �[0m�[0m�[1m�[32m Compiling�[0m ordered-float v1.1.1 �[0m�[0m�[1m�[32m Compiling�[0m float-cmp v0.9.0 �[0m�[0m�[1m�[32m Compiling�[0m wait-timeout v0.2.0 �[0m�[0m�[1m�[32m Compiling�[0m rusticata-macros v4.1.0 �[0m�[0m�[1m�[32m Compiling�[0m dyn-clone v1.0.9 �[0m�[0m�[1m�[32m Compiling�[0m integer-encoding v3.0.4 �[0m�[0m�[1m�[32m Compiling�[0m unsigned-varint v0.7.1 �[0m�[0m�[1m�[32m Compiling�[0m base-x v0.2.11 �[0m�[0m�[1m�[32m Compiling�[0m rusty-fork v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m parse-zoneinfo v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m serde-hjson v0.9.1 �[0m�[0m�[1m�[32m Compiling�[0m predicates-tree v1.0.5 �[0m�[0m�[1m�[32m Compiling�[0m colored-diff v0.2.3 �[0m�[0m�[1m�[32m Compiling�[0m bit-set v0.5.3 �[0m�[0m�[1m�[32m Compiling�[0m criterion-plot v0.4.5 �[0m�[0m�[1m�[32m Compiling�[0m hmac-sha512 v0.1.9 �[0m�[0m�[1m�[32m Compiling�[0m quick-error v2.0.1 �[0m�[0m�[1m�[32m Compiling�[0m strip-ansi-escapes v0.1.1 �[0m�[0m�[1m�[32m Compiling�[0m fixed-hash v0.7.0 �[0m�[0m�[1m�[32m Compiling�[0m shell-words v1.1.0 �[0m�[0m�[1m�[32m Compiling�[0m hex-literal v0.3.4 �[0m�[0m�[1m�[32m Compiling�[0m chrono-tz-build v0.0.3 �[0m�[0m�[1m�[32m Compiling�[0m symbolic-common v10.1.2 �[0m�[0m�[1m�[32m Compiling�[0m openssl-sys v0.9.76 �[0m�[0m�[1m�[32m Compiling�[0m libz-sys v1.1.8 �[0m�[0m�[1m�[32m Compiling�[0m bzip2-sys v0.1.11+1.0.8 �[0m�[0m�[1m�[32m Compiling�[0m zstd-sys v2.0.1+zstd.1.5.2 �[0m�[0m�[1m�[32m Compiling�[0m libsqlite3-sys v0.25.1 �[0m�[0m�[1m�[32m Compiling�[0m secp256k1-sys v0.6.1 �[0m�[0m�[1m�[32m Compiling�[0m protobuf-src v1.1.0+21.5 �[0m�[0m�[1m�[32m Compiling�[0m sys-info v0.9.1 �[0m�[0m�[1m�[32m Compiling�[0m jemalloc-sys v0.5.2+5.3.0-patched �[0m�[0m�[1m�[32m Compiling�[0m fd-lock v3.0.6 �[0m�[0m�[1m�[32m Compiling�[0m unicode-linebreak v0.1.4 �[0m�[0m�[1m�[32m Compiling�[0m chrono-tz v0.6.3 �[0m�[0m�[1m�[32m Compiling�[0m ark-std v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m anemo-build v0.0.0 (https://github.com/mystenlabs/anemo.git?rev=87d60b249a9954775a95790e3bc9ca1a0df7969f#87d60b24) �[0m�[0m�[1m�[32m Compiling�[0m thiserror-impl v1.0.37 �[0m�[0m�[1m�[32m Compiling�[0m tracing-attributes v0.1.23 �[0m�[0m�[1m�[32m Compiling�[0m tokio-macros v1.8.0 �[0m�[0m�[1m�[32m Compiling�[0m futures-macro v0.3.24 �[0m�[0m�[1m�[32m Compiling�[0m impl-trait-for-tuples v0.2.2 �[0m�[0m�[1m�[32m Compiling�[0m ref-cast-impl v1.0.12 �[0m�[0m�[1m�[32m Compiling�[0m pin-project-internal v1.0.12 �[0m�[0m�[1m�[32m Compiling�[0m prost-derive v0.11.0 �[0m�[0m�[1m�[32m Compiling�[0m ark-serialize-derive v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m ark-ff-asm v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m ark-ff-macros v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m openssl-macros v0.1.0 �[0m�[0m�[1m�[32m Compiling�[0m asn1-rs-impl v0.1.0 �[0m�[0m�[1m�[32m Compiling�[0m asn1-rs-derive v0.4.0 �[0m�[0m�[1m�[32m Compiling�[0m async-stream-impl v0.3.3 �[0m�[0m�[1m�[32m Compiling�[0m data-encoding-macro-internal v0.1.10 �[0m�[0m�[1m�[32m Compiling�[0m unzip-n v0.1.2 �[0m�[0m�[1m�[32m Compiling�[0m fastcrypto-derive v0.1.2 (https://github.com/MystenLabs/fastcrypto?rev=b6411e014255c9e2a0f6dff00478bc45d76e9f5d#b6411e01) �[0m�[0m�[1m�[32m Compiling�[0m tracing-test-macro v0.2.3 �[0m�[0m�[1m�[32m Compiling�[0m structopt-derive v0.4.18 �[0m�[0m�[1m�[32m Compiling�[0m prost-derive v0.10.1 �[0m�[0m�[1m�[32m Compiling�[0m proptest-derive v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m webpki-roots v0.22.5 �[0m�[0m�[1m�[32m Compiling�[0m derive-syn-parse v0.1.5 �[0m�[0m�[1m�[32m Compiling�[0m rustyline-derive v0.7.0 �[0m�[0m�[1m�[32m Compiling�[0m async-recursion v1.0.0 �[0m�[0m�[1m�[32m Compiling�[0m data-encoding-macro v0.1.12 �[0m�[0m�[1m�[32m Compiling�[0m async-stream v0.3.3 �[0m�[0m�[1m�[32m Compiling�[0m librocksdb-sys v0.8.0+7.4.4 �[0m�[0m�[1m�[32m Compiling�[0m pin-project v1.0.12 �[0m�[0m�[1m�[32m Compiling�[0m asn1-rs v0.5.1 �[0m�[0m�[1m�[32m Compiling�[0m named-lock v0.2.0 �[0m�[0m�[1m�[32m Compiling�[0m semver-parser v0.10.2 �[0m�[0m�[1m�[32m Compiling�[0m der-parser v8.1.0 �[0m�[0m�[1m�[32m Compiling�[0m ark-ff v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m x509-parser v0.14.0 �[0m�[0m�[1m�[32m Compiling�[0m futures-executor v0.3.24 �[0m�[0m�[1m�[32m Compiling�[0m impl-serde v0.3.2 �[0m�[0m�[1m�[32m Compiling�[0m move-symbol-pool v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m codespan-reporting v0.11.1 �[0m�[0m�[1m�[32m Compiling�[0m cargo-platform v0.1.2 �[0m�[0m�[1m�[32m Compiling�[0m serde-reflection v0.3.6 �[0m�[0m�[1m�[32m Compiling�[0m serde-value v0.7.0 �[0m�[0m�[1m�[32m Compiling�[0m duration-str v0.4.0 �[0m�[0m�[1m�[32m Compiling�[0m arc-swap v1.5.1 �[0m�[0m�[1m�[32m Compiling�[0m serde-name v0.2.1 �[0m�[0m�[1m�[32m Compiling�[0m wasm-bindgen-backend v0.2.83 �[0m�[0m�[1m�[32m Compiling�[0m tracing-log v0.1.3 �[0m�[0m�[1m�[32m Compiling�[0m tracing-futures v0.2.5 �[0m�[0m�[1m�[32m Compiling�[0m ying-profiler v0.1.0 (https://github.com/velvia/ying-profiler#d1763c71) �[0m�[0m�[1m�[32m Compiling�[0m tracing-subscriber v0.3.15 �[0m�[0m�[1m�[32m Compiling�[0m block-buffer v0.9.0 �[0m�[0m�[1m�[32m Compiling�[0m crypto-common v0.1.6 �[0m�[0m�[1m�[32m Compiling�[0m block-buffer v0.10.3 �[0m�[0m�[1m�[32m Compiling�[0m block-padding v0.3.2 �[0m�[0m�[1m�[32m Compiling�[0m crypto-bigint v0.4.9 �[0m�[0m�[1m�[32m Compiling�[0m crypto-mac v0.8.0 �[0m�[0m�[1m�[32m Compiling�[0m signal-hook-mio v0.2.3 �[0m�[0m�[1m�[32m Compiling�[0m ark-serialize v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m curve25519-dalek-fiat v0.1.0 �[0m�[0m�[1m�[32m Compiling�[0m curve25519-dalek-ng v4.1.1 �[0m�[0m�[1m�[32m Compiling�[0m curve25519-dalek v3.2.0 �[0m�[0m�[1m�[32m Compiling�[0m sha-1 v0.9.8 �[0m�[0m�[1m�[32m Compiling�[0m universal-hash v0.5.0 �[0m�[0m�[1m�[32m Compiling�[0m prost-types v0.11.1 �[0m�[0m�[1m�[32m Compiling�[0m sha-1 v0.10.0 �[0m�[0m�[1m�[32m Compiling�[0m http-body v0.4.5 �[0m�[0m�[1m�[32m Compiling�[0m wasm-bindgen-macro-support v0.2.83 �[0m�[0m�[1m�[32m Compiling�[0m tiny-bip39 v1.0.0 �[0m�[0m�[1m�[32m Compiling�[0m ed25519-dalek-fiat v0.1.0 �[0m�[0m�[1m�[32m Compiling�[0m ed25519-consensus v2.0.1 �[0m�[0m�[1m�[32m Compiling�[0m axum-core v0.2.8 �[0m�[0m�[1m�[32m Compiling�[0m elliptic-curve v0.12.3 �[0m�[0m�[1m�[32m Compiling�[0m jsonrpsee-types v0.15.1 �[0m�[0m�[1m�[32m Compiling�[0m proc-macro-crate v1.2.1 �[0m�[0m�[1m�[32m Compiling�[0m guppy-summaries v0.7.1 �[0m�[0m�[1m�[32m Compiling�[0m bytecode-interpreter-crypto v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m ed25519-dalek v1.0.1 �[0m�[0m�[1m�[32m Compiling�[0m comfy-table v6.1.0 �[0m�[0m�[1m�[32m Compiling�[0m aes-gcm v0.10.1 �[0m�[0m�[1m�[32m Compiling�[0m tracing-chrome v0.6.0 �[0m�[0m�[1m�[32m Compiling�[0m tracing-test v0.2.3 �[0m�[0m�[1m�[32m Compiling�[0m tracing-appender v0.2.2 �[0m�[0m�[1m�[32m Compiling�[0m tracing-bunyan-formatter v0.3.3 �[0m�[0m�[1m�[32m Compiling�[0m parity-scale-codec-derive v2.3.1 �[0m�[0m�[1m�[32m Compiling�[0m multihash-derive v0.8.0 �[0m�[0m�[1m�[32m Compiling�[0m jsonrpsee-proc-macros v0.15.1 �[0m�[0m�[1m�[32m Compiling�[0m prost-build v0.11.1 �[0m�[0m�[1m�[32m Compiling�[0m wasm-bindgen-macro v0.2.83 �[0m�[0m�[1m�[32m Compiling�[0m quinn-proto v0.8.4 �[0m�[0m�[1m�[32m Compiling�[0m tonic-build v0.8.2 �[0m�[0m�[1m�[32m Compiling�[0m libtest-mimic v0.5.2 �[0m�[0m�[1m�[32m Compiling�[0m datatest-stable v0.1.3 �[0m�[0m�[1m�[32m Compiling�[0m sui-network v0.0.0 (/home/runner/work/sui/sui/crates/sui-network) �[0m�[0m�[1m�[32m Compiling�[0m js-sys v0.3.60 �[0m�[0m�[1m�[32m Compiling�[0m parity-scale-codec v2.3.1 �[0m�[0m�[1m�[32m Compiling�[0m tokio-util v0.7.4 �[0m�[0m�[1m�[32m Compiling�[0m tokio-rustls v0.23.4 �[0m�[0m�[1m�[32m Compiling�[0m tokio-io-timeout v1.2.0 �[0m�[0m�[1m�[32m Compiling�[0m tokio-native-tls v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m tokio-retry v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m sqlx-rt v0.6.2 (https://github.com/huitseeker/sqlx?branch=update_libsqlite3#fa4613e7) �[0m�[0m�[1m�[32m Compiling�[0m impl-codec v0.5.1 �[0m�[0m�[1m�[32m Compiling�[0m primitive-types v0.10.1 �[0m�[0m�[1m�[32m Compiling�[0m tokio-stream v0.1.11 �[0m�[0m�[1m�[32m Compiling�[0m quinn-udp v0.1.3 �[0m�[0m�[1m�[32m Compiling�[0m sqlx-core v0.6.2 (https://github.com/huitseeker/sqlx?branch=update_libsqlite3#fa4613e7) �[0m�[0m�[1m�[32m Compiling�[0m move-core-types v0.0.4 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m gloo-timers v0.2.4 �[0m�[0m�[1m�[32m Compiling�[0m wasm-bindgen-futures v0.4.33 �[0m�[0m�[1m�[32m Compiling�[0m web-sys v0.3.60 �[0m�[0m�[1m�[32m Compiling�[0m futures-timer v3.0.2 �[0m�[0m�[1m�[32m Compiling�[0m tower-http v0.3.4 �[0m�[0m�[1m�[32m Compiling�[0m opentelemetry-semantic-conventions v0.10.0 �[0m�[0m�[1m�[32m Compiling�[0m opentelemetry-jaeger v0.17.0 �[0m�[0m�[1m�[32m Compiling�[0m tracing-opentelemetry v0.18.0 �[0m�[0m�[1m�[32m Compiling�[0m move-binary-format v0.0.3 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-command-line-common v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-ir-types v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m anemo-tower v0.0.0 (https://github.com/mystenlabs/anemo.git?rev=87d60b249a9954775a95790e3bc9ca1a0df7969f#87d60b24) �[0m�[0m�[1m�[32m Compiling�[0m move-ir-to-bytecode-syntax v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m ark-ec v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m move-bytecode-source-map v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-bytecode-verifier v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-ir-to-bytecode v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-coverage v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-read-write-set-types v0.0.3 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-bytecode-utils v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-vm-types v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m gloo-utils v0.1.5 �[0m�[0m�[1m�[32m Compiling�[0m ark-bls12-377 v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m gloo-net v0.2.4 �[0m�[0m�[1m�[32m Compiling�[0m ark-relations v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m move-compiler v0.0.1 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m ark-ed-on-cp6-782 v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m read-write-set-dynamic v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-resource-viewer v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m ark-snark v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m ark-ed-on-bw6-761 v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m move-ir-compiler v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-vm-runtime v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-vm-test-utils v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m ark-crypto-primitives v0.3.0 �[0m�[0m�[1m�[32m Compiling�[0m bls-crypto v0.2.0 (https://github.com/huitseeker/celo-bls-snark-rs?branch=updates-2-with-parallelism-toggle#78f379fe) �[0m�[0m�[1m�[32m Compiling�[0m move-table-extension v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m jsonrpsee-core v0.15.1 �[0m�[0m�[1m�[32m Compiling�[0m hyper-timeout v0.4.1 �[0m�[0m�[1m�[32m Compiling�[0m hyper-tls v0.5.0 �[0m�[0m�[1m�[32m Compiling�[0m hyper-rustls v0.23.0 �[0m�[0m�[1m�[32m Compiling�[0m sqlx-macros v0.6.2 (https://github.com/huitseeker/sqlx?branch=update_libsqlite3#fa4613e7) �[0m�[0m�[1m�[32m Compiling�[0m axum-server v0.4.2 �[0m�[0m�[1m�[32m Compiling�[0m jsonrpsee-client-transport v0.15.1 �[0m�[0m�[1m�[32m Compiling�[0m jsonrpsee-wasm-client v0.15.1 �[0m�[0m�[1m�[32m Compiling�[0m jsonrpsee-ws-client v0.15.1 �[0m�[0m�[1m�[32m Compiling�[0m jsonrpsee-ws-server v0.15.1 �[0m�[0m�[1m�[32m Compiling�[0m jsonrpsee-http-server v0.15.1 �[0m�[0m�[1m�[32m Compiling�[0m jsonrpsee-http-client v0.15.1 �[0m�[0m�[1m�[32m Compiling�[0m move-disassembler v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-model v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-bytecode-viewer v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m nexlint v0.1.0 (https://github.com/nextest-rs/nexlint.git?rev=8df9c4ea982e2be6b528e7b288a82d79d2d4bf20#8df9c4ea) �[0m�[0m�[1m�[32m Compiling�[0m console-api v0.4.0 �[0m�[0m�[1m�[32m Compiling�[0m nexlint-lints v0.1.0 (https://github.com/nextest-rs/nexlint.git?rev=8df9c4ea982e2be6b528e7b288a82d79d2d4bf20#8df9c4ea) �[0m�[0m�[1m�[32m Compiling�[0m tonic-health v0.7.1 �[0m�[0m�[1m�[32m Compiling�[0m console-subscriber v0.1.8 �[0m�[0m�[1m�[32m Compiling�[0m move-stackless-bytecode v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-abigen v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-docgen v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-errmapgen v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-package v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-prover-boogie-backend v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-stackless-bytecode-interpreter v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m read-write-set v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-prover v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m jemalloc-ctl v0.5.0 �[0m�[0m�[1m�[32m Compiling�[0m move-stdlib v0.1.1 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-unit-test v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-cli v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m move-transactional-test-runner v0.1.0 (https://github.com/move-language/move?rev=0800fc79a98ca304bd449878f545cdcaff6f94bb#0800fc79) �[0m�[0m�[1m�[32m Compiling�[0m narwhal-types v0.1.0 (/home/runner/work/sui/sui/narwhal/types) �[0m�[0m�[1m�[32m Compiling�[0m workspace-hack v0.1.0 (/home/runner/work/sui/sui/crates/workspace-hack) �[0m�[0m�[1m�[32m Compiling�[0m narwhal-crypto v0.1.0 (/home/runner/work/sui/sui/narwhal/crypto) �[0m�[0m�[1m�[32m Compiling�[0m typed-store v0.4.0 (/home/runner/work/sui/sui/crates/typed-store) �[0m�[0m�[1m�[32m Compiling�[0m sui-metrics v0.7.0 (/home/runner/work/sui/sui/crates/sui-metrics) �[0m�[0m�[1m�[32m Compiling�[0m telemetry-subscribers v0.2.0 (/home/runner/work/sui/sui/crates/telemetry-subscribers) �[0m�[0m�[1m�[32m Compiling�[0m mysten-network v0.2.0 (/home/runner/work/sui/sui/crates/mysten-network) �[0m�[0m�[1m�[32m Compiling�[0m sui-cost-tables v0.1.0 (/home/runner/work/sui/sui/crates/sui-cost-tables) �[0m�[0m�[1m�[32m Compiling�[0m sui-open-rpc v0.0.0 (/home/runner/work/sui/sui/crates/sui-open-rpc) �[0m�[0m�[1m�[32m Compiling�[0m sui-telemetry v0.1.0 (/home/runner/work/sui/sui/crates/sui-telemetry) �[0m�[0m�[1m�[32m Compiling�[0m mysten-util-mem-derive v0.1.0 (/home/runner/work/sui/sui/crates/mysten-util-mem-derive) �[0m�[0m�[1m�[32m Compiling�[0m name-variant v0.1.0 (/home/runner/work/sui/sui/crates/name-variant) �[0m�[0m�[1m�[32m Compiling�[0m typed-store-derive v0.3.0 (/home/runner/work/sui/sui/crates/typed-store-derive) �[0m�[0m�[1m�[32m Compiling�[0m sui-macros v0.7.0 (/home/runner/work/sui/sui/crates/sui-macros) �[0m�[0m�[1m�[32m Compiling�[0m sui-open-rpc-macros v0.1.0 (/home/runner/work/sui/sui/crates/sui-open-rpc-macros) �[0m�[0m�[1m�[32m Compiling�[0m narwhal-config v0.1.0 (/home/runner/work/sui/sui/narwhal/config) �[0m�[0m�[1m�[32m Compiling�[0m narwhal-dag v0.1.0 (/home/runner/work/sui/sui/narwhal/dag) �[0m�[0m�[1m�[32m Compiling�[0m mysten-util-mem v0.11.0 (/home/runner/work/sui/sui/crates/mysten-util-mem) �[0m�[0m�[1m�[32m Compiling�[0m narwhal-storage v0.1.0 (/home/runner/work/sui/sui/narwhal/storage) �[0m�[0m�[1m�[32m Compiling�[0m narwhal-network v0.1.0 (/home/runner/work/sui/sui/narwhal/network) �[0m�[0m�[1m�[32m Compiling�[0m narwhal-consensus v0.1.0 (/home/runner/work/sui/sui/narwhal/consensus) �[0m�[0m�[1m�[32m Compiling�[0m narwhal-primary v0.1.0 (/home/runner/work/sui/sui/narwhal/primary) �[0m�[0m�[1m�[32m Compiling�[0m narwhal-executor v0.1.0 (/home/runner/work/sui/sui/narwhal/executor) �[0m�[0m�[1m�[32m Compiling�[0m narwhal-worker v0.1.0 (/home/runner/work/sui/sui/narwhal/worker) �[0m�[0m�[1m�[32m Compiling�[0m sui-types v0.1.0 (/home/runner/work/sui/sui/crates/sui-types) �[0m�[0m�[1m�[32m Compiling�[0m narwhal-node v0.1.0 (/home/runner/work/sui/sui/narwhal/node) �[0m�[0m�[1m�[32m Compiling�[0m sui-verifier v0.1.0 (/home/runner/work/sui/sui/crates/sui-verifier) �[0m�[0m�[1m�[32m Compiling�[0m sui-keys v0.0.0 (/home/runner/work/sui/sui/crates/sui-keys) �[0m�[0m�[1m�[32m Compiling�[0m sui-framework-build v0.0.0 (/home/runner/work/sui/sui/crates/sui-framework-build) �[0m�[0m�[1m�[32m Compiling�[0m sui-json v0.0.0 (/home/runner/work/sui/sui/crates/sui-json) �[0m�[0m�[1m�[32m Compiling�[0m sui-json-rpc-types v0.0.0 (/home/runner/work/sui/sui/crates/sui-json-rpc-types) �[0m�[0m�[1m�[32m Compiling�[0m sui-framework v0.1.0 (/home/runner/work/sui/sui/crates/sui-framework) �[0m�[0m�[1m�[32m Compiling�[0m sui-storage v0.1.0 (/home/runner/work/sui/sui/crates/sui-storage) �[0m�[0m�[1m�[32m Compiling�[0m sui-adapter v0.1.0 (/home/runner/work/sui/sui/crates/sui-adapter) �[0m�[0m�[1m�[32m Compiling�[0m sui-simulator v0.7.0 (/home/runner/work/sui/sui/crates/sui-simulator) �[0m�[0m�[1m�[32m Compiling�[0m sui-config v0.0.0 (/home/runner/work/sui/sui/crates/sui-config) �[0m�[0m�[1m�[32m Compiling�[0m sui-transaction-builder v0.0.0 (/home/runner/work/sui/sui/crates/sui-transaction-builder) �[0m�[0m�[1m�[32m Compiling�[0m sui-core v0.16.0 (/home/runner/work/sui/sui/crates/sui-core) �[0m�[0m�[1m�[32m Compiling�[0m sui-cost v0.1.0 (/home/runner/work/sui/sui/crates/sui-cost) �[0m�[0m�[1m�[32m Compiling�[0m sui-json-rpc v0.0.0 (/home/runner/work/sui/sui/crates/sui-json-rpc) �[0m�[0m�[1m�[32m Compiling�[0m sui-node v0.16.0 (/home/runner/work/sui/sui/crates/sui-node) �[0m�[0m�[1m�[32m Compiling�[0m sui-sdk v0.16.0 (/home/runner/work/sui/sui/crates/sui-sdk) �[0m�[0m�[1m�[32m Compiling�[0m sui-swarm v0.0.0 (/home/runner/work/sui/sui/crates/sui-swarm) �[0m�[0m�[1m�[32m Compiling�[0m test-utils v0.1.0 (/home/runner/work/sui/sui/crates/test-utils) �[0m�[0m�[1m�[32m Compiling�[0m sui-benchmark v0.0.0 (/home/runner/work/sui/sui/crates/sui-benchmark) �[0m�[0m�[1m�[32m Finished�[0m dev [unoptimized + debuginfo] target(s) in 3m 37s �[0m�[0m�[1m�[32m Running�[0m target/debug/stress --log-path /tmp/stress.log --num-client-threads 10 --num-server-threads 24 --num-transfer-accounts 2 bench --target-qps 100 --num-workers 10 --transfer-object 100 --run-duration 60s Benchmark Report: +-------------+-----+--------+-----+-----+-----+-----+-----+-----+-------+-----+ | duration(s) | tps | error% | min | p25 | p50 | p75 | p90 | p99 | p99.9 | max | +==============================================================================+ | 60 | 99 | 0 | 87 | 168 | 219 | 269 | 307 | 325 | 339 | 347 |
  • Shared # Bench results �[0m�[0m�[1m�[32m Finished�[0m dev [unoptimized + debuginfo] target(s) in 0.74s �[0m�[0m�[1m�[32m Running�[0m target/debug/stress --log-path /tmp/stress.log --num-client-threads 10 --num-server-threads 24 --num-transfer-accounts 2 bench --target-qps 100 --num-workers 10 --shared-counter 100 --run-duration 60s Benchmark Report: +-------------+-----+--------+-----+-----+-----+-----+-----+-----+-------+------+ | duration(s) | tps | error% | min | p25 | p50 | p75 | p90 | p99 | p99.9 | max | +===============================================================================+ | 60 | 99 | 0 | 60 | 515 | 587 | 675 | 739 | 903 | 975 | 1031 |

Please sign in to comment.