Hi,

the function apr_array_cat could be speed up a bit by resetting only the
memory that need to be.

Actually, when there is not enough space in the destination table we do :
    - allocate new memory and set it all to 0
    - copy the dst table to the new location
    - copy the src table after the dst table

We could :
   - allocate new memory
   - reset the memory that will remain uninitialised after copying dst and
src tables  <------------
   - copy the dst table to the new location
   - copy the src table after the dst table

Doing so, avoid the need to erase some memory.

A proposed, untested, patch is attached.

Best regards,
CJ


begin 666 diff_apr.patch
M26YD97@Z('1A8FQE<R]A<')?=&%B;&5S+F,*/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/0HM+2T@=&%B;&5S+V%P<E]T86)L97,N8PDH<F5V:7-I;VX@,3$U-3$R
M,2D**RLK('1A8FQE<R]A<')?=&%B;&5S+F,)*'=O<FMI;F<@8V]P>2D*0$ @
M+3$U,RPX("LQ-3,L,3 @0$ *( D@(" @;F5W7W-I>F4@*CT@,CL*( E]"B *
M+0EN97=?9&%T82 ](&%P<E]P8V%L;&]C*&1S="T^<&]O;"P@96QT7W-I>F4@
M*B!N97=?<VEZ92D["BT);65M8W!Y*&YE=U]D871A+"!D<W0M/F5L=',L(&1S
M="T^;F%L;&]C("H@96QT7W-I>F4I.PHK"6YE=U]D871A(#T@87!R7W!A;&QO
M8RAD<W0M/G!O;VPL(&5L=%]S:7IE("H@;F5W7W-I>F4I.PHK"6UE;6-P>2AN
M97=?9&%T82P@9'-T+3YE;'1S+"!D<W0M/FYE;'1S("H@96QT7W-I>F4I.PHK
M(" @(&UE;7-E="AN97=?9&%T82 K("AD<W0M/FYE;'1S("L@<W)C+3YN96QT
M<RD@*B!E;'1?<VEZ92P@,"P**R @(" @(" @(" @96QT7W-I>F4@*B H;F5W
M7W-I>F4@+2!D<W0M/FYE;'1S("T@<W)C+3YN96QT<RDI.PH@"B )9'-T+3YE
J;'1S(#T@;F5W7V1A=&$["B )9'-T+3YN86QL;V,@/2!N97=?<VEZ93L*
`
end


Reply via email to