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

Benchmarking & Performance #45

Open
ianlewis opened this issue Jun 3, 2023 · 5 comments · May be fixed by #412
Open

Benchmarking & Performance #45

ianlewis opened this issue Jun 3, 2023 · 5 comments · May be fixed by #412
Labels
enhancement New feature or request performance An issue with performance

Comments

@ianlewis
Copy link
Owner

ianlewis commented Jun 3, 2023

Add some kind of benchmarking for tracking how performance changes over time and with each PR.

Some useful articles:

@ianlewis ianlewis added the enhancement New feature or request label Jun 3, 2023
@ianlewis
Copy link
Owner Author

ianlewis commented Jun 6, 2023

Benchmarks on large repos would be cool:

Also maybe benchmark grep as a baseline and do comparisons.

@ianlewis
Copy link
Owner Author

ianlewis commented Jun 6, 2023

It currently takes a full minute+ to run on the Kubernetes codebase 😢

kubernetes$ time todos
...

real    1m12.760s
user    1m19.193s
sys     0m3.141s

Whereas grep takes about 1s 🤯

kubernetes$ time grep -nr '\(//\|#\) \?\(TODO\|FIXME\|BUG\|HACK\|XXX\|COMBAK\)' --exclude-dir '.git' .

real    0m1.003s
user    0m0.542s
sys     0m0.450s

@ianlewis
Copy link
Owner Author

ianlewis commented Jun 6, 2023

ianlewis pushed a commit that referenced this issue Aug 24, 2023
@ianlewis
Copy link
Owner Author

Profiling Go Programs

@ianlewis ianlewis linked a pull request Aug 27, 2023 that will close this issue
@ianlewis ianlewis linked a pull request Aug 27, 2023 that will close this issue
@ianlewis
Copy link
Owner Author

I think instead of using the RuneReader I can just operate and directly compare bytes. That would eliminate a whole set of code that probably doesn't need to run.

@ianlewis ianlewis changed the title Benchmarking Benchmarking & Performance Aug 28, 2023
@ianlewis ianlewis added the performance An issue with performance label Aug 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request performance An issue with performance
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant