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

Use LinkedList for Stack Frames. #18

Merged
merged 10 commits into from
Feb 17, 2021
Merged

Use LinkedList for Stack Frames. #18

merged 10 commits into from
Feb 17, 2021

Conversation

soasme
Copy link
Owner

@soasme soasme commented Feb 17, 2021

Inside the stack frame, the silent and space states are also cached so we don't need the heavy lift of using NeedSquash & NeedLoosen.

The performance optimization is significant:

Running #15 against the current HEAD (10x faster than #15):

time ./a.out
real	0m0.014s
user	0m0.006s
sys	0m0.004s

See callgrind output: https://gist.github.com/soasme/f31ea5f78420304a1b12b434a4a808e9

@soasme soasme merged commit 40ac45b into main Feb 17, 2021
@soasme soasme deleted the issue-15-3 branch February 17, 2021 19:39
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

Successfully merging this pull request may close these issues.

1 participant