You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beehive.apache.org by "jamie zyskowski (JIRA)" <be...@incubator.apache.org> on 2004/12/01 21:55:20 UTC

[jira] Created: (BEEHIVE-106) Controls Perf Regression: 3X increase in scenario times

Controls Perf Regression: 3X increase in scenario times
-------------------------------------------------------

         Key: BEEHIVE-106
         URL: http://nagoya.apache.org/jira/browse/BEEHIVE-106
     Project: Beehive
        Type: Bug
  Components: Controls  
    Versions: V1Beta    
 Environment: 2 x 2.8GHz | win2k | hotspot 1.5.0-b64
    Reporter: jamie zyskowski


description:
The regression seems to have been introduced somewhere between rev76140 and rev109265. It occurs standalone and in a jpf/tomcat env. There are two scenarios that show the regression. The first uses a custom control that has one method which takes a string and returns the length of the string [StrlenPgmTest]. The second takes a variable number of integer args and returns the sum of their values [VarargsPgmTest]. Interestingly, a third scenario that takes an integer and returns a string of the int size does NOT show this regression [VarretPgmTest].

steps to repro (standalone for simplicity):
cd $BEEHVIE_HOME/controls/test/perf
ant rebuild
cd bin
. ./perf.sh StrlenPgmTest

expected result (within 20% of this time value):
TEST: org.apache.beehive.controls.perf.standalone.StrlenPgmTest
hash=-1989672960
time=4026

actual result:
TEST: org.apache.beehive.controls.perf.standalone.StrlenPgmTest
hash=-1989672960
time=13938


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Closed: (BEEHIVE-106) Controls Perf Regression: 3X increase in scenario times

