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

Huffman Encoding Speed #65

Closed
sethmlarson opened this issue Sep 29, 2016 · 4 comments
Closed

Huffman Encoding Speed #65

sethmlarson opened this issue Sep 29, 2016 · 4 comments

Comments

@sethmlarson
Copy link
Member

Did some benchmarks for huffman encoding and comparing the existing HuffmanEncoder.encode() to my own implementation I see a 71% speed difference. My own implementation is not optimal, I am sure there are many things that could be done differently but may be a good starting point to speeding up HPACK.

I will do some additional work and take a look at what I can do to speed this part of the library up, as apparently it's a significant percentage of the cycle usage for the library.

@Lukasa
Copy link
Member

Lukasa commented Sep 29, 2016

Yup, I'd be delighted to see speedups in the Huffman encoder. In general, Huffman speedups are good. However, as we're currently piggybacking on a really great algorithm, it'd be awesome if you could publish benchmarks as you go so that we can verify the performance improvements. That way as well we can incrementally build up a collection of benchmarks that we can use to keep track of performance as time passes.

@sethmlarson
Copy link
Member Author

@Lukasa Of course! Perhaps I could add a "bench" directory to this repository that contains all my benchmarking tests? And I'm not suggesting that we change the decoding algorithm, it is perfectly good. I would focus my improvements on the encoding algorithm.

@Lukasa
Copy link
Member

Lukasa commented Sep 29, 2016

A bench directory would be fab. If we get far enough down the road we can consider hosting a server that stores benchmark results from Travis runs.

@sethmlarson
Copy link
Member Author

@Lukasa Exactly what I was thinking, but something for the future for sure! :)

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

2 participants