<div dir="ltr">Dear Gerald,<div><br></div><div>I finally got to the bottom of this. Some of the functions my "ChordalSeparate" function was calling returned SCIP_RETCODE and were wrapped inside a SCIP_CALL. These functions did not appear</div><div>in the output from the profile. I altered them to be 'normal' functions and called them without the SCIP_CALL wrapping. After doing this they appeared as expected in the profile output and my constraint handler's</div><div>lock method ( consLockChordal ) only showed up as being called twice. So everything now makes sense.</div><div><br></div><div>One thing perhaps noting, my original approach - where the functions were wrapped inside a SCIP_CALL - was a bit silly: there was no point doing this wrapping and the SCIP* pointer I sent to the functions</div><div>was not even used in them. (An earlier version had done some SCIPallocMemoryArray calls but I then removed these.) Perhaps this weird code somehow confused the profiling.</div><div><br></div><div>James</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 1 March 2016 at 22:52, Gerald Gamrath <span dir="ltr"><<a href="mailto:gamrath@zib.de" target="_blank">gamrath@zib.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Dear James,<br>
    <br>
    this looks unexpected. Your separator adds constraints of your
    constraints handler and no rows? Then, the CONSLOCK callback of your
    constraint handler is called whenever a constraint is added to
    update the rounding locks of variables in the constraint. Could
    there be a performance issue in that CALLBACK implementation?<br>
    <br>
    Best,<br>
    Gerald<br>
    <br>
    <div>Am 28.02.2016 um 17:14 schrieb James
      Cussens:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">I have implemented a separator for a constraint
        handler I have written. When profiling I find that most of the
        time is spent when my separator calls my constraint hander's
        lock method:
        <div><br>
        </div>
        <div>
          <div>                                 2            
            SCIPconsAddLocks <cycle 2> [2184]</div>
          <div>                             257328483            
            ChordalSeparate <cycle 2> [19]</div>
          <div>[3]     49.2   27.00    0.64 257328485        
            consLockChordal <cycle 2> [3]</div>
          <div>                0.35    0.00 110035069/224944534    
            BMSreallocMemoryArray_call [45]</div>
          <div>                0.29    0.00 147293414/176070304    
            BMSallocMemoryArray_call [61]</div>
          <div>                0.00    0.00    1332/12022817    
            readNextLine [147]</div>
          <div>                0.00    0.00    1332/262849      get_edge
            [2084]</div>
          <div>                                 498            
            SCIPaddVarLocks <cycle 2> [2102]</div>
          <div><br>
          </div>
          <div>I'm not sure why this is happening. Can anyone enlighten
            me?</div>
          <div><br>
          </div>
          <div>Thanks,</div>
          <div><br>
          </div>
          <div>James</div>
          <div><br>
          </div>
          -- <br>
          <div>James Cussens<br>
            Dept of Computer Science &<br>
            York Centre for Complex Systems Analysis<br>
            Room 326, The Hub, Deramore Lane            Tel    +44
            (0)1904 325371<br>
            University of York                                      
             Fax  <a href="tel:%2B44%20%280%291904%20500159" value="+441904500159" target="_blank">+44 (0)1904 500159</a><br>
            York YO10 5GE, UK                               <a href="http://www.cs.york.ac.uk/%7Ejc" target="_blank"></a><a href="http://www.cs.york.ac.uk/~jc" target="_blank">http://www.cs.york.ac.uk/~jc</a><br>
            <a href="http://www.york.ac.uk/docs/disclaimer/email.htm" target="_blank">http://www.york.ac.uk/docs/disclaimer/email.htm</a></div>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <pre>_______________________________________________
Scip mailing list
<a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a>
<a href="http://listserv.zib.de/mailman/listinfo/scip" target="_blank">http://listserv.zib.de/mailman/listinfo/scip</a>
</pre>
    </blockquote>
    <br>
  </div>

</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">James Cussens<br>Dept of Computer Science &<br>York Centre for Complex Systems Analysis<br>Room 326, The Hub, Deramore Lane            Tel    +44 (0)1904 325371<br>University of York                                        Fax  +44 (0)1904 500159<br>York YO10 5GE, UK                               <a href="http://www.cs.york.ac.uk/~jc" target="_blank">http://www.cs.york.ac.uk/~jc</a><br><a href="http://www.york.ac.uk/docs/disclaimer/email.htm" target="_blank">http://www.york.ac.uk/docs/disclaimer/email.htm</a></div>
</div>