Posted by "jamie zyskowski (JIRA)" <be...@incubator.apache.org>.
     [ http://issues.apache.org/jira/browse/BEEHIVE-106?page=history ]
     
jamie zyskowski closed BEEHIVE-106:
-----------------------------------


closing

> Controls Perf Regression: 3X increase in scenario times
> -------------------------------------------------------
>
>          Key: BEEHIVE-106
>          URL: http://issues.apache.org/jira/browse/BEEHIVE-106
>      Project: Beehive
>         Type: Bug
>   Components: Controls
>     Versions: V1Beta
>  Environment: 2 x 2.8GHz | win2k | hotspot 1.5.0-b64
>     Reporter: jamie zyskowski
>     Assignee: jamie zyskowski

>
> description:
> The regression seems to have been introduced somewhere between rev76140 and rev109265. It occurs standalone and in a jpf/tomcat env. There are two scenarios that show the regression. The first uses a custom control that has one method which takes a string and returns the length of the string [StrlenPgmTest]. The second takes a variable number of integer args and returns the sum of their values [VarargsPgmTest]. Interestingly, a third scenario that takes an integer and returns a string of the int size does NOT show this regression [VarretPgmTest].
> steps to repro (standalone for simplicity):
> cd $BEEHVIE_HOME/controls/test/perf
> ant rebuild
> cd bin
> . ./perf.sh StrlenPgmTest
> expected result (within 20% of this time value):
> TEST: org.apache.beehive.controls.perf.standalone.StrlenPgmTest
> hash=-1989672960
> time=4026
> actual result:
> TEST: org.apache.beehive.controls.perf.standalone.StrlenPgmTest
> hash=-1989672960
> time=13938

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Assigned: (BEEHIVE-106) Controls Perf Regression: 3X increase in scenario times

Posted by "Kenneth Tam (JIRA)" <be...@incubator.apache.org>.
     [ http://nagoya.apache.org/jira/browse/BEEHIVE-106?page=history ]

Kenneth Tam reassigned BEEHIVE-106:
-----------------------------------

    Assign To: jamie zyskowski  (was: Kenneth Tam)

Good catch.  There are a few things going on here:

Change #109614 cleaned up the concerns re: lazy instantiation & threading.  With that change, the standalone (no ControlContainerContext) tests went back to their original level of performance.

The addition of the @Threading annotation can now be used to control whether the infrastructure implements per-call locking.  By switching between ThreadingPolicy.MULTI_THREADED and SINGLE_THREADED, you can see the cost of the automatic per-call lock acquisition/release.  Currently you can see it in the jpf case only, because there's a bug where the infrastructure's automatic locking doesn't work unless you have a ControlContainerContext in scope (I'm fixing that right now).



> Controls Perf Regression: 3X increase in scenario times
> -------------------------------------------------------
>
>          Key: BEEHIVE-106
>          URL: http://nagoya.apache.org/jira/browse/BEEHIVE-106
>      Project: Beehive
>         Type: Bug
>   Components: Controls
>     Versions: V1Beta
>  Environment: 2 x 2.8GHz | win2k | hotspot 1.5.0-b64
>     Reporter: jamie zyskowski
>     Assignee: jamie zyskowski

>
> description:
> The regression seems to have been introduced somewhere between rev76140 and rev109265. It occurs standalone and in a jpf/tomcat env. There are two scenarios that show the regression. The first uses a custom control that has one method which takes a string and returns the length of the string [StrlenPgmTest]. The second takes a variable number of integer args and returns the sum of their values [VarargsPgmTest]. Interestingly, a third scenario that takes an integer and returns a string of the int size does NOT show this regression [VarretPgmTest].
> steps to repro (standalone for simplicity):
> cd $BEEHVIE_HOME/controls/test/perf
> ant rebuild
> cd bin
> . ./perf.sh StrlenPgmTest
> expected result (within 20% of this time value):
> TEST: org.apache.beehive.controls.perf.standalone.StrlenPgmTest
> hash=-1989672960
> time=4026
> actual result:
> TEST: org.apache.beehive.controls.perf.standalone.StrlenPgmTest
> hash=-1989672960
> time=13938

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Resolved: (BEEHIVE-106) Controls Perf Regression: 3X increase in scenario times

Posted by "jamie zyskowski (JIRA)" <be...@incubator.apache.org>.
     [ http://issues.apache.org/jira/browse/BEEHIVE-106?page=history ]
     
jamie zyskowski resolved BEEHIVE-106:
-------------------------------------

    Resolution: Fixed

i've updated the control scenarios to use the @Threading(ThreadingPolicy.MULTI_THREADED) and added a new control/scenario pair that uses a control with SINGLE_THREADED. With the latter, their is significant overhead compared to the former. I'll look into this and open a new issue if required.

> Controls Perf Regression: 3X increase in scenario times
> -------------------------------------------------------
>
>          Key: BEEHIVE-106
>          URL: http://issues.apache.org/jira/browse/BEEHIVE-106
>      Project: Beehive
>         Type: Bug
>   Components: Controls
>     Versions: V1Beta
>  Environment: 2 x 2.8GHz | win2k | hotspot 1.5.0-b64
>     Reporter: jamie zyskowski
>     Assignee: jamie zyskowski

>
> description:
> The regression seems to have been introduced somewhere between rev76140 and rev109265. It occurs standalone and in a jpf/tomcat env. There are two scenarios that show the regression. The first uses a custom control that has one method which takes a string and returns the length of the string [StrlenPgmTest]. The second takes a variable number of integer args and returns the sum of their values [VarargsPgmTest]. Interestingly, a third scenario that takes an integer and returns a string of the int size does NOT show this regression [VarretPgmTest].
> steps to repro (standalone for simplicity):
> cd $BEEHVIE_HOME/controls/test/perf
> ant rebuild
> cd bin
> . ./perf.sh StrlenPgmTest
> expected result (within 20% of this time value):
> TEST: org.apache.beehive.controls.perf.standalone.StrlenPgmTest
> hash=-1989672960
> time=4026
> actual result:
> TEST: org.apache.beehive.controls.perf.standalone.StrlenPgmTest
> hash=-1989672960
> time=13938

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Assigned: (BEEHIVE-106) Controls Perf Regression: 3X increase in scenario times

Posted by "jamie zyskowski (JIRA)" <be...@incubator.apache.org>.
     [ http://nagoya.apache.org/jira/browse/BEEHIVE-106?page=history ]

jamie zyskowski reassigned BEEHIVE-106:
---------------------------------------

    Assign To: Kyle Marvin

just got permission to assign bugs

> Controls Perf Regression: 3X increase in scenario times
> -------------------------------------------------------
>
>          Key: BEEHIVE-106
>          URL: http://nagoya.apache.org/jira/browse/BEEHIVE-106
>      Project: Beehive
>         Type: Bug
>   Components: Controls
>     Versions: V1Beta
>  Environment: 2 x 2.8GHz | win2k | hotspot 1.5.0-b64
>     Reporter: jamie zyskowski
>     Assignee: Kyle Marvin

>
> description:
> The regression seems to have been introduced somewhere between rev76140 and rev109265. It occurs standalone and in a jpf/tomcat env. There are two scenarios that show the regression. The first uses a custom control that has one method which takes a string and returns the length of the string [StrlenPgmTest]. The second takes a variable number of integer args and returns the sum of their values [VarargsPgmTest]. Interestingly, a third scenario that takes an integer and returns a string of the int size does NOT show this regression [VarretPgmTest].
> steps to repro (standalone for simplicity):
> cd $BEEHVIE_HOME/controls/test/perf
> ant rebuild
> cd bin
> . ./perf.sh StrlenPgmTest
> expected result (within 20% of this time value):
> TEST: org.apache.beehive.controls.perf.standalone.StrlenPgmTest
> hash=-1989672960
> time=4026
> actual result:
> TEST: org.apache.beehive.controls.perf.standalone.StrlenPgmTest
> hash=-1989672960
> time=13938

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Assigned: (BEEHIVE-106) Controls Perf Regression: 3X increase in scenario times

Posted by "Kyle Marvin (JIRA)" <be...@incubator.apache.org>.
     [ http://nagoya.apache.org/jira/browse/BEEHIVE-106?page=history ]

Kyle Marvin reassigned BEEHIVE-106:
-----------------------------------

    Assign To: Kenneth Tam  (was: Kyle Marvin)

Ken, the revision # that Jamie cites is the one where you did the thread safety changes.  This was my initial suspicion, but when I discussed it w/ him he said that the tests are single-threaded so this didn't jibe.  If true, it's not clear to me how/why this has caused a perform decrease, unless it somehow relates to some change in initialization processing overhead.

I'm wondering if perhaps this is somehow related to lazy instantiation, and a test case where previously we didn't instantiate the impl instance but now do.

> Controls Perf Regression: 3X increase in scenario times
> -------------------------------------------------------
>
>          Key: BEEHIVE-106
>          URL: http://nagoya.apache.org/jira/browse/BEEHIVE-106
>      Project: Beehive
>         Type: Bug
>   Components: Controls
>     Versions: V1Beta
>  Environment: 2 x 2.8GHz | win2k | hotspot 1.5.0-b64
>     Reporter: jamie zyskowski
>     Assignee: Kenneth Tam

>
> description:
> The regression seems to have been introduced somewhere between rev76140 and rev109265. It occurs standalone and in a jpf/tomcat env. There are two scenarios that show the regression. The first uses a custom control that has one method which takes a string and returns the length of the string [StrlenPgmTest]. The second takes a variable number of integer args and returns the sum of their values [VarargsPgmTest]. Interestingly, a third scenario that takes an integer and returns a string of the int size does NOT show this regression [VarretPgmTest].
> steps to repro (standalone for simplicity):
> cd $BEEHVIE_HOME/controls/test/perf
> ant rebuild
> cd bin
> . ./perf.sh StrlenPgmTest
> expected result (within 20% of this time value):
> TEST: org.apache.beehive.controls.perf.standalone.StrlenPgmTest
> hash=-1989672960
> time=4026
> actual result:
> TEST: org.apache.beehive.controls.perf.standalone.StrlenPgmTest
> hash=-1989672960
> time=13938

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Assigned: (BEEHIVE-106) Controls Perf Regression: 3X increase in scenario times

Posted by "jamie zyskowski (JIRA)" <be...@incubator.apache.org>.
     [ http://nagoya.apache.org/jira/browse/BEEHIVE-106?page=history ]

jamie zyskowski reassigned BEEHIVE-106:
---------------------------------------

    Assign To: Kyle Marvin  (was: jamie zyskowski)

looks like it's introduced with rev106983

> Controls Perf Regression: 3X increase in scenario times
> -------------------------------------------------------
>
>          Key: BEEHIVE-106
>          URL: http://nagoya.apache.org/jira/browse/BEEHIVE-106
>      Project: Beehive
>         Type: Bug
>   Components: Controls
>     Versions: V1Beta
>  Environment: 2 x 2.8GHz | win2k | hotspot 1.5.0-b64
>     Reporter: jamie zyskowski
>     Assignee: Kyle Marvin

>
> description:
> The regression seems to have been introduced somewhere between rev76140 and rev109265. It occurs standalone and in a jpf/tomcat env. There are two scenarios that show the regression. The first uses a custom control that has one method which takes a string and returns the length of the string [StrlenPgmTest]. The second takes a variable number of integer args and returns the sum of their values [VarargsPgmTest]. Interestingly, a third scenario that takes an integer and returns a string of the int size does NOT show this regression [VarretPgmTest].
> steps to repro (standalone for simplicity):
> cd $BEEHVIE_HOME/controls/test/perf
> ant rebuild
> cd bin
> . ./perf.sh StrlenPgmTest
> expected result (within 20% of this time value):
> TEST: org.apache.beehive.controls.perf.standalone.StrlenPgmTest
> hash=-1989672960
> time=4026
> actual result:
> TEST: org.apache.beehive.controls.perf.standalone.StrlenPgmTest
> hash=-1989672960
> time=13938

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Assigned: (BEEHIVE-106) Controls Perf Regression: 3X increase in scenario times

Posted by "Kyle Marvin (JIRA)" <be...@incubator.apache.org>.
     [ http://nagoya.apache.org/jira/browse/BEEHIVE-106?page=history ]

Kyle Marvin reassigned BEEHIVE-106:
-----------------------------------

    Assign To: jamie zyskowski  (was: Kyle Marvin)

Jamie is going to try and narrow the changelist window down, and then kick it back to me.

> Controls Perf Regression: 3X increase in scenario times
> -------------------------------------------------------
>
>          Key: BEEHIVE-106
>          URL: http://nagoya.apache.org/jira/browse/BEEHIVE-106
>      Project: Beehive
>         Type: Bug
>   Components: Controls
>     Versions: V1Beta
>  Environment: 2 x 2.8GHz | win2k | hotspot 1.5.0-b64
>     Reporter: jamie zyskowski
>     Assignee: jamie zyskowski

>
> description:
> The regression seems to have been introduced somewhere between rev76140 and rev109265. It occurs standalone and in a jpf/tomcat env. There are two scenarios that show the regression. The first uses a custom control that has one method which takes a string and returns the length of the string [StrlenPgmTest]. The second takes a variable number of integer args and returns the sum of their values [VarargsPgmTest]. Interestingly, a third scenario that takes an integer and returns a string of the int size does NOT show this regression [VarretPgmTest].
> steps to repro (standalone for simplicity):
> cd $BEEHVIE_HOME/controls/test/perf
> ant rebuild
> cd bin
> . ./perf.sh StrlenPgmTest
> expected result (within 20% of this time value):
> TEST: org.apache.beehive.controls.perf.standalone.StrlenPgmTest
> hash=-1989672960
> time=4026
> actual result:
> TEST: org.apache.beehive.controls.perf.standalone.StrlenPgmTest
> hash=-1989672960
> time=13938

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira