When many atoms are catenated, dfamust() is very slow in order that pushing a string into `in' list is slow. This change fixes it. I tested below to confirm the effect. $ printf '%08192d\n' 0 | time -p src/grep -f - /dev/null