On 10 October 2014 18:16, Rich Felker <dal...@libc.org> wrote:
> On Fri, Oct 10, 2014 at 08:43:15AM -0700, Isaac Dunham wrote:
>> > > The code I have is currently using dirtree_read(), which corresponds to
>> > > recursive_action().
>> > > Basically it looks in /sys/class/*/*/, /sys/class/power_supply,
>> > > and /sys/class/thermal for device status.
>> > > I could make it shorter if I use glob() instead of a recursive callback;
>> > > does anyone know whether glob() is likely to be a bloat problem?
>> >
>> > There's a cut-down glob function you could borrow from the linux
>> > kernel ( lib/glob.c ) if you really wanted it slim.
>>
>> That would make a smaller static binary where only the "acpi" applet is
>> concerned, but it might well increase the net size; glob uses fnmatch,
>> which is use in several parts of busybox.
>
> Yes, I would think replacing glob would be a net increase in size
> unless you have an extremely minimal bb config to begin with.

Ah yes, you're both right, I'd somehow forgotten about the whole
multicall thing!

If curious how much difference there is (I was):
[all tests done using musl libc, static]

Standalone:

~15k for glob.c test program
~28k for fnmatch.h test program

Busybox:

=== fnmatch.h test ===
function                                             old     new   delta
globA_main                                             -     132    +132

=== linux kernel glob.c test ===
function                                             old     new   delta
glob_match                                             -     255    +255
globB_main                                             -     107    +107


Steven
_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to