On Sun, Sep 13, 2015 at 8:07 AM, Tito <[email protected]> wrote:
> attached you will find a patch that shrinks the is_suffixed_with
> function and adds one more test case as suggested by Bartosz
> Golaszewski.
>
> Bloat-o-meter says:
>
> function                                             old     new   delta
> is_suffixed_with                                      83      47    -36
> ------------------------------------------------------------------------------
> (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-36)            Total: -36 bytes

>  char* FAST_FUNC is_suffixed_with(const char *string, const char *key)
>  {
> -       size_t key_len = strlen(key);
> -       ssize_t len_diff = strlen(string) - key_len;
> -
> -       if (len_diff >= 0) {
> -               string += len_diff;
> -               if (strcmp(string, key) == 0) {
> -                       return (char*)string;
> -               }
> -       }
> -
> +       char *s = strrstr(string, key);
> +       if (s && strcmp(s, key) == 0)
> +               return s;
>         return NULL;

This version is too performance-pessimized.
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to