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