<div style="font-family: arial, helvetica, sans-serif"><font size="2">On Tue, Jun 19, 2012 at 2:21 PM, Evgeny Panasyuk <span dir="ltr"><<a href="mailto:evgeny.panasyuk@gmail.com" target="_blank">evgeny.panasyuk@gmail.com</a>></span> wrote:<br>
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000"><div class="im">
    18.06.2012 0:05, Manuel Klimek wrote:<br>
    <blockquote type="cite">
      <div style="font-family:arial,helvetica,sans-serif"><font size="2">
          <div class="gmail_quote">
            <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000">
                <div>
                  <blockquote type="cite">
                    <div style="font-family:arial,helvetica,sans-serif"><font size="2">
                        <div class="gmail_quote">
                          <div> </div>
                          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                            <div bgcolor="#FFFFFF" text="#000000"> Or
                              maybe about some interactive (maybe gui)
                              tool for building predicates? I remember
                              that Chandler mentioned about something
                              similar at <a href="http://www.youtube.com/watch?v=yuIOGfcOH0k&t=27m56s" target="_blank">http://www.youtube.com/watch?v=yuIOGfcOH0k&t=27m56s</a>
                              <br>
                            </div>
                          </blockquote>
                          <div><br>
                          </div>
                          <div>Now we're talking the next step :) Yea,
                            having a GUI would be *great* (and just so
                            we're clear: with GUI I mean a web page :P)</div>
                        </div>
                      </font></div>
                  </blockquote>
                  <br>
                </div>
                And maybe AST database optimized for fast predicate
                matches :)<br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>For small projects this might be interesting - for us
              the question is how that would scale - we've found parsing
              the C++ code to be actually an interesting way to scale
              the AST, for the small price of needing up 3-4 seconds per
              TU (on average). Denormalizing the AST itself produces a
              huge amount of data, and denormalizing even more seems
              like a non-starter.</div>
            <div><br>
            </div>
            <div>Thoughts?</div>
          </div>
        </font></div>
    </blockquote>
    <br></div>
    It depends on how much you would like to scale. And yes, it also
    depends on project sizes.<br>
    For instance, if required scaling is task per TU - it is one case.<br></div></blockquote><div><br></div><div>Perhaps I need to expand on what I mean here:</div><div>Imagine you have on the order of 100MLOC.</div><div>
If you want an "AST database" for predicate matches, the question is what indexes you create. If you basically want to create an extra index per "matcher", the denormalization takes too much data. If you don't create an index per matcher, how do you efficiently evaluate matchers?</div>
<div><br></div><div>Thoughts?</div><div>/Manuel</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">
    If required scaling is many tasks (tens, hundreds) per TU - it is
    another story.<br>
    <br>
    Best Regards,<br>
    Evgeny<br>
    <br>
  </div>

</blockquote></div><br></font></div>