OpenBSD’s base system (without extra packages) includes PF and has a focus on security.
PF in freebsd is several major versions old.
nftables (like iptables before it) is rule based and not bucket based. So high numbers of rules will not affect pf’s performance like it does with nftables.
But, for home users, probably not noticeable. Though I prefer the syntax of PF personally.
The key is “for each packet”, because it’s bucket based it will entirely skip evaluation for packets that do not match. This is due to how the rule set is compiled, but I can see how it could be confusing if you’re used to iptables and only think in those terms.
I posted the architectural diagrams of both in another comment on this thread yesterday, I think you missed that.
>The key is “for each packet”, because it’s bucket based it will entirely skip evaluation for packets that do not match.
That is how it works in nftables.
>but I can see how it could be confusing if you’re used to iptables and only think in those terms.
Considering you're misunderstanding some basics about nftables and iptables here, I think you need to look in the mirror.
>I posted the architectural diagrams of both in another comment on this thread yesterday, I think you missed that.
I saw, and it only reenforced the fact that that's how nftables works. Hilariously enough, the OpenBSD webpage crashed and wouldn't load, giving various 500 and 42X errors.