-
Notifications
You must be signed in to change notification settings - Fork 11
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
[PyROOT] Update cppyy to a recent version #205
[PyROOT] Update cppyy to a recent version #205
Conversation
test parameters:
|
please test for CMSSW_14_1_ROOT6_X |
A new Pull Request was created by @smuzaffar for branch cms/master/4279cb9707. @iarspider, @smuzaffar, @aandvalenzuela can you please review it and eventually sign? Thanks. |
cms-bot internal usage |
98e5ecc
to
b3a666d
Compare
Pull request #205 was updated. |
please test for CMSSW_14_1_ROOT6_X |
-1 Failed Tests: UnitTests The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
You can see more details here: Unit TestsI found 2 errors in the following unit tests: ---> test testHeterogeneousCoreAlpakaTestModulesCPU had ERRORS ---> test testHeterogeneousCoreAlpakaTestWriteReadSerialSync had ERRORS Comparison SummarySummary:
|
This reverts commit d5efd70. We are patching the automatic conversion to Python strings back in, so it's not necessary to Pythonize a `__str__` funciton implementing it in C++. Also, the `hasattr(foo, "___cpp__str")` caused a *huge* performance it in some cases, because looking up a non-existing attribute in cppyy can be quite expensive. All base classes are crawled too, and that invokes the interpreter and string manipulation.
The added script will be used to synchronize `cppyy` and `CPyCppyy`, applying some patches that are necessary for ROOT.
This was done with the `sync-upstream` script, introduced in the last commit.
Other than the `cppyy` Python library and the `CPyCppyy` CPython extension, the `cppyy-backend` can't easily be synchronized with upstream. The reason is that it depends both on patches to cling and to ROOT meta. There is no bookkeeping on the patches to ROOT meta which is complicating things, and the patches might also interfere with other ROOT functionality. A possible synchronization of ROOT meta is also not worth the effor for another reason: it will be replaced by libInterOp in the future in the context of cppyy and PyROOT. Furthermore, synchronizing the backend would not result in fixing any further reported ROOT issues. Therefore, only minimal changes were made to the `cppyy-backend` in the cppyy upgrade.
The reference count in Python is usually quite fragile to implementation changes, so it's not too surprising that some counts change with the `CPyCppyy` upgrade.
b3a666d
to
9c4418a
Compare
Pull request #205 was updated. |
please test for CMSSW_14_1_ROOT6_X |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-117c78/38259/summary.html Comparison SummarySummary:
|
root-project#14507 has long been merged, I believe this can be closed |
No description provided.