Skip to content

Conversation

@ncbender
Copy link

Description

The plan was to implement boost for a .gz compression for MzML files.
We changed the writeto() function in the MzMLHandler to be able to start compression, if the outputfile has the ending .gz
Boost is very slow, since it only has single threading. There is a different tool called pigz, which is capable of doing multi threading and is very fast.

We added a if else for pigz and boost, depending on what is installed on the system and kept the no compression alternative aswell.
With the -threads n (1-n threads) at the end of the run command it can be determined on how many threads will be used, this includes a dynamic compression level.

We added a new Test in MzMLFile_test to test the compression.

Current problem: Compiler cant find, some libs, need to be included in Cmake

Checklist

  • Make sure that you are listed in the AUTHORS file
  • Add relevant changes and new features to the CHANGELOG file
  • I have commented my code, particularly in hard-to-understand areas
  • New and existing unit tests pass locally with my changes
  • Updated or added python bindings for changed or new classes (Tick if no updates were necessary.)

How can I get additional information on failed tests during CI

Click to expand If your PR is failing you can check out
  • The details of the action statuses at the end of the PR or the "Checks" tab.
  • http://cdash.seqan.de/index.php?project=OpenMS and look for your PR. Use the "Show filters" capability on the top right to search for your PR number.
    If you click in the column that lists the failed tests you will get detailed error messages.

Advanced commands (admins / reviewer only)

Click to expand
  • /reformat (experimental) applies the clang-format style changes as additional commit. Note: your branch must have a different name (e.g., yourrepo:feature/XYZ) than the receiving branch (e.g., OpenMS:develop). Otherwise, reformat fails to push.
  • setting the label "NoJenkins" will skip tests for this PR on jenkins (saves resources e.g., on edits that do not affect tests)
  • commenting with rebuild jenkins will retrigger Jenkins-based CI builds

⚠️ Note: Once you opened a PR try to minimize the number of pushes to it as every push will trigger CI (automated builds and test) and is rather heavy on our infrastructure (e.g., if several pushes per day are performed).

}

filter.push(*pigz_pipe);
output_stream = &filter;

Choose a reason for hiding this comment

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

Was genau passiert hier mit den Pointern.

.gitignore Outdated
src/openms_gui/OpenMS_GUI_autogen
src/openms/OpenMS_autogen
src/openms/OpenMS_autogen
files.associations: {"iosfwd": "cpp", "cctype": "cpp"}

Choose a reason for hiding this comment

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

WEG damit!

Comment on lines 78 to 84
"__split_buffer": "cpp",
"__string": "cpp",
"__threading_support": "cpp",
"__tuple": "cpp",
"ios": "cpp",
"locale": "cpp",
"queue": "cpp"

Choose a reason for hiding this comment

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

WEG DAMIT!


typedef MzMLHandlerHelper::BinaryData BinaryData;

bool compress_mode_ = false;

Choose a reason for hiding this comment

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

Gibt es einen besseren Namen und warum compress_mode_ ?

Choose a reason for hiding this comment

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

Was ist das hier ?

benden94 and others added 3 commits May 20, 2025 16:03
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

Successfully merging this pull request may close these issues.

3 participants