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

VM Stack slow #445

Closed
2 tasks done
obscuren opened this issue Mar 9, 2015 · 0 comments
Closed
2 tasks done

VM Stack slow #445

obscuren opened this issue Mar 9, 2015 · 0 comments
Milestone

Comments

@obscuren
Copy link
Contributor

obscuren commented Mar 9, 2015

The current implementation of the vm.Stack is slow because Pop uses the slice delete trick.

  • Implement a simple stack using append & a stack ptr
  • Remove Popn and swap all x,y := st.Popn() where x = S'2 and y = S'1

Before (GT)

x, y := stack.Popn()

if y.Cmp(x) > 0 { /* ... */ }

After

x, y := stack.pop(), stack.pop()

if x.Cmp(y) > 0 { /* ... */ }
@obscuren obscuren added this to the Frontier milestone Mar 9, 2015
@obscuren obscuren closed this as completed Mar 9, 2015
jpeletier pushed a commit to epiclabs-io/go-ethereum that referenced this issue Apr 26, 2018
swarm/api: add method to swarm HTTP request metric
ngtuna pushed a commit to ngtuna/tomochain that referenced this issue Feb 22, 2019
maoueh pushed a commit to streamingfast/go-ethereum that referenced this issue Nov 12, 2021
* parallel bloom calculation

* indent

* add condition if bloomJobs not nil

* add handler for worker

* fix format

* bloomWorker should exit when all txs have been processed

* rename BloomPair => BloomHash

* add size to map

* rename & unique variable

* bloomJobs => bloomProcessors

* fix

* only assign bloom if empty

* abstraction method for processing receipt bloom

* remove duplicate receipt_processor

* rename Processor

* fix  ReceiptProcessor

* fix ReceiptBloomGenertor typo

* reduce worker to 1

* remove empty wg

* add defence code to check if channel is closed

* remove nil

* format fix

* remove thread pool

* use max 100 worker capacity

* reduce worker size

* refactor startWorker
AusIV pushed a commit to NoteGio/go-ethereum that referenced this issue Jan 18, 2022
tony-ricciardi pushed a commit to tony-ricciardi/go-ethereum that referenced this issue Jan 20, 2022
maoueh pushed a commit to streamingfast/go-ethereum that referenced this issue Jan 6, 2023
* add context

* fix mocks

* fixes after CR

* fixes

* fix

* Linters
tanishqjasoria pushed a commit to tanishqjasoria/go-ethereum that referenced this issue Oct 31, 2023
build: add ca-certificates to Dockerfile
s1na pushed a commit to s1na/go-ethereum that referenced this issue Dec 2, 2024
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

1 participant