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 > > >
