Opened 6 years ago

Closed 5 years ago

#12909 closed Patches (fixed)

Unnecessary performance issue for base64 encoding and decoding

Reported by: martin.apel@… Owned by: Robert Ramey
Milestone: To Be Determined Component: serialization
Version: Boost 1.63.0 Severity: Optimization
Keywords: Performance Base64 Cc:

Description

The base64 encoding and decoding of base64_from_binary and binary_from_base64 contains an unnecessary performance issue. The tables used in the implementation are declared locally in each routine, but they are not declared static. At least with GCC 4.9, even at optimization lievel -O2 this incurs a major performance decrease, which can be avoided by making these tables static.

Attachments (1)

base64.diff (1.2 KB ) - added by martin.apel@… 6 years ago.
Fix patch

Download all attachments as: .zip

Change History (3)

by martin.apel@…, 6 years ago

Attachment: base64.diff added

Fix patch

comment:1 by Robert Ramey, 5 years ago

looks like a good catch. Made the fix and pending test results.

comment:2 by Robert Ramey, 5 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.