diff options
author | Karl Williamson <khw@cpan.org> | 2020-05-21 10:07:50 -0600 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2022-07-01 11:07:55 -0600 |
commit | d62feba66bf43f35d092bb026694f927e9f94d38 (patch) | |
tree | acdb47a399994d59f65b1cb1d2f58e5a611b13aa /lib/B/Deparse.t | |
parent | c5321c9615e8ff5e65c601de5fd409878da8568b (diff) | |
download | perl-d62feba66bf43f35d092bb026694f927e9f94d38.tar.gz |
regex: Add POSIXA1R node
Several of the POSIXA classes are a single range on ASCII platforms, and
[:digit:] is a single range on both ASCII and EBCDIC. This regnode was
designed to replace the POSIXA regnode for such classes to get a bit of
performance by not needing to do an array lookup. Instead it encodes
some bits in the flags field that with shifting and masking get the
right values for the single range's bounds for any such node.
However, performance tests conducted by Sergey Aleynikov showed this was
actually slower than what it intended to replace. Rather than
completely drop this work, I'm adding it to blead, and immediately
reverting it, so that should parts of it ever become useful, it would be
available.
A few tests fail; those are skipped for the purposes of this commit so
that it doesn't interfere with bisecting.
The code also isn't completely commented.
One could add a regnode for each posix class it was decided should have
the expected performance boost. But regnodes are a finite resource, and
the boost is probably not large enough to justify doing so.
Diffstat (limited to 'lib/B/Deparse.t')
-rw-r--r-- | lib/B/Deparse.t | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/B/Deparse.t b/lib/B/Deparse.t index e7a76c81fe..61a7af83f3 100644 --- a/lib/B/Deparse.t +++ b/lib/B/Deparse.t @@ -1,6 +1,8 @@ #!./perl BEGIN { + print "1..0 # Skip -- temporary\n"; + exit 0; splice @INC, 0, 0, 't', '.'; require Config; if (($Config::Config{'extensions'} !~ /\bB\b/) ){ |