Comments (5)
The next PHP major release will allow to have more control over processes being bound to specific cores/cpus (via pcntl). For now, maybe there is a change in term of cpu topology policy ? you may look at the following value
sysctl kern.sched.topology_spec
and see if changing it has an impact. But I may have a better look later.
from php-src.
We have narrowed this down to it being somehow related to Imagick. If we run the same code but do anything besides load Imagick in the forked processes, it works as expected and spreads the forked processes to all of the available CPUs. For example, if the images are resized using the GD library instead, it works properly. Or if we just read from /dev/random, it works properly as well.
The same script, using Imagick, works properly on everything below FreeBSD 13.3, so it's still a mystery as to why it is not functioning correctly after updating. If anyone has suggestions, we are still all-ears. Thank you!
from php-src.
quick question: Do you know if your imagemagick port is (and/or was) compiled with openmp support ?
from php-src.
quick question: Do you know if your imagemagick port is (and/or was) compiled with openmp support ?
Yes, our ImageMagick7 is compiled WITH OpenMP support. Funny enough, with OpenMP disabled, forked processes use all the CPU cores as expected. With OpenMP compiled in, the results are limited to one CPU.
from php-src.
Good to know :-). Anyhow, not a php issue.
from php-src.
Related Issues (20)
- ZEND_MOD_CONFLICTS doesn't work
- Scalar Type Casting Magic Methods HOT 2
- openssl_dh_compute_key() silently fails for ECDH HOT 2
- Signed Integer Overflow in ext/date/lib/parse_posix.c
- Segmentation fault on unknown address 0x600000000018 in ext/opcache/jit/zend_jit.c HOT 2
- Heap hardening HOT 7
- mail() breaks quoted_printable_encode()d subject
- Extend Reflection to expose import statements HOT 3
- For iterate over letters strange behavior HOT 6
- Regression - php.ini spelling mistake HOT 2
- curl segfault HOT 9
- heap-buffer-overflow with opcache when extending an internal class with class constant having attributes HOT 1
- Add SO_LINGER option for streams HOT 1
- Set declare(strict_types=1) as Default Behavior
- Segmentation fault on unknown address 0x0001ffff8041 with XML extension under certain memory limit HOT 2
- Unpacking via list() produces NULLs in foreach HOT 1
- Floating point bug in range operation on Apple Silicon hardware HOT 12
- Phar timestamp is 32-bit
- DateTime with Timezone have different timestamps for End of Year. Only on certain years and time zones HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from php-src.