Try it yourself
NFAs are cheaper to construct, but have a O(n*m) matching time, where n is the size of the input and m is the size of the state graph. NFAs are often seen as the reasonable middle ground, but i disagree and will argue that NFAs are worse than the other two. they are theoretically “linear”, but in practice they do not perform as well as DFAs (in the average case they are also much slower than backtracking). they spend the complexity in the wrong place - why would i want matching to be slow?! that’s where most of the time is spent. the problem is that m can be arbitrarily large, and putting a large constant of let’s say 1000 on top of n will make matching 1000x slower. just not acceptable for real workloads, the benchmarks speak for themselves here.
。WPS官方版本下载对此有专业解读
Трамп высказался о непростом решении по Ирану09:14,详情可参考safew官方版本下载
Елена Торубарова (Редактор отдела «Россия»)