Hi Sven,

it seems to be fixed, thank you for your attention.

Cheers,
-- Pavel

čt 28. 9. 2023 v 16:36 odesílatel Sven Van Caekenberghe <[email protected]>
napsal:

> I know this is very old, but is this still an issue today ?
>
> > On 29 Dec 2021, at 12:30, Pavel Krivanek <[email protected]>
> wrote:
> >
> > Hi,
> >
> > we have some performance issues with Glorp over P3 and, after some
> investigation, I have a theory that could explain it. And I would like to
> know your opinion if it is correct.
> >
> > To reproduce this issue, you can try something easy. Just create a
> process with normal or higher priority that will try to read something from
> a socket. And, in parallel, do in a separate thread an operation that takes
> all the processor time for several seconds.
> >
> > ````
> > [
> >     5 seconds wait.
> >     Time now traceCr.
> >     ZnClient new
> >         url: 'https://www.google.com';
> >         get.
> >     Time now traceCr.
> > ] forkAt: 60.
> >
> > [1000 timesRepeat: [ 10000 factorial ] ] timeToRun
> > ````
> > (you may try a different safe server address)
> >
> > The processes run in parallel until the time when the first process
> tries to obtain data from the socket. Then it hangs and waits until
> finishing of the second process.
> >
> > My theory is that the VM socket plugin is able to receive incoming data
> from the connection and save it into the buffer. In the meantime, the
> reading process is waiting on the socket semaphore. But it looks like the
> plugin is not able to release the semaphore while the VM is actually doing
> something. It needs to wait until the VM has nothing useful to do, and then
> it is finally able to release the semaphores so Pharo processes are resumed
> and can start to read.
> >
> > Is my theory right?
> >
> > Cheers,
> > -- Pavel
> >
> >
> >
>

Reply via email to