[Glass] sources of idle time when running tests?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[Glass] sources of idle time when running tests?

Paul DeBruicker
Hi-

In Gemstone 3.1.0.4 + GLASS 1.0b91 +GemTools 1.0b71 all on my local
machine I'm running some tests in my app and when run they take 1000x
longer than in Pharo.  I'm not sure why and it seems to be related to my
code and not the system at large as tests from other test suites seem
normal speed.

If I run a test like

[MyTests run: #testSimple] timeToRun

it prints in the neighborhood of around 33,000ms but the CPU is idling
most of that time.

If I run the test with the ProfMonitor

ProfMonitor monitorBlock:[MyTests run: #testSimple]

it shows a run time of 232 ms, but also takes about a half minute.  If I
put the ProfMonitor send in a timeToRun block then I get a run time
thats around 33,000ms as well.



What should I look at to attempt to diagnose what is going on?

The same slowness is evident if running the tests through TestRunner.


Thanks

Paul
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] sources of idle time when running tests?

Paul DeBruicker
Its recurring network throttling from an API because I haven't ported
the parts of my app that queue the API calls and dole them out to the
foreign server and don't mock that part of my tests.





On 09/17/2013 01:50 PM, Paul DeBruicker wrote:

> Hi-
>
> In Gemstone 3.1.0.4 + GLASS 1.0b91 +GemTools 1.0b71 all on my local
> machine I'm running some tests in my app and when run they take 1000x
> longer than in Pharo.  I'm not sure why and it seems to be related to my
> code and not the system at large as tests from other test suites seem
> normal speed.
>
> If I run a test like
>
> [MyTests run: #testSimple] timeToRun
>
> it prints in the neighborhood of around 33,000ms but the CPU is idling
> most of that time.
>
> If I run the test with the ProfMonitor
>
> ProfMonitor monitorBlock:[MyTests run: #testSimple]
>
> it shows a run time of 232 ms, but also takes about a half minute.  If I
> put the ProfMonitor send in a timeToRun block then I get a run time
> thats around 33,000ms as well.
>
>
>
> What should I look at to attempt to diagnose what is going on?
>
> The same slowness is evident if running the tests through TestRunner.
>
>
> Thanks
>
> Paul
>

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] sources of idle time when running tests?

Richard Sargent
Administrator
In reply to this post by Paul DeBruicker
Paul DeBruicker wrote
it shows a run time of 232 ms, but also takes about a half minute.  If I
put the ProfMonitor send in a timeToRun block then I get a run time
thats around 33,000ms as well.
Paul,

I don't know if this is the same thing I saw, but it seems suspiciously like it. I was running some code which was writing out a lot of files. It was also taking a long time, about 60x longer than I thought it should take.

In my case, I was writing to a non-local file system, so there was NFS latency involved in the process.

Another alternative would be to check whether running these tests involves writing to files (test logs, or anything else) and determine whether GsFile is writing to the server or to the client. Writing to the client will be enormously slower than writing to the server.


Let us know. Thanks,
Richard
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] sources of idle time when running tests?

Dale Henrichs-3
In reply to this post by Paul DeBruicker
Okay ... I was going to suggest that you could use `kill -USR1 <pid>` to see where the gem is spending it's time ...

Dale

----- Original Message -----
| From: "Paul DeBruicker" <[hidden email]>
| To: [hidden email]
| Sent: Tuesday, September 17, 2013 11:09:35 PM
| Subject: Re: [Glass] sources of idle time when running tests?
|
| Its recurring network throttling from an API because I haven't ported
| the parts of my app that queue the API calls and dole them out to the
| foreign server and don't mock that part of my tests.
|
|
|
|
|
| On 09/17/2013 01:50 PM, Paul DeBruicker wrote:
| > Hi-
| >
| > In Gemstone 3.1.0.4 + GLASS 1.0b91 +GemTools 1.0b71 all on my local
| > machine I'm running some tests in my app and when run they take
| > 1000x
| > longer than in Pharo.  I'm not sure why and it seems to be related
| > to my
| > code and not the system at large as tests from other test suites
| > seem
| > normal speed.
| >
| > If I run a test like
| >
| > [MyTests run: #testSimple] timeToRun
| >
| > it prints in the neighborhood of around 33,000ms but the CPU is
| > idling
| > most of that time.
| >
| > If I run the test with the ProfMonitor
| >
| > ProfMonitor monitorBlock:[MyTests run: #testSimple]
| >
| > it shows a run time of 232 ms, but also takes about a half minute.
| >  If I
| > put the ProfMonitor send in a timeToRun block then I get a run time
| > thats around 33,000ms as well.
| >
| >
| >
| > What should I look at to attempt to diagnose what is going on?
| >
| > The same slowness is evident if running the tests through
| > TestRunner.
| >
| >
| > Thanks
| >
| > Paul
| >
|
| _______________________________________________
| Glass mailing list
| [hidden email]
| http://lists.gemtalksystems.com/mailman/listinfo/glass
|
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass