Aphelion Blog

Find the latest news and information about Aphelion.

 

 

 

Back

05/18/2018

Aphelion Increases NEO Sync Performance

As part of our ongoing initiatives to improve the NEO ecosystem and contribute to building a smart economy, Aphelion is actively issuing pull requests in GitHub to improve the performance of the NEO blockchain.

Here is the latest example of a merged/approved contribution:

https://github.com/neo-project/neo/pull/237

This change ensures consistency of the mem_pool upon accepting and persisting a new block and it improves the performance of block persistence. Performance is especially improved when syncing the chain in the case that there are a high number of future transactions hanging around in the mem_pool.

Syncing from a recent chain.acc.zip file has been almost required in the past since syncing could get very slow without this fix if the chain file is rather old. This is because contention on the mem_pool lock from the AddTransactionLoop would block the block persistence thread when LocalNode.Blockchain_PersistCompleted is invoked.

This change will cancel transaction verification each time a new block is received and persisted. I tested syncing the chain and observed significant performance improvement using these changes. Testing was performed on 2 cores of an Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz using a disk provisioned at 300 minimum IOPS.

Join Aphelion

Subscribe to our newsletter for the latest updates.