de9b2a7cd6577c390212dde7adf3cf6b1378989e
The guard's merge of the first prepass_images frames read nothing the post-refinement writes and the post-refinement reads nothing the guard writes, but the two ran one after the other at the start of the tail. The guard now merges the first frames of the outcomes in place (RotationScaleMerge::SetFrameLimit) with the per-frame scale not written back, instead of moving the reflections into a copy whose write-back was thrown away, and it runs on its own thread from just before the post-refinement; its log lines are held and replayed where the guard's result is read. Same observations in the same order, same settings: p.mtz is byte-identical (myob, thau, cytc, kdp, cytc -N 4 / -N 8, --prepass-fraction 1 on four sets, 8a1a). On 8a1a the 3.7 s guard is now inside the post-refinement, which itself goes from 4.5 to 6.0 s under the shared load: about 2 s off the tail. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SVmAWnzCmRKAXVUCdc4iNi
Jungfraujoch
Application to receive and analyse data from the PSI JUNGFRAU and EIGER detectors, together with
rugnux, its program for processing stored diffraction data - rotation and serial, macromolecular
and small-molecule - from images to merged reflections.
All documentation is now placed in docs/ subdirectory and for the current version hosted on Jungfraujoch Read The Docs page.
Languages
C++
77.9%
HTML
6%
C
4.7%
TypeScript
3.4%
Cuda
3%
Other
4.9%