「view this page in B3 βῆτα server」

Revisions №62258

branch: rosetta:main 「№62258」
Commited by: Jason C. Klima
GitHub commit link: 「36f0c659eb5420c7」
Difference from previous tested commit:  code diff
Commit date: 2026-05-18 14:40:55
linux.clang linux.gcc linux.srlz mac.clang
debug
release
unit
PyRosetta.notebook gcc-9.gcc.python37.PyRosetta.unit m1.clang.python310.PyRosetta.unit m1.clang.python311.PyRosetta.unit m1.clang.python312.PyRosetta.unit m1.clang.python313.PyRosetta.unit m1.clang.python314.PyRosetta.unit m1.clang.python38.PyRosetta.unit m1.clang.python39.PyRosetta.unit mac.clang.python310.PyRosetta.unit mac.clang.python311.PyRosetta.unit mac.clang.python312.PyRosetta.unit mac.clang.python313.PyRosetta.unit mac.clang.python314.PyRosetta.unit mac.clang.python38.PyRosetta.unit mac.clang.python39.PyRosetta.unit ubuntu-20.04.clang.cxx11thread.serialization.PyRosetta.unit ubuntu-20.04.clang.cxx11thread.serialization.python310.PyRosetta.unit ubuntu-20.04.clang.cxx11thread.serialization.python311.PyRosetta.unit ubuntu-20.04.clang.cxx11thread.serialization.python312.PyRosetta.unit ubuntu-20.04.clang.cxx11thread.serialization.python313.PyRosetta.unit ubuntu-20.04.clang.cxx11thread.serialization.python314.PyRosetta.unit ubuntu-20.04.clang.cxx11thread.serialization.python39.PyRosetta.unit ubuntu-20.04.clang.python310.PyRosetta.unit ubuntu-20.04.clang.python311.PyRosetta.unit ubuntu-20.04.clang.python312.PyRosetta.unit ubuntu-20.04.clang.python313.PyRosetta.unit ubuntu-20.04.clang.python314.PyRosetta.unit ubuntu-20.04.clang.python39.PyRosetta.unit ubuntu-20.04.gcc.cxx11thread.serialization.PyRosetta.unit ubuntu-20.04.gcc.cxx11thread.serialization.python310.PyRosetta.unit ubuntu-20.04.gcc.cxx11thread.serialization.python311.PyRosetta.unit ubuntu-20.04.gcc.cxx11thread.serialization.python312.PyRosetta.unit ubuntu-20.04.gcc.cxx11thread.serialization.python313.PyRosetta.unit ubuntu-20.04.gcc.cxx11thread.serialization.python314.PyRosetta.unit ubuntu-20.04.gcc.cxx11thread.serialization.python39.PyRosetta.unit ubuntu-20.04.gcc.python310.PyRosetta.unit ubuntu-20.04.gcc.python311.PyRosetta.unit ubuntu-20.04.gcc.python312.PyRosetta.unit ubuntu-20.04.gcc.python313.PyRosetta.unit ubuntu-20.04.gcc.python314.PyRosetta.unit ubuntu-20.04.gcc.python39.PyRosetta.unit ubuntu-22.04.clang.cxx11thread.serialization.PyRosetta.unit ubuntu-22.04.clang.python310.PyRosetta.unit ubuntu-22.04.clang.python311.PyRosetta.unit ubuntu-22.04.clang.python312.PyRosetta.unit ubuntu-22.04.clang.python313.PyRosetta.unit ubuntu-22.04.clang.python314.PyRosetta.unit ubuntu-22.04.clang.python39.PyRosetta.unit ubuntu-22.04.gcc.cxx11thread.serialization.PyRosetta.unit ubuntu-22.04.gcc.python310.PyRosetta.unit ubuntu-22.04.gcc.python311.PyRosetta.unit ubuntu-22.04.gcc.python312.PyRosetta.unit ubuntu-22.04.gcc.python313.PyRosetta.unit ubuntu-22.04.gcc.python314.PyRosetta.unit ubuntu-22.04.gcc.python39.PyRosetta.unit ubuntu-24.04.clang.cxx11thread.serialization.PyRosetta.unit ubuntu-24.04.clang.python310.PyRosetta.unit ubuntu-24.04.clang.python311.PyRosetta.unit ubuntu-24.04.clang.python312.PyRosetta.unit ubuntu-24.04.clang.python313.PyRosetta.unit ubuntu-24.04.clang.python314.PyRosetta.unit ubuntu-24.04.clang.python39.PyRosetta.unit ubuntu-24.04.gcc.cxx11thread.serialization.PyRosetta.unit ubuntu-24.04.gcc.python310.PyRosetta.unit ubuntu-24.04.gcc.python311.PyRosetta.unit ubuntu-24.04.gcc.python312.PyRosetta.unit ubuntu-24.04.gcc.python313.PyRosetta.unit ubuntu-24.04.gcc.python314.PyRosetta.unit ubuntu-24.04.gcc.python39.PyRosetta.unit ubuntu.clang.cxx11thread.serialization.python38.PyRosetta.unit ubuntu.clang.python310.PyRosetta.unit ubuntu.clang.python311.PyRosetta.unit ubuntu.clang.python312.PyRosetta.unit ubuntu.clang.python313.PyRosetta.unit ubuntu.clang.python314.PyRosetta.unit ubuntu.clang.python39.PyRosetta.unit ubuntu.gcc.python310.PyRosetta.unit ubuntu.gcc.python311.PyRosetta.unit ubuntu.gcc.python312.PyRosetta.unit ubuntu.gcc.python313.PyRosetta.unit ubuntu.gcc.python314.PyRosetta.unit ubuntu.gcc.python39.PyRosetta.unit build.clean.debug alpine.gcc.build.debug clang-10.clang.cxx11thread.mpi.serialization.tensorflow.build.debug gcc-10.gcc.build.debug gcc-10.gcc.cxx11thread.serialization.build.debug gcc-11.gcc.build.debug gcc-11.gcc.cxx11thread.serialization.build.debug gcc-9.gcc.build.debug gcc-9.gcc.cxx11thread.serialization.build.debug icc.icc.build.debug linux.clang.bcl.build.debug linux.clang.hdf5.build.debug mysql postgres linux.clang.python310.build.debug linux.clang.python311.build.debug linux.clang.python312.build.debug linux.clang.python39.build.debug linux.zeromq.debug linux.gcc.bcl.build.debug mpi mpi.serialization linux.gcc.python310.build.debug linux.gcc.python311.build.debug linux.gcc.python312.build.debug linux.gcc.python39.build.debug m1.clang.build.debug m1.clang.cxx11thread.serialization.build.debug m1.clang.python310.build.debug m1.clang.python311.build.debug m1.clang.python312.build.debug m1.clang.python313.build.debug m1.clang.python314.build.debug m1.clang.python39.build.debug mac.clang.bcl.build.debug mac.clang.cxx11thread.serialization.build.debug OpenCL mac.clang.python310.build.debug mac.clang.python311.build.debug mac.clang.python312.build.debug mac.clang.python313.build.debug mac.clang.python314.build.debug mac.clang.python39.build.debug ubuntu-20.04.clang.build.debug ubuntu-20.04.clang.cxx11thread.serialization.build.debug ubuntu-20.04.gcc.build.debug ubuntu-20.04.gcc.cxx11thread.serialization.build.debug ubuntu-22.04.clang.build.debug ubuntu-22.04.clang.cxx11thread.serialization.build.debug ubuntu-22.04.gcc.build.debug ubuntu-22.04.gcc.cxx11thread.serialization.build.debug ubuntu-24.04.clang.build.debug ubuntu-24.04.clang.cxx11thread.serialization.build.debug ubuntu-24.04.gcc.build.debug ubuntu-24.04.gcc.cxx11thread.serialization.build.debug ubuntu.clang.bcl.build.debug ubuntu.clang.build.debug ubuntu.clang.cxx11thread.serialization.build.debug ubuntu.clang.python310.build.debug ubuntu.clang.python311.build.debug ubuntu.clang.python312.build.debug ubuntu.clang.python313.build.debug ubuntu.clang.python314.build.debug ubuntu.clang.python39.build.debug ubuntu.gcc.bcl.build.debug ubuntu.gcc.build.debug ubuntu.gcc.cxx11thread.serialization.build.debug ubuntu.gcc.python310.build.debug ubuntu.gcc.python311.build.debug ubuntu.gcc.python312.build.debug ubuntu.gcc.python313.build.debug ubuntu.gcc.python314.build.debug ubuntu.gcc.python39.build.debug build.header build.levels build.ninja_debug graphics gcc-10.gcc.build.release gcc-10.gcc.cxx11thread.serialization.build.release gcc-11.gcc.build.release gcc-11.gcc.cxx11thread.serialization.build.release gcc-9.gcc.build.release gcc-9.gcc.cxx11thread.serialization.build.release linux.clang.python310.build.release linux.clang.python311.build.release linux.clang.python312.build.release linux.clang.python39.build.release linux.gcc.python310.build.release linux.gcc.python311.build.release linux.gcc.python312.build.release linux.gcc.python39.build.release static m1.clang.build.release m1.clang.cxx11thread.serialization.build.release m1.clang.python310.build.release m1.clang.python311.build.release m1.clang.python312.build.release m1.clang.python313.build.release m1.clang.python314.build.release m1.clang.python39.build.release mac.clang.cxx11thread.serialization.build.release mac.clang.python310.build.release mac.clang.python311.build.release mac.clang.python312.build.release mac.clang.python313.build.release mac.clang.python314.build.release mac.clang.python39.build.release mac.clang.static.build.release torch.gcc.torch.python39.build.release ubuntu-20.04.clang.build.release ubuntu-20.04.clang.cxx11thread.serialization.build.release ubuntu-20.04.gcc.build.release ubuntu-20.04.gcc.cxx11thread.serialization.build.release ubuntu-22.04.clang.build.release ubuntu-22.04.clang.cxx11thread.serialization.build.release ubuntu-22.04.gcc.build.release ubuntu-22.04.gcc.cxx11thread.serialization.build.release ubuntu-24.04.clang.build.release ubuntu-24.04.clang.cxx11thread.serialization.build.release ubuntu-24.04.gcc.build.release ubuntu-24.04.gcc.cxx11thread.serialization.build.release ubuntu.clang.build.release ubuntu.clang.cxx11thread.serialization.build.release ubuntu.clang.python310.build.release ubuntu.clang.python311.build.release ubuntu.clang.python312.build.release ubuntu.clang.python313.build.release ubuntu.clang.python314.build.release ubuntu.clang.python39.build.release ubuntu.gcc.build.release ubuntu.gcc.cxx11thread.serialization.build.release ubuntu.gcc.python310.build.release ubuntu.gcc.python311.build.release ubuntu.gcc.python312.build.release ubuntu.gcc.python313.build.release ubuntu.gcc.python314.build.release ubuntu.gcc.python39.build.release beautification code_quality.clang_analysis code_quality.clang_tidy code_quality.cppcheck code_quality.merge_size serialization code_quality.submodule_regression integration.addsan integration.mpi integration.release_debug integration.tensorflow integration.thread integration.torch integration.tutorials integration.ubsan integration.valgrind integration maintenance.documentation performance profile m1.clang.python310.release.PyRosetta.MinSizeRel m1.clang.python311.release.PyRosetta.MinSizeRel m1.clang.python312.release.PyRosetta.MinSizeRel m1.clang.python313.release.PyRosetta.MinSizeRel m1.clang.python38.release.PyRosetta.MinSizeRel m1.clang.python39.release.PyRosetta.MinSizeRel mac.clang.python310.release.PyRosetta.MinSizeRel mac.clang.python311.release.PyRosetta.MinSizeRel mac.clang.python312.release.PyRosetta.MinSizeRel mac.clang.python313.release.PyRosetta.MinSizeRel mac.clang.python38.release.PyRosetta.MinSizeRel mac.clang.python39.release.PyRosetta.MinSizeRel ubuntu.clang.python310.release.PyRosetta.MinSizeRel ubuntu.clang.python311.release.PyRosetta.MinSizeRel ubuntu.clang.python312.release.PyRosetta.MinSizeRel ubuntu.clang.python313.release.PyRosetta.MinSizeRel ubuntu.clang.python38.release.PyRosetta.MinSizeRel ubuntu.clang.python39.release.PyRosetta.MinSizeRel m1.clang.python310.release.PyRosetta.Release m1.clang.python311.release.PyRosetta.Release m1.clang.python312.release.PyRosetta.Release m1.clang.python313.release.PyRosetta.Release m1.clang.python38.release.PyRosetta.Release m1.clang.python39.release.PyRosetta.Release mac.clang.python310.release.PyRosetta.Release mac.clang.python311.release.PyRosetta.Release mac.clang.python312.release.PyRosetta.Release mac.clang.python313.release.PyRosetta.Release mac.clang.python38.release.PyRosetta.Release mac.clang.python39.release.PyRosetta.Release ubuntu.clang.python310.release.PyRosetta.Release ubuntu.clang.python311.release.PyRosetta.Release ubuntu.clang.python312.release.PyRosetta.Release ubuntu.clang.python313.release.PyRosetta.Release ubuntu.clang.python38.release.PyRosetta.Release ubuntu.clang.python39.release.PyRosetta.Release release.PyRosetta.conda.Release release.source scientific.antibody_grafting.debug scientific.antibody_grafting scientific.protein_data_bank_diagnostic.cif linux.clang.score linux.gcc.score mac.clang.score scripts.pyrosetta scripts.rosetta.parse scripts.rosetta.validate scripts.rosetta.verify unit.addsan linux.clang.unit.release linux.gcc.unit.release mac.clang.unit.release unit.ubsan unit.valgrind gcc-10.gcc.cxx11thread.serialization.unit gcc-10.gcc.unit gcc-11.gcc.cxx11thread.serialization.unit gcc-11.gcc.unit gcc-9.gcc.cxx11thread.serialization.unit gcc-9.gcc.unit linux.clang.python310.unit linux.clang.python311.unit linux.clang.python312.unit linux.clang.python39.unit linux.gcc.python310.unit linux.gcc.python311.unit linux.gcc.python312.unit linux.gcc.python39.unit m1.clang.cxx11thread.serialization.unit m1.clang.python310.unit m1.clang.python311.unit m1.clang.python312.unit m1.clang.python313.unit m1.clang.python314.unit m1.clang.python39.unit m1.clang.unit mac.clang.cxx11thread.serialization.unit mac.clang.python310.unit mac.clang.python311.unit mac.clang.python312.unit mac.clang.python313.unit mac.clang.python314.unit mac.clang.python39.unit ubuntu-20.04.clang.cxx11thread.serialization.unit ubuntu-20.04.clang.python39.unit ubuntu-20.04.clang.unit ubuntu-20.04.gcc.cxx11thread.serialization.unit ubuntu-20.04.gcc.python39.unit ubuntu-20.04.gcc.unit ubuntu-22.04.clang.cxx11thread.serialization.unit ubuntu-22.04.clang.python39.unit ubuntu-22.04.clang.unit ubuntu-22.04.gcc.cxx11thread.serialization.unit ubuntu-22.04.gcc.python39.unit ubuntu-22.04.gcc.unit ubuntu-24.04.clang.cxx11thread.serialization.unit ubuntu-24.04.clang.unit ubuntu-24.04.gcc.cxx11thread.serialization.unit ubuntu-24.04.gcc.unit ubuntu.clang.cxx11thread.serialization.unit ubuntu.clang.python310.unit ubuntu.clang.python311.unit ubuntu.clang.python312.unit ubuntu.clang.python313.unit ubuntu.clang.python314.unit ubuntu.clang.python39.unit ubuntu.clang.unit ubuntu.gcc.cxx11thread.serialization.unit ubuntu.gcc.python310.unit ubuntu.gcc.python311.unit ubuntu.gcc.python312.unit ubuntu.gcc.python313.unit ubuntu.gcc.python314.unit ubuntu.gcc.python39.unit ubuntu.gcc.unit util.apps windows.build.debug windows.build.release

