[mapserver-dev] [performance] mapserver list expressions
Daniel Morissette
dmorissette at mapgears.com
Thu Apr 4 07:18:29 PDT 2013
+1 on the addition.
Bonus points if we could get a simple RFC to document and keep a trace
of the addition. The contents of this email with a tiny bit of editing
might be enough, it's just that having it in a RFC would be easier than
looking for it in a ticket or the list archives, and would allow us to
refer to this RFC as a one of the new features at release time.
My 0.02$
Daniel
On 13-04-03 11:16 AM, thomas bonfort wrote:
> While profiling the openstreetmap renderings, I found a relatively low
> hanging performance speedup related to expressions when doing class
> filtering. The context relates to when you'd need to apply a given CLASS
> to multiple attribute values.
> Currently, to apply a single class to multiple values of an attribute,
> you can either use regular expressions, or use the IN operator, like this:
>
> LAYER
> ...
> CLASSITEM "type"
> CLASS
> EXPRESSION /primary|secondary|tertiary/ #regular expression on
> CLASSITEM
> EXPRESSION ("[type]" IN "primary,secondary,tertiary") #"complex"
> parser expression
> ...
> END
> END
>
> Both methods require quite a bit of overhead, either in the regex system
> calls, or by using quite a few mallocs when going through the IN parser
> operation.
>
> We can cut down on this overhead by adding a "list" expression type,
> denoted by the { } delimiters, where the previous layer definition becomes:
>
> LAYER
> ...
> CLASSITEM "type"
> CLASS
> EXPRESSION {primary,secondary,tertiary}
> ...
> END
> END
>
> The modifications to the code are fairly straightforward, and no
> backwards incompatibilities are expected as this is a new functionality
> that does not collide with previous mapserver expressions.
> The changes can be seen here:
> https://github.com/tbonfort/mapserver/commit/fae435d17b099485ab6792bfae3a7d8dd8992b4c
> . (you can ignore the changes to mapparser.*, they correct a bug in the
> IN parser and aren't related to the list operator)
>
> Our parser guru is OK with these changes, so I would like to vote to
> include this new expression for our 6.4 release.
>
> I'll start with my +1
>
> best regards,
> thomas
>
>
> _______________________________________________
> mapserver-dev mailing list
> mapserver-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-dev
>
--
Daniel Morissette
http://www.mapgears.com/
Provider of Professional MapServer Support since 2000
More information about the mapserver-dev
mailing list