<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">+1 on this change, just catching up on
      email. :)<br>
      <br>
      -Steve W<br>
      <br>
      On 4/4/2013 12:39 PM, thomas bonfort wrote:<br>
    </div>
    <blockquote
cite="mid:CAOM3y2jeta5Ed2qSfVUeK4KPMQsHn6THk7_BhJFQCU1tgPorTg@mail.gmail.com"
      type="cite">
      <div dir="ltr">Daniel,
        <div><br>
        </div>
        <div>done: <a moz-do-not-send="true"
href="https://github.com/mapserver/docs/blob/branch-6-2/en/development/rfc/ms-rfc-95.txt">https://github.com/mapserver/docs/blob/branch-6-2/en/development/rfc/ms-rfc-95.txt</a></div>
        <div style="">(will appear on the website shortly)</div>
        <div style=""><br>
        </div>
        <div style="">I don't think it's worth calling for a new vote on
          the actual RFC, this email thread should suffice.</div>
        <div style=""><br>
        </div>
        <div style="">
          regards,</div>
        <div style="">thomas</div>
        <div style=""><br>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <br>
        <div class="gmail_quote">On 4 April 2013 16:18, Daniel
          Morissette <span dir="ltr"><<a moz-do-not-send="true"
              href="mailto:dmorissette@mapgears.com" target="_blank">dmorissette@mapgears.com</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">+1 on the
            addition.<br>
            <br>
            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.<br>
            <br>
            My 0.02$<br>
            <br>
            Daniel
            <div>
              <div class="h5"><br>
                <br>
                <br>
                On 13-04-03 11:16 AM, thomas bonfort wrote:<br>
              </div>
            </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div>
                <div class="h5">
                  While profiling the openstreetmap renderings, I found
                  a relatively low<br>
                  hanging performance speedup related to expressions
                  when doing class<br>
                  filtering. The context relates to when you'd need to
                  apply a given CLASS<br>
                  to multiple attribute values.<br>
                  Currently, to apply a single class to multiple values
                  of an attribute,<br>
                  you can either use regular expressions, or use the IN
                  operator, like this:<br>
                  <br>
                  LAYER<br>
                     ...<br>
                     CLASSITEM "type"<br>
                     CLASS<br>
                       EXPRESSION /primary|secondary|tertiary/  #regular
                  expression on<br>
                  CLASSITEM<br>
                       EXPRESSION ("[type]" IN
                  "primary,secondary,tertiary") #"complex"<br>
                  parser expression<br>
                       ...<br>
                     END<br>
                  END<br>
                  <br>
                  Both methods require quite a bit of overhead, either
                  in the regex system<br>
                  calls, or by using quite a few mallocs when going
                  through the IN parser<br>
                  operation.<br>
                  <br>
                  We can cut down on this overhead by adding a "list"
                  expression type,<br>
                  denoted by the { } delimiters, where the previous
                  layer definition becomes:<br>
                  <br>
                    LAYER<br>
                     ...<br>
                     CLASSITEM "type"<br>
                     CLASS<br>
                       EXPRESSION {primary,secondary,tertiary}<br>
                       ...<br>
                     END<br>
                  END<br>
                  <br>
                  The modifications to the code are fairly
                  straightforward, and no<br>
                  backwards incompatibilities are expected as this is a
                  new functionality<br>
                  that does not collide with previous mapserver
                  expressions.<br>
                  The changes can be seen here:<br>
                  <a moz-do-not-send="true"
href="https://github.com/tbonfort/mapserver/commit/fae435d17b099485ab6792bfae3a7d8dd8992b4c"
                    target="_blank">https://github.com/tbonfort/mapserver/commit/fae435d17b099485ab6792bfae3a7d8dd8992b4c</a><br>
                  . (you can ignore the changes to mapparser.*, they
                  correct a bug in the<br>
                  IN parser and aren't related to the list operator)<br>
                  <br>
                  Our parser guru is OK with these changes, so I would
                  like to vote to<br>
                  include this new expression for our 6.4 release.<br>
                  <br>
                  I'll start with my +1<br>
                  <br>
                  best regards,<br>
                  thomas<br>
                  <br>
                  <br>
                </div>
              </div>
              <div class="im">
                _______________________________________________<br>
                mapserver-dev mailing list<br>
                <a moz-do-not-send="true"
                  href="mailto:mapserver-dev@lists.osgeo.org"
                  target="_blank">mapserver-dev@lists.osgeo.org</a><br>
                <a moz-do-not-send="true"
                  href="http://lists.osgeo.org/mailman/listinfo/mapserver-dev"
                  target="_blank">http://lists.osgeo.org/mailman/listinfo/mapserver-dev</a><br>
                <br>
              </div>
            </blockquote>
            <span class="HOEnZb"><font color="#888888">
                <br>
                <br>
                -- <br>
                Daniel Morissette<br>
                <a moz-do-not-send="true"
                  href="http://www.mapgears.com/" target="_blank">http://www.mapgears.com/</a><br>
                Provider of Professional MapServer Support since 2000</font></span>
            <div class="HOEnZb">
              <div class="h5"><br>
                <br>
                _______________________________________________<br>
                mapserver-dev mailing list<br>
                <a moz-do-not-send="true"
                  href="mailto:mapserver-dev@lists.osgeo.org"
                  target="_blank">mapserver-dev@lists.osgeo.org</a><br>
                <a moz-do-not-send="true"
                  href="http://lists.osgeo.org/mailman/listinfo/mapserver-dev"
                  target="_blank">http://lists.osgeo.org/mailman/listinfo/mapserver-dev</a><br>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
mapserver-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:mapserver-dev@lists.osgeo.org">mapserver-dev@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="http://lists.osgeo.org/mailman/listinfo/mapserver-dev">http://lists.osgeo.org/mailman/listinfo/mapserver-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>