Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Epic]: chain performance improvement #17295

Closed
pythonberg1997 opened this issue Aug 6, 2023 · 1 comment
Closed

[Epic]: chain performance improvement #17295

pythonberg1997 opened this issue Aug 6, 2023 · 1 comment
Labels
T:Epic Epics

Comments

@pythonberg1997
Copy link

pythonberg1997 commented Aug 6, 2023

Summary

The performance of cosmos based chain is poor.

Problem Definition

The cosmos chain has low TPS. I think there are two obvious existential problems:

  • No pre-cache/pre-fetch mechanism
    For example, a txn may be executed(baseapp.runTx()) in three different stages(PrepareProposal/ProcessProposal, CheckTx, DeliverTx). So I think we could find a way to do caching.
  • The global mutex in tendermint
    There's a global mutex in tendermint localClient. But some operations are read operations and can be executed concurrently like abci query.

Work Breakdown

I was wondering if you guys had any thoughts on the poor performance so far.

@pythonberg1997 pythonberg1997 added the T:Epic Epics label Aug 6, 2023
@alexanderbez
Copy link
Contributor

Hey @pythonberg1997 thanks for opening an issue, but this is sort of a blanket critique that isn't really capturing what's going on, especially without context and raw numbers. A few things:

  • Cosmos SDK never sought ultra high TPS as a feature -- this was never really an aim, although chains like Sei are pushing the bounds of PBFT-based protocols, i.e. where you have quadratic communication.
  • "Caching" of txs is tricky because different contexts are based/branched off of different states and managing that is non-trivial.
  • We have a few major themes in the works that will drastically improve things, such as:
    • Optimistic execution RFC and implementation
    • Store v2
    • CometBFT storage and execution (such as mutex management) improvements

@cosmos cosmos locked and limited conversation to collaborators Aug 7, 2023
@tac0turtle tac0turtle converted this issue into discussion #17307 Aug 7, 2023

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
T:Epic Epics
Projects
None yet
Development

No branches or pull requests

2 participants