Ответ: Ответ: LIBBB: config_*()

Vladimir Dronnikov dronnikov at gmail.com
Tue Jul 15 21:41:57 UTC 2008


I was waiting for a draft to be committed so we could work on
particular piece of code. Thank you for applying, Denys!

I was preparing a new patch when the your post arrived. I now can
remove mdev's portion and send it in a separate thread.

The plan is made, let us start "explaining" :^)

--
Vladimir


2008/7/15, Denys Vlasenko <vda.linux at googlemail.com>:
> On Tuesday 15 July 2008 06:31, Vladimir Dronnikov wrote:
>> As I expected the gain regarding the only applet is not big (if any).
>> But to develop common interfaces is definitely an important task in
>> the long run. Even if not applied directly one may use config_*()
>> prototypes inline with some code thrown, and still the logic would
>> retain and would provide the right results. There would be no need to
>> reinvent the wheel.
>
> Ok, I applied the patch.
>
> Making it all cute in one go seems to be difficult, so I propose
> the following plan:
>
> - convert more applets to it
>   - ifupdowm will require "comment only if # is first non-space char" fix
>   - etc
> - code size in config_read() calls: add define magic to collapse
>   ntokens/mintokens/comment params into one int param (similar to
>   #define xrealloc_vector trick)
> - optimize runtime space usage even more by collapsing consecutive
>   delimiters
> - speed up
>   - see big fat comment at libbb/get_line_from_file.c how to spped up
>     line reads (and maybe even fix sed in the process)
>   - fix "mdev -s" to not rescan config file two zillion times
>
> I do not mean that _you_ (or anyone else) *must* to work on this.
> (But this would be nice of you if you do).
> It is meant to be an explanation "why we just committed 300+ bloat,
> and how we will fix it" :)
> --
> vda
>



More information about the busybox mailing list