Dylan T.

Results 339 issues of Dylan T.

detach() is useful for background throwaway tasks, as well as getting rid of threads that won't die on proc shutdown (e.g. PM's famously infuriating CommandReader issue on Windows). Currently known...

https://github.com/php/php-src/issues/9813 TL;DR: Because of the use of aligned pointers as hash keys (which are unhashed by PHP), we may experience performance losses when looking up Threaded object refs, or when...

performance

A very large amount of pthreads' code is dedicated solely to copying code from the origin thread. Right now, class copying takes place on 3 occasions: 1. When a thread...

Threaded classes

As seen in closure-scope-child-to-parent.phpt, jitted functions masquerade as internal functions. Apparently we're not copying these completely, because a jitted function copied from child to parent thread crashes when trying to...

Lockless reads of `ThreadedBase` members would improve performance, as long as they had been previously dereferenced on that thread.

performance

`pthread_cond_t` facilitates wait()/notify() functionality, which aren't needed in the majority of cases. However, the monitor always allocates them, and this accounts for the large majority of the time spent when...

performance

Contrary to intuitively expected behaviour, unstack() actually removes tasks from the _front_ of the queue, rather than the back. This is a problem for task executions that expect to have...

One of the biggest obstacles to dropping class copying is that we wouldn't be conveniently able to use threads in single-file scripts anymore. In addition, having to declare a whole...

When PTHREADS_INHERIT_NONE is used (or when a Threaded object is created using a class loaded after thread start), the class has to be copied on the fly by other threads...

Threaded classes

Classes and functions are inseparably linked. - Methods in classes may declare anonymous functions in their methods which have to be inherited (fixed by SirSnyder a few years ago) -...

Threaded classes