Improving `Pose.cache` dictionary getter and setter performance (#658) This PR aims to improve the performance of `Pose.cache` dictionary data accessors. Several code pathways run with O(N^2) (quadratic time complexity) behavior, and new functionally equivalent fast data accessor methods are introduced to run with O(N) (linear time complexity) behavior: - `Pose.cache.fast_items()` - `Pose.cache.fast_values()` - `Pose.cache.metrics.fast_items()` - `Pose.cache.metrics.fast_values()` - `Pose.cache.metrics.real.fast_items()` - `Pose.cache.metrics.string.fast_values()` - `Pose.cache.metrics.composite_real.fast_items()` - `Pose.cache.metrics.composite_real.fast_values()` - `Pose.cache.metrics.composite_string.fast_items()` - `Pose.cache.metrics.composite_string.fast_values()` - `Pose.cache.metrics.per_residue_real.fast_items()` - `Pose.cache.metrics.per_residue_real.fast_values()` - `Pose.cache.metrics.per_residue_string.fast_items()` - `Pose.cache.metrics.per_residue_string.fast_values()` - `Pose.cache.metrics.per_residue_probabilities.fast_items()` - `Pose.cache.metrics.per_residue_probabilities.fast_values()` - `Pose.cache.extra.fast_items()` - `Pose.cache.extra.fast_values()` - `Pose.cache.extra.real.fast_items()` - `Pose.cache.extra.real.fast_values()` - `Pose.cache.extra.string.fast_items()` - `Pose.cache.extra.string.fast_values()` - `Pose.cache.energies.fast_items()` - `Pose.cache.energies.fast_values()` Users must update their API calls to take advantage of these upgrades: `dict(pose.cache)` -> `dict(pose.cache.fast_items())`, etc. These improvements are only really noticable when there are hundreds to thousands of scores cached in the `Pose.cache` dictionary. The basis for the performance improvement is the following: - `dict(pose.cache)` relies on `__iter__` (returns `pose.cache.all`) + `__getitem__(key)` (returns `maybe_decode(pose.cache.all[key])`), where it materializes the full scores dictionary for each key (O(N^2)). - Instead, `dict(pose.cache.fast_items())` relies on simply `for k, v in pose.cache.all.items(); yield k, maybe_decode(v)`, so the full scores dictionary is materialized once for all keys (O(N)). - It's also worth noting that the deprecated `Pose.scores` dictionary (note `scores` not `cache`) has always performed with quadratic time complexity (O(N^2)), and does not contain `Pose.scores.fast_items()` or `Pose.scores.fast_values()` methods. This PR also makes the `Pose.cache.all_scores` property run with O(N) behavior, and removes an unnecessary argument from a private method: `self._has_sm_data(pose)` -> `self._has_sm_data()`. Additionally, this PR provides two new fast setter methods for mappables (avoiding the relatively slow `Pose.cache.metrics` cleanup after each item is set with `__setitem__`, and instead only performing one cleanup at the end): - `Pose.cache.metrics.real.set_mappable()` - `Pose.cache.metrics.string.set_mappable()` Micro-updates to the `PyRosettaCluster` interface are made to take advantage of these performance improvements.

...
Test: linux.gcc.mpi.serialization.integration.mpi

Failed sub-tests (click for more details):
replica_docking
Test: linux.clang.integration.tutorials

Failed sub-tests (click for more details):
input_and_output
Test: linux.clang.maintenance.documentation

 View log

Loading...

 View log in dialog  View log in log in separate window
Test: ubuntu-20.04.clang.python36.scientific.protein_data_bank_diagnostic.cif

 View log

Loading...

 View log in dialog  View log in log in separate window