Skip to content
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

Perf measurement and profiling of FU w/SwingSet #10511

Closed
2 of 3 tasks
LuqiPan opened this issue Nov 18, 2024 · 0 comments · Fixed by #10621
Closed
2 of 3 tasks

Perf measurement and profiling of FU w/SwingSet #10511

LuqiPan opened this issue Nov 18, 2024 · 0 comments · Fixed by #10621
Assignees
Labels
performance Performance related issues test

Comments

@LuqiPan
Copy link
Contributor

LuqiPan commented Nov 18, 2024

What is the Problem Being Solved?

"Fast" is in the name of the product. We should monitor performance of the system (especially the contract) throughout the project.

In particular, we should measure how many advancements we can do in a block; that is: how the computron cost of advancement compares to the block budget (currently 65Mc).

Description of the Design / Test Plan

Expand swingset test tooling to support reporting computrons used. Use this tooling to measure cost of advancement.

Tasks

Preview Give feedback
  1. automerge:rebase
    dckc

Security Considerations

This task is mainly to confirm that performance is consistent with assumptions elsewhere in security modeling and design.

Scaling Considerations

Mostly confirming that the system scales as expected.

Upgrade Considerations

n/a/

@LuqiPan LuqiPan added this to the FU2: SwingSet integration milestone Nov 18, 2024
@dckc dckc added test performance Performance related issues BLOCKED Raise visibility when progress is impeded labels Nov 18, 2024
@LuqiPan LuqiPan assigned samsiegart and unassigned dckc Nov 18, 2024
@LuqiPan LuqiPan removed the BLOCKED Raise visibility when progress is impeded label Dec 2, 2024
mergify bot added a commit that referenced this issue Dec 3, 2024
closes: #10388
refs: #10511

## Description

Prune `testBorrow`, `testRepay` methods along with contract tests that depend on them.

 - Several tests are largely covered by share-pool-math tests
   - 1 was not, so I made a pool-share-math test to cover _repay succeeds with no Pool or Contract Fee_.
 - Several tests basically checked the interface guards of `lp.borrower.borrow` / `lp.repayer.repay`.
    These are internal APIs with static types.
   - testing consistency between interface guards and static types
     might have some value, but, I suggest, not enough for the cost

### Scaling / Documentation / Upgrade Considerations

none

### Security / Testing Considerations

small loss in test coverage - mostly in test redundancy

`makeTestPushInvitation` remains on the public facet. Getting rid of it in due course remains critical.
I expect / hope we can get rid of it in #10606 (cc @samsiegart ) .

Ideally, the liquidity-pool exo would have unit test coverage. I looked into that but found that I would have to build substantial ZCF / Zoe test tooling. Since `liquidity-pool.js` is just 360 lines of straightforward Zoe API usage, I suggest we postpone that under...

 - #10558
mergify bot pushed a commit that referenced this issue Dec 4, 2024
refs #10511

Does *not* count computrons yet.

This makes 5 oracles submit evidence to provide a realistic scenario for measurement.
@mergify mergify bot closed this as completed in #10621 Dec 4, 2024
@mergify mergify bot closed this as completed in 8b9c8db Dec 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Performance related issues test
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants