Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multithread for the win #29

Open
bdelespierre opened this issue Sep 3, 2021 · 6 comments
Open

Multithread for the win #29

bdelespierre opened this issue Sep 3, 2021 · 6 comments
Milestone

Comments

@bdelespierre
Copy link
Owner

bdelespierre commented Sep 3, 2021

Multithreading the algo would significantly improve the performances. We may use the pthread library when available or proc_open (if none are available well πŸ€·β€β™‚οΈ )

And it would be so much fun to code 🀩

@bdelespierre
Copy link
Owner Author

Found this article about an implementation in Java (see PARALLELIZATION ANALYSIS). May be useful.

@battlecook
Copy link
Contributor

If you're considering multithreading, fibers might be an option too.

https://php.watch/versions/8.1/fibers

@bdelespierre
Copy link
Owner Author

If you're considering multithreading, fibers might be an option too.

https://php.watch/versions/8.1/fibers

Looks amazing 🀩

@battlecook
Copy link
Contributor

battlecook commented Sep 6, 2021

This feature is available in php 8.1.
Unfortunately, 8.1 is still in beta.
According to the php team, rc2 (release candidate) will be released on "16 September 2021".

https://www.php.net/index.php#id2021-09-02-1

@bdelespierre
Copy link
Owner Author

I believe we should implement several adapters for concurrency/multithreading.

I think we should start with pThread because it has the best portability and support at the moment.

@battlecook
Copy link
Contributor

Great. Let's go ahead with your plan!

@bdelespierre bdelespierre added this to the v3.1 milestone Mar 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants