Saving a 16- or 32-bit PSD built the Lr16/Lr32 layer payload in a temporary buffer and cloned every global tagged block before copying them into the file. The payload is now written straight into the output with its length patched afterwards, and the neighbouring blocks are borrowed. Output is byte-identical: all 735 corpus PSD/PSBs re-save to the same bytes. A 24 MP layer saves in 66 ms instead of 75 ms at 16-bit and 132 ms instead of 164 ms at 32-bit, and the temporary 144-288 MB copy is gone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| bench_layer_block.rs | ||
| big_psb.rs | ||