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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: introduce rust extension #368

Draft
wants to merge 2 commits into
base: 2.1.x
Choose a base branch
from
Draft

chore: introduce rust extension #368

wants to merge 2 commits into from

Conversation

azjezz
Copy link
Owner

@azjezz azjezz commented Nov 20, 2022

No description provided.

@azjezz azjezz added Priority: Low This issue can probably be picked up by anyone looking to contribute to the project, as an entry fix Status: Accepted It's clear what the subject of the issue is about, and what the resolution should be. Type: Enhancement Most issues will probably ask for additions or changes. Experimental labels Nov 20, 2022
@azjezz azjezz self-assigned this Nov 20, 2022
@coveralls
Copy link

coveralls commented Nov 20, 2022

Pull Request Test Coverage Report for Build 3556460766

  • 5 of 5 (100.0%) changed or added relevant lines in 2 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 98.939%

Totals Coverage Status
Change from base Build 3392429558: 0.0%
Covered Lines: 3357
Relevant Lines: 3393

馃挍 - Coveralls

Signed-off-by: azjezz <azjezz@protonmail.com>
Comment on lines +17 to +19
os:
- "ubuntu-latest"
- "macos-latest"
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems that the extension is not loaded when running benchmarks on macOS, not sure why yet ( @veewee maybe you can have a look at that? )

Copy link
Collaborator

@veewee veewee Nov 21, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On mac, a compilation results in libpsl.dylib instead of libpsl.so.

The formats are interchangeable - so you should be able to add this step to make compile:

mv libpsl.dylib libpsl.so || true

Locally, This results in:

Screenshot 2022-11-21 at 07 25 43

However, if I do not run this additional step. I get this error on second benchmark run:

azjezz/psl/vendor/phpbench/phpbench/lib/Environment/Provider/template/php.template" did not return an array, got:
Warning: PHP Startup: Unable to load dynamic library 'extension/target/release/libpsl.so'

Not sure if I need to do additional things to compile. Tried setting the same env vars as the setup script:

LIBCLANG_PATH=/usr/local/opt/llvm@13/bin
SDKROOT=$(xcrun --show-sdk-path)

Note: needed to disable opcache here:

azjezz/psl/vendor/phpbench/phpbench/lib/Environment/Provider/template/php.template" did not return an array, got:
Warning: JIT is incompatible with third party extensions that override zend_execute_ex(). JIT disabled. in Unknown on line 0

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JIT is incompatible with third party extensions that override zend_execute_ex()

the extension is compatibly with JIT, it's already used in CI with linux, and i use it locally, are you sure pcov and xdebug are disabled? ( both are not compatible with JIT iirc )

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, pcov was enabled..

@azjezz azjezz added the Status: Blocked There is another issue that needs to be resolved first, or a specific person is required to comment label Nov 21, 2022
Signed-off-by: azjezz <azjezz@protonmail.com>
path: |
~/.composer/cache
vendor
~/.cargo

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@azjezz azjezz marked this pull request as draft September 29, 2023 20:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Experimental Priority: Low This issue can probably be picked up by anyone looking to contribute to the project, as an entry fix Status: Accepted It's clear what the subject of the issue is about, and what the resolution should be. Status: Blocked There is another issue that needs to be resolved first, or a specific person is required to comment Type: Enhancement Most issues will probably ask for additions or changes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants