On Sat, 2008-07-26 at 14:23 +0200, Dominique Dumont wrote: > "Raphaël Pinson" <[EMAIL PROTECTED]> writes: > > > > Also, did you observe that augparse runs _really_ slow with that > > lens ? It seems to allocate a _ton_ of memory. Seems like we > > need to do some optimizations somewhere to keep that at bay. > > > > Very slow indeed. Maybe the tip you gave me on dput.aug would > > improve this. The fact is that php.aug has _tons_ of keywords. I'm > > not even sure to have listed them all. since it seems that PHP > > modules might allow more here... > > An alternative way would be to use Augeas only to perform > transformation from syntax to abstract tree and to control/validate > the content of the abstract tree with another tool. Your tons of > keywords would be declared in and verified by this other tool.
I am pretty confident that switching from taking the union of a lot of lenses to a union of strings/regexps will take care of the slowness. The difference between 'l(r1) | l(r2) | .. | l(rn)' vs 'l(r1|r2|..|rn)' is enormous in terms of the internal processing - when parsing the file, the first version requires n regexp matches, whereas the second just requires one, plus the regexps for the first version are _much_ bigger than for the second. I hope to get rid of the n matches for the first form, but right now that's what it does. > > There's another problem though. As I was working on this file, it > > seems logical to me to treat it as a standard INI file, with > > sections and variables. Now I was surprised to find that variables > > have a naming space in them, such that most variables exist several > > times in different naming spaces (e.g. > > (ifx,msql,mssql,mysql,mysqli, > > odbc,pgsql,etc.).allow_persistent. After noticing that, I wondered > > if the sections in php.ini were _really_ useful. If the were, what > > would be the use of adding a naming space to the variable names? So > > I talked with a few of my colleagues that are used to php.ini, and > > they told me that PHP seems to completely ignore the sections in > > php.ini, such that moving variables around has no effect on the > > configuration. In that situation. should we consider sections as > > comments, seeing that it would be hard to move values around if we > > use standard INI file sections? > > >From my experience on Config::Model, I'd said you should focus on the > semantics of the configuration file and not its syntax. The syntax is > an "implementation detail". Augeas' goal though is pretty much the reverse: focus on syntax, and leave semantics (i.e., what values mean in a tree) to other tools. Having said that, it's always better to deal with things on the syntactic level (e.g., by strictly checking for valid values). David _______________________________________________ augeas-devel mailing list [email protected] https://www.redhat.com/mailman/listinfo/augeas-devel
