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

feat: move standard library initialization to genesis transactions #3168

Draft
wants to merge 148 commits into
base: master
Choose a base branch
from

Conversation

n0izn0iz
Copy link
Contributor

@n0izn0iz n0izn0iz commented Nov 20, 2024

WIP opening for discussions

Closes #2730

Depends on #3119

TODO:

  • gnoland start -lazy
  • gnodev
  • test envs
  • decide if we want to reuse MsgAddPackage or introduce MsgAddStdlib (see this comment) -> Going for keeping MsgAddPackage for now
  • gno fmt
  • gno doc
  • gnogenesis
  • optimize (currently gnoland test take more than 30 min)
  • optimize 2 (currently gnovm test take 20min)
Contributors' checklist...
  • Added new tests, or not needed, or not feasible
  • Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory
  • Updated the official documentation or not needed
  • No breaking changes were made, or a BREAKING CHANGE: xxx message was included in the description
  • Added references to related issues and PRs
  • Provided any useful hints for running manual tests

n0izn0iz added 12 commits March 4, 2025 00:05
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
@n0izn0iz
Copy link
Contributor Author

n0izn0iz commented Mar 3, 2025

Should "testing" be included in genesis txs?

n0izn0iz and others added 15 commits March 4, 2025 02:33
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
Signed-off-by: Norman <norman@samourai.coop>
@n0izn0iz
Copy link
Contributor Author

n0izn0iz commented Mar 4, 2025

note to self:

the 20min gnovm test (two fold increase) might be due to that:

GENESIS_STDLIBS

Running tool: /opt/homebrew/bin/go test -benchmem -run=^$ -bench ^BenchmarkSetupTestEnv$ github.com/gnolang/gno/gno.land/pkg/sdk/vm

goos: darwin
goarch: arm64
pkg: github.com/gnolang/gno/gno.land/pkg/sdk/vm
cpu: Apple M4 Pro
BenchmarkSetupTestEnv-14    	      10	 100075954 ns/op	210136628 B/op	 1011238 allocs/op
PASS
ok  	github.com/gnolang/gno/gno.land/pkg/sdk/vm	10.305s
MASTER

Running tool: /opt/homebrew/bin/go test -benchmem -run=^$ -bench ^BenchmarkSetupTestEnv$ github.com/gnolang/gno/gno.land/pkg/sdk/vm

goos: darwin
goarch: arm64
pkg: github.com/gnolang/gno/gno.land/pkg/sdk/vm
cpu: Apple M4 Pro
BenchmarkSetupTestEnv-14    	1000000000	         0.01958 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	github.com/gnolang/gno/gno.land/pkg/sdk/vm	1.475s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📦 ⛰️ gno.land Issues or PRs gno.land package related 📦 🤖 gnovm Issues or PRs gnovm related 🧾 package/realm Tag used for new Realms or Packages.
Projects
Status: In Review
Development

Successfully merging this pull request may close these issues.

Move standard library initialization to genesis transactions
5 participants