> I don't want to spend many time making the patch, unless it goes immediately > into CVS, as keeping it sync with CVS for weeks/months is a nightmare... > If I have to do the fork&sync way, i'll fork everything and redesign ruleset > syntax to better fit my needs for the C version...
Rules tend to change minimally, and mostly only by addition, so fork-and-sync shouldn't be much of a problem here. A simple 3-way merge should be pretty easy for the next couple weeks until the change is made on the perl side to read the new config format. And you won't even need to do it very often. If even more than once -- I imagine coding the whole thing in C and testing/debugging/etc will take a little while anyway, and you don't *need* the latest ruleset to do that part of the work :) > > There are many rules though where they don't really have any "words" > > that you can pre-match against. So you're still going to have to do a > > medium-sized number of regex matches. You might not gain all that much > > over just doing the multi-match system, and the coding and complexity of > > the program will go up substantially. > It does worth, i tried only with 10 rules and it resulted 3 times faster > execution... anyway i don't see that 'complexity'. > > Anyway, if you think regexp is ebtter for perl, you can stil luse regexps in > perl version, while allow word table lookup / strstr-like solutions to get > much better speed. Note, that my C version is already 5 times faster than > perl using spamc/spamd, and I won't stop until I get 100+ mails/sec througput. > (currently it's 27 mails/sec compared to 5 mails/sec of perl version) It's not that I think it's better, it's pretty much the only way to do substring matching in perl (unless you right your own character-by-character comparison function maybe). But I also think any decent regex library should be doing Boyer-Moore matching for fixed substrings, and I doubt many (any?) strstr implementation will do that. Probably what would make the most sense is to have your C version parse the config files and just do special interpretation when it finds /fixed substring/ regular expressions, with no special characters in the pattern (as suggested by Greg). C _______________________________________________ Spamassassin-talk mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/spamassassin-talk