Ron Yorston 59120c3303 libbb: code shrink and speed up find_applet_by_name()
find_applet_by_name() determines the appropriate range of applet
indices to check for the given name and performs a linear search in
applet_names[].

Revise the code so the index of the upper bound of the range, 'max',
isn't calculated.  Instead check the value of the first non-matching
character to see if we've reached the end of the range.

This new code speeds up the time to find a valid applet name by 6%
and halves the time to detect that a given name is invalid.  The
average time to detect an invalid name is now the same as for a valid
one.

function                                             old     new   delta
find_applet_by_name                                  155     133     -22
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-22)             Total: -22 bytes

Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-02-02 14:16:38 +01:00
..
2020-08-13 17:12:56 +02:00
2020-12-14 18:25:28 +01:00
2020-12-17 11:22:44 +01:00
2020-10-25 23:44:22 +01:00
2013-02-26 00:36:53 +01:00
2012-10-03 09:42:21 +02:00
2020-10-01 03:07:22 +02:00
2020-08-13 17:12:56 +02:00
2020-12-21 22:50:23 +01:00
2018-07-17 15:04:17 +02:00
2010-07-26 01:49:12 +02:00
2020-12-17 20:53:43 +01:00
2018-12-08 15:35:24 +01:00
2010-10-29 11:46:52 +02:00
2015-04-02 23:03:46 +02:00

Please see the LICENSE file for copyright information (GPLv2)

libbb is BusyBox's utility library.  All of this stuff used to be stuffed into
a single file named utility.c.  When I split utility.c to create libbb, some of
the very oldest stuff ended up without their original copyright and licensing
information (which is now lost in the mists of time).  If you see something
that you wrote that is mis-attributed, do let me know so we can fix that up.

	Erik Andersen
	<andersen@codepoet.org>