Hi everyone, I'm the author of this article. Feel free to ask me any questions to break the radio silence!
What's the difference between a Programming Furu and a Programming Guru? Is there a joke I'm missing?
How is Ultrassembler so fast?
11–20 of 53 posts
Re: How is Ultrassembler so fast?
#12Re: How is Ultrassembler so fast?
#13I wonder if you thought about perfect hashing instead of that comparison tree. Also, flex (as in flex and bison) can generate what amounts to trees like that, I believe. I haven't benchmarked it compared to a really careful explicit tree though.
Re: How is Ultrassembler so fast?
#14I wonder if you thought about perfect hashing instead of that comparison tree. Also, flex (as in flex and bison) can generate what amounts to trees like that, I believe. I haven't benchmarked it compared to a really careful explicit tree though.
I thought about hashing, but found that hashing would be enormously slow to compute compared to a perfectly crafted tree.
Re: How is Ultrassembler so fast?
#15Hi everyone, I'm the author of this article. Feel free to ask me any questions to break the radio silence!
If I'm honest, I've never looked into pmr, but I always thought that that's where std has arena allocators and stuff
https://en.cppreference.com/w/cpp/header/memory_resource.htm...
Re: How is Ultrassembler so fast?
#16Earlier quoted context omitted.
I thought about hashing, but found that hashing would be enormously slow to compute compared to a perfectly crafted tree.
But did you think about using a perfect hash function and table? Based on my prior research, it seems like they are almost universally faster on small strings than trees and tries due to lower cache miss rates.
Re: How is Ultrassembler so fast?
#17Hi everyone, I'm the author of this article. Feel free to ask me any questions to break the radio silence!
Re: How is Ultrassembler so fast?
#18Earlier quoted context omitted.
But did you think about using a perfect hash function and table? Based on my prior research, it seems like they are almost universally faster on small strings than trees and tries due to lower cache miss rates.
Ditto. Perfect hashing strings smaller than 8 bytes has been the fastest lookup method in my experience.