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

goth optimizations (discussion) #1531

Closed
mfranciszkiewicz opened this issue Jul 21, 2021 · 5 comments
Closed

goth optimizations (discussion) #1531

mfranciszkiewicz opened this issue Jul 21, 2021 · 5 comments

Comments

@mfranciszkiewicz
Copy link
Contributor

mfranciszkiewicz commented Jul 21, 2021

  1. run agents asynchronously
  2. try to setup central net, blockchain and constant components for all tests
  3. don't build docker container at startup
@mfranciszkiewicz mfranciszkiewicz changed the title goth opimizations (discussion) goth optimizations (discussion) Jul 21, 2021
@tworec
Copy link
Contributor

tworec commented Jul 22, 2021

We can pre-build docker container with all dependencies and at the first test just install proper version of yagna and other our (Golem Factory) artifacts. It should be instant. It will gain ~1 minute. Seems low hanging friut.

@kmazurek
Copy link
Contributor

kmazurek commented Jul 22, 2021

try to setup central net, blockchain and constant components for all tests
It's possible (and not too complicated) to keep the "static" network part (i.e. central net, blockchain, proxy) between tests.
However, this would fundamentally change the way we perform tests (we'd no longer have full isolation between test cases).
The time gained would be ~12 seconds per test case.

run agents asynchronously
The most time-consuming part of each test right now is waiting for yagna nodes to be ready. This takes ~20 seconds per node in each test. It's due to how the app keys are currently handled (in order to use the pre-funded Ganache keys we need to perform a restart of the daemon).
I can see two potential improvements here:

  1. Improve how the keys can be loaded (identity pre-configuration or identity drop/update command).
  2. Perform node setup in parallel in goth.

@tworec
Copy link
Contributor

tworec commented Jul 22, 2021

Re try to setup central net...) rather no-go for now
Re run agents async) Seems low-hanging fruit, and it needs joint effort from Core and SDK. Cool!

@nieznanysprawiciel
Copy link
Contributor

Duplicate of: #1532

@tworec
Copy link
Contributor

tworec commented Aug 10, 2021

At our cyclic "make goth great" meeting we've discussed possible goth initialisation optimisation via #1539
which enables to use pre-funded Ganache keys without a hassle (start daemon, configure it, restart it).
It was added as golemfactory/goth#529

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants