Why is the network so slow?

Is it expected to speed up or slow down over time?

I’ve done some cli commands and posted my stats below. The file download time is good, the upload is slow but okay I guess.

But when it comes to the registry, it’s really slow.

It’s making developing really hard. I guess I could just run a local testnet which might be faster.

But in my app, for example, I need to do several actions on the register and since each one takes a minute you could be talking 10 minutes to get a registry entry, set it, get another one, set it, then upload a file, create a registry entry for it.

It would be good to know if this is just a temporary speed issue, or if this is the expected final performance of the network.

Register Create

Time: 1minute 19 seconds

> markwylde in autonomi % time ant register create markwyldetest10 somevalue
Logging to directory: "/Users/markwylde/Library/Application Support/autonomi/client/logs/log_2025-12-30_21-17-11"
Connecting to the Autonomi network...
Connected to the network
Creating register with name: markwyldetest10
Quoting for 108ff9(00010000).. ..
Paying for 1 addresses..
Payments of 1 address completed. 0 address were free / already paid for
Quoting for b23612(10110010).. ..
Paying for 1 addresses..
Payments of 1 address completed. 0 address were free / already paid for
✅ Register created at address: 8ba0fdc97adb066a153be5c32ece11ea4cc2c4a2932a145953a57762c643183a2a664eef157fe844decdf629032be172
With name: markwyldetest10
And initial value: [somevalue]
Total cost: 0.000000029125973160 AttoTokens
ant register create markwyldetest10 somevalue  3.78s user 3.54s system 9% cpu 1:19.66 total

Register Get

Time: 20 seconds

> markwylde in autonomi % time ant register get --name markwyldetest10
Logging to directory: "/Users/markwylde/Library/Application Support/autonomi/client/logs/log_2025-12-30_21-20-08"
Connecting to the Autonomi network...
Connected to the network
Getting register with name: markwyldetest10
✅ Register found at: markwyldetest10
With value: [somevalue]
ant register get --name markwyldetest10  0.84s user 0.69s system 7% cpu 20.542 total
-------------------------------------------------------------
> markwylde in autonomi %

Register History

Time: 58 seconds

> markwylde in autonomi % time ant register history --name markwyldetest10
Logging to directory: "/Users/markwylde/Library/Application Support/autonomi/client/logs/log_2025-12-30_21-20-53"
Connecting to the Autonomi network...
Connected to the network
Getting register history with name: markwyldetest10
✅ Register history found at: markwyldetest10
History of values:
[somevalue]
ant register history --name markwyldetest10  1.45s user 1.19s system 4% cpu 58.569 total

File Upload

Time: 38 seconds

> markwylde in autonomi % time ant file upload TEST.md
Logging to directory: "/Users/markwylde/Library/Application Support/autonomi/client/logs/log_2025-12-30_21-24-39"
Connecting to the Autonomi network...
Connected to the network
🎯 Using single node payment mode (default - saves gas fees)
Encrypting file: "TEST.md"..
Successfully encrypted file: "TEST.md"
Processing estimated total 3 chunks
Uploading file: TEST.md
Processing batch of 3 chunks
Processing chunk (1/3) of TEST.md
Processing chunk (2/3) of TEST.md
Processing chunk (3/3) of TEST.md
Quoting for 1c0df5(00011100).. ..
Quoting for 95518f(10010101).. ..
Quoting for 3afff5(00111010).. ..
Paying for 3 addresses..
Payments of 3 address completed. 0 address were free / already paid for
(1/3) Chunk stored at: 1c0df53ec671755a4c7596694c3d3a4f9731b69b8751140506f57e7f95067fa3
(2/3) Chunk stored at: 95518f7e444db0089fd24a37d83e26af5cc52826b57857e66cf9b324dfe2885e
(3/3) Chunk stored at: 3afff5841a13af98b896176da81ddbf4d1cdd0351bc82eac8efe0f91957965e9
Upload completed for file TEST.md
Upload completed in 35.796179542s
  - "TEST.md": "9301939400.....
Successfully uploaded: TEST.md
At address: 7638817538777694700
Number of chunks uploaded: 3
Number of chunks already paid/uploaded: 0
Total cost: 106228431441 AttoTokens
ant file upload TEST.md  1.01s user 0.90s system 4% cpu 38.234 total

File Download

Time: 2 seconds

> markwylde in autonomi % time ant file download 7638817538777694700 DOWNLOAD.md
Logging to directory: "/Users/markwylde/Library/Application Support/autonomi/client/logs/log_2025-12-30_21-26-24"
Connecting to the Autonomi network...
Connected to the network
Input supplied was a private file datamap
Analyzing datamap at: 7638817538777694700
Detected hex encoded data, might be a DataMap...
Identified as a new DataMap...
Fetching data from the Network...
Using lazy chunk fetching for 3 of datamap DataMap:
        ChunkInfo { index: 0, dst_hash: 1c0df5..067fa3, src_hash: 777ac1..b983d3, src_size: 6 }
        ChunkInfo { index: 1, dst_hash: 95518f..e2885e, src_hash: 1a7dfb..45c136, src_size: 6 }
        ChunkInfo { index: 2, dst_hash: 3afff5..7965e9, src_hash: ecd389..876abd, src_size: 8 }
Successfully processed datamap with lazy chunk fetching
Fetching 3 encrypted data chunks from network.
Fetching chunk 1/3 ...
Fetching chunk 1/3 [DONE]
Fetching chunk 2/3 ...
Fetching chunk 2/3 [DONE]
Fetching chunk 3/3 ...
Fetching chunk 3/3 [DONE]
Successfully fetched all 3 encrypted chunks
Successfully decrypted all 3 chunks
Data fetched from the Network...
Successfully downloaded file from datamap at: 7638817538777694700
ant file download 7638817538777694700 DOWNLOAD.md  0.15s user 0.13s system 9% cpu 2.834 total

Register Item that doesn’t exist

Time: 1 minute 2 seconds

> markwylde in autonomi % time ant register get --name somethingthatdoesnotexist
Logging to directory: "/Users/markwylde/Library/Application Support/autonomi/client/logs/log_2025-12-30_21-42-36"
Connecting to the Autonomi network...
Connected to the network
Getting register with name: somethingthatdoesnotexist
Error:
   0: Error getting register at: somethingthatdoesnotexist
   1: Underlying PointerError: Record could not be found.
   2: Record could not be found.

Location:
   ant-cli/src/commands/register.rs:217

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.
ant register get --name somethingthatdoesnotexist  2.58s user 2.34s system 7% cpu 1:02.92 total

This one is brutal because it takes 1 minute just to tell you a registry item has not been used.

10 Likes

Iirc, there are some requests that will retry a number of times, rather than fail fast as a false negative. This can be more reliable l when there is high churn.

I’m not sure if that includes registers (without checking code) but it probably does. That would certainly make the lookups for non-existent records slow.

I think you can change this behavior in the connection properties or by talking to the lower level data types directly.

4 Likes

@Shu when you get back to the office, any response to this from you or some of the other core devs would be welcome

1 Like

One thing I’ll note is proving that an object on the network does not exist is a very time consuming just by the nature of the design. I ran into this same problem on Colony when I tried to check that a scratchpad or pointer didn’t exist before creating a new one. It took forever. It was way faster to just assume it didn’t exist and create a new one and if the network rejected it, handle the exception.

4 Likes