내가 들어오는 문자열에 내가 "나쁜"단어 중 하나를 포함하고 있는지 검색하려고한다고 가정 해보십시오. :)이 경우 정규식이 배열 비교보다 빠릅니까?
문자열을 배열로 분할하고 나쁜 단어를 배열에 보관 한 다음 각 잘못된 단어와 각 수신 단어를 반복하여 일치하는 항목이 있는지 확인하는 것이 더 빠릅니까? 같은 :
badwords.each do |badword|
incoming.each do |word|
trigger = true if badword == word
end
end
또는 더 빨리이 작업을 수행하는 것입니다
incoming.each do |word|
trigger = true if badwords.include? word
end
을하거나 그대로 문자열을 떠나 같은 형태의 정규식과 .match()를 실행하는 빠른 :
/\bbadword1\b|\bbadword2\b|\bbadword3\b/
성능 차이가 거의 무시할 수 있습니까? 잠시 궁금해하고있었습니다.
궁금한 점을 멈추고 측정을 시작하십시오. –