Front page | perl.perl5.porters |
Postings from January 2018
From: Karl Williamson
January 30, 2018 18:41
Message ID: email@example.com
On 01/02/2018 05:37 AM, Dave Mitchell wrote:
> On Mon, Jan 01, 2018 at 07:08:10PM +0100, demerphq wrote:
>> On 31 December 2017 at 22:36, Karl Williamson <firstname.lastname@example.org> wrote:
>>> This function is called during regular expression pattern matching for
>>> things like
>>> to match as many 'foo's as there are. There is special code to handle the
>>> case where foo is a single byte, such as in
>>> It turns out that these cases can be sped up dramatically if what we are
>>> matching is a long string of 'a's in a row. We simply load a word with 4 or
>>> 8 a's and look at the string a word-at-a-time, which uses 1/4 or 1/8 the
>>> number of instructions. By using a mask, this can be extended to work for
>>> as well. The code in each case is just over 20 lines of C.
>>> My question is, does this happen often enough in real life to justify the
>>> extra code?
>>> Leon pointed out that in DNA, there may be longish strings of 'A's.
>> I think this is highly likely to be worth it.
Now done by