#2550 --disable-debug still allocates trace variables

Performance
pending-fixed
sfcb (1090)
5
2012-10-11
2012-10-06
Chris Buccella
No

Using --disable-debug at configure time causes _SFCB_TRACE statements to compile to an empty macro. However, the variables that may be used in those trace statements (such as object paths) are still being created in previous lines. This is completely unnecessary.

This patch provides a new macro, _SFCB_TRACE_VAR, used to wrap variable that are to be used only by trace statements. This bug would be filed under "Code Cleanup" except that there are some performance benefits, particularly during indication delivery. Whilst sending 10,000 indications, the instruction count for interopProvider:invokeMethod dropped from 524 million to 288 million, a savings of about 10% for the entirety of the delivery of the indication (most of which is handled in indCIMXMLHandler).

Discussion

  • Chris Buccella
    Chris Buccella
    2012-10-06

    • summary: --disable-debug does still allocates trace variables --> --disable-debug still allocates trace variables
     
  • Chris Buccella
    Chris Buccella
    2012-10-06

    committed to HEAD

     
  • Chris Buccella
    Chris Buccella
    2012-10-11

    committed to CVS HEAD and git master

     
  • Chris Buccella
    Chris Buccella
    2012-10-11

    • status: open --> pending-fixed