cobol: Improve INSPECT performance with specialized routines.
Optimizes COBOL INSPECT performance by separating single-byte and multi-byte operations and using task-specific search routines.
This commit enhances the performance of the COBOL INSPECT statement by refactoring its library routines. It now differentiates between single-byte and multi-byte character processing, applying specialized, faster routines for each. Additionally, new task-specific routines are introduced for efficient string searching within memory.
In Details
The libgcobol INSPECT implementation has been optimized by splitting routines into single-byte character (SBC) and multi-byte character variants. This allows for faster processing when dealing with SBC operations, particularly in routines like the_alpha_and_omega_sbc and newly introduced ones for pattern matching and bounds setting. New routines like __gg__inspect_format_2_sbc and __gg__inspect_format_4_sbc are also introduced to handle specific INSPECT formats more efficiently.
- INSPECT statement
- A COBOL statement used for examining data items and performing replacements based on character content.
- single-byte character (SBC)
- A character encoding where each character is represented by a single byte, commonly used for ASCII or basic Latin alphabets.
- multi-byte character
- A character encoding where characters can be represented by one or more bytes, used for broader character sets like UTF-8.