Giter VIP home page Giter VIP logo

Comments (4)

brew0722 avatar brew0722 commented on August 14, 2024

Compared to the cosmwasm-plus/cw-20 code, the following differences were identified.

Erc20 contract is stored directly in prefixed storage, and serialized by calling Uint128.u128().to_be_bytes().
However cw20 uses bucket and updates Uint128 directly.
The bucket uses the serialization of the type trait, and Uint128 serializes the base64 string according to the annotation.

Cosmwasm explains that the bucket type is helpful in removing boilerplate that occurs in frequent serialization/deserialization repetitions.

So, if you reduce the directly use of Uint128 types without casts and frequent serialization repetitions using buckets, I guess you will see a valid performance difference.

from cosmwasm.

brew0722 avatar brew0722 commented on August 14, 2024

I was changed on TODO to focus for analyzing the cache logic.

from cosmwasm.

whylee259 avatar whylee259 commented on August 14, 2024

@brew0722
Is this issue still needed? or should be closed?

from cosmwasm.

brew0722 avatar brew0722 commented on August 14, 2024

@whylee259 Although serialization that is executed to obtain the key value to be stored in storage is repeated every time, So there is an overhead.
However There seems to be no effective way to remove it.
(Buckets are just wrappers so they serialize the same. The above was my mistake.)

I'll close it.

from cosmwasm.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.