Hacker Newsnew | past | comments | ask | show | jobs | submit | feldrim's commentslogin

Would SearchValues<char> help there for a fallback to a SIMD optimized simple string literal search rather than the happy path?

Yes, that's exactly what we did to be competitive in the benchmarks.

There's a lot of simple cases where you don't really need a regex engine at all.

integrating SearchValues as a multi-string prefix search is a bit harder since it doesn't expose which branch matched so we would be taking unnecessary steps.

Also .NET implementation of Hyperscan's Teddy algorithm only goes left to right.. if it went right to left it would make RE# much faster for these cases.


So, there's still room for significant improvement.

There is plenty still to do.

One part of this is SIMD algorithms to better compete with Hyperscan/Rust, another is the decades of optimizations that backtracking engines have for short anchored matches for validation.

There's analysis to do for specific patterns so we can opt for specialized algorithms, eg. for fixed length patterns we skip the left-to-right pass entirely since we already know the match start + match length.

Lots of opportunistic things like this which we haven't done. Also there are no statistical optimizations in the engine right now. Most engines will immediately start looking for a 'z' if there is one in the pattern since it is rare.


You got me at TalTech. Great job and the paper is high quality. I'll have to learn F# but I believe it is worth it.

I only made two plugins. I have two half baked ones in the making. Both Shreyas and me have day jobs and this is a side quest. Overall, my contributions are about 1% of all the code, so I accept the 1% of the thanks. Kudos to Shreyas.


I am fan of Technitium, because I like to build and I built two plugins for it to fit my use case. But at work, we use Windows DNS and Bind in parallel. So, this is also a hobby of mine. The hook for me is that it is built with dotnet, and I have experience in that stack. Other features are secondary actually.

I am curious though, what would TDNS do so that you can replace BIND with TDNS in your homelab/workplace or wherever it is used? I genuinely ask for it so that I can help the original developer with some PRs.


The only problem there is for GDPR consent thingy. You can disable and proceed. I don't use any telemetry except for the consent banners.

When it comes to Technitium, well, it's written in the blog.


If my browser is blocking cookies, you don't need my consent, because you're not going to set any cookies.

GDPR preempted...


Yes. That's why I put the footnote there.


Well, I read that footnote, but I'm not sure if overloading the acronym is the best idea, is what I'm trying to say.


I agree with you there. But the term does not belong to me buy yo CISA and other organisations. But it's not as bad as Cyber Security Awareness Month acronym at least


I've played with threat intelligence to build a simple, on premises PDNS out of a privacy-focused DNS server.


I like to build.


Those two "PowerShell"s are not the same. For the sake of cross platform deployment, they moved away from the original a lot -though they managed to support many things in time. The old and original one was released in 2006,IIRC, so it didn't exist in 90s.


An SBOM-like approach to EOL/EOS issues is on the way.


I think the only large projects that presently take SBOMs seriously are Nix, Guix, and Go (non-cgo). Bootstrapping is non-trivial, but at least builds are reproducible and can be compared against existing binaries.

"Oh, just write plain C". Which compiler do you mean? GCC? LLVM/clang? On top of what OS/kernel? What firmware? Etc.


Some distros packaging Rust software (OpenSUSE at least) also transparently set up CARGO=cargo-audit to get embedded SBOMs.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: