Fixed u_arraylist to correct performance and missing calls.
Corrected poor memory management to not realloc() on each remove
call, use a normal approach to growth of the backing store, and
some general cleanup. Added calls for reserving space and for
requesting reduction of the backing store.
These were all issues called out in the intial code review.
Simple cleanup improved performance of the contains function
reducing its time by 40%-50% (~ 36ms down to 21ms-19ms).
With the backing store corrections, repeted add/remove testing was
improved with its time being cut by 75% (36.8ms down to 9.4ms).
(Times should be taking as very rough, since runs were done using
valgrind to slow things enough to actually measure.)
Change-Id: I81e42f2fdbec8fb7fb18f16f09cfa5008640a2d4
Signed-off-by: Jon A. Cruz <jonc@osg.samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/2293
Reviewed-by: Habib Virji <habib.virji@samsung.com>
Tested-by: Habib Virji <habib.virji@samsung.com>
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>