Skip to content

Increase the operations cap #19

@christophersanborn

Description

@christophersanborn

Currently we cap the number of operations we will accept in a transaction at FOUR operations. While that's plenty for many use cases, I would like to increase or remove the cap.

The current reason for the cap is that I keep a reference array of (op-IDs and pointers to individual operation data caches), and reserving that array in global memory consumes valuable resources, especially since the majority of Tx's do not need a large number of Ops. The array is sized according to the operations cap, so keeping the cap small is important.

To remove the cap we could put these operation references at the END of the OpData buffer, and grow the array downwards, stack-style, into the OpData buffer. We could then say the number of supported operations in a transaction is "memory limited" defined by when the growing reference array intersects the growing OpData cache.

This will require some supporting infrastructure, of course, since the logic of retrieving a particular OpData reference and of determining the remaining space in the OpData buffer obviously becomes more intricate.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions