Commit 2d92a68
committed
Create WORTH_PER_WORD_LOOP(), WORTH_PER_WORD_LOOP_BINMODE()
There are several places in the perl core that, for performance, use
word-at-a-time operations on byte data when the data to be processed is
long enough to overcome the extra setup overhead required.
The code that does this is not immediately obvious, and is currently
repeated at each such place.
This macro creates two macros that encapsulate this logic, making each
place that uses them easier to read.
One macro is for data that isn't dependent on the character set. The
other is for character data. EBCDIC data is not suitable for per-word
operation, so the this macro always returns false on an EBCDIC platform.
This allows for the removal of some EBCDIC #ifdefs in our code base.1 parent 0762960 commit 2d92a68
1 file changed
+42
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1475 | 1475 | | |
1476 | 1476 | | |
1477 | 1477 | | |
| 1478 | + | |
| 1479 | + | |
| 1480 | + | |
| 1481 | + | |
| 1482 | + | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
| 1491 | + | |
| 1492 | + | |
| 1493 | + | |
| 1494 | + | |
| 1495 | + | |
| 1496 | + | |
| 1497 | + | |
| 1498 | + | |
| 1499 | + | |
| 1500 | + | |
| 1501 | + | |
| 1502 | + | |
| 1503 | + | |
| 1504 | + | |
| 1505 | + | |
| 1506 | + | |
| 1507 | + | |
| 1508 | + | |
| 1509 | + | |
| 1510 | + | |
| 1511 | + | |
| 1512 | + | |
| 1513 | + | |
| 1514 | + | |
| 1515 | + | |
| 1516 | + | |
| 1517 | + | |
| 1518 | + | |
| 1519 | + | |
1478 | 1520 | | |
1479 | 1521 | | |
1480 | 1522 | | |
| |||
0 commit comments