On 28.10.2014 14:19, [email protected] wrote:
> Author: stefan2
> Date: Tue Oct 28 13:19:30 2014
> New Revision: 1634875
>
> URL: http://svn.apache.org/r1634875
> Log:
> Speed up packed revprop access by tuning the manifest file parser.
[...]
> +/* Return the minimum length of any packed revprop file name in REVPROPS. */
> +static apr_size_t
> +get_min_filename_len(packed_revprops_t *revprops)
> +{
> + char number_buffer[SVN_INT64_BUFFER_SIZE];
> +
> + /* The revprop filenames have the format <REV>.<COUNT> - with <REV> being
> + * at least the first rev in the shard and <COUNT> having at least one
> + * digit. Thus, the minimum is 2 + #decimal places in the start rev.
> + */
> + return svn__i64toa(number_buffer, revprops->manifest_start) + 2;
> +}
Are you absolutely sure this is correct? According to the comment, you
should be returning
strlen(svn_i64toa(...)) + 2
As it is, you end up allocating buffers that are orders of magnitude
larger than necessary.
-- Brane