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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update libpar2 #93

Closed
paul-chambers opened this issue Jan 7, 2024 · 12 comments · Fixed by #420
Closed

Update libpar2 #93

paul-chambers opened this issue Jan 7, 2024 · 12 comments · Fixed by #420
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@paul-chambers
Copy link

The version of libpar2 embedded in the nzbget source tree was derived from par2cmdline v0.4

The official par2cmdline repo on github (https://github.com/Parchive/par2cmdline) lists 0.8.1 as the current version, which is already almost four years old.

Since the current owner has put out a call for a new maintainer, perhaps it would be worth bringing it into the nzbgetcom org on github?

I don't know how many other projects use it, but it seems like a safe bet that nzbget is one of biggest users.

@dnzbk
Copy link
Collaborator

dnzbk commented Jan 8, 2024

Good idea!
I've been thinking about that too.
We use the yencode library in the same way. We could try to update this lib as well.

@chtk
Copy link

chtk commented Jan 9, 2024

Sab uses par2cmdline as well. In the latest minor release they started recommending par2cmdline-turbo, which seems to be a maintained fork.

@luckedea luckedea added the enhancement New feature or request label Jan 12, 2024
@luckedea luckedea added this to the v24 milestone Jan 12, 2024
@luckedea
Copy link
Member

v24 build would be dedicated to performance improvements, this issue would be included into the scope.

@magicdoublem
Copy link

Good idea! I've been thinking about that too. We use the yencode library in the same way. We could try to update this lib as well.

The mentioned par2cmdline-turbo should be a pretty easy upgrade, as it's designed as a "drop-in"-replacement. I couldn't test it so far, because I didn't have the time to set up a building-env for nzbget so far, but I'll try.

For the future, it could be interesting to enable the usage of external par2cmdline-variations.

As in regard to the brought up yenc-implementation. https://github.com/animetosho/rapidyenc is something I have in my bookmarks. Could be interesting, if you guys haven't seen it yet.

@dnzbk dnzbk self-assigned this Feb 17, 2024
@isarrider
Copy link

v24 build would be dedicated to performance improvements, this issue would be included into the scope.

If performance is a target, take a look at this too:
https://github.com/animetosho/rapidyenc?tab=readme-ov-file
Discussion with the original author:
animetosho/node-yencode#4 (comment)

@luckedea luckedea modified the milestones: v24, v25 Apr 5, 2024
@luckedea
Copy link
Member

luckedea commented Apr 5, 2024

Moving this into v25 milestone since it's performance-related.

@Safihre
Copy link

Safihre commented Apr 29, 2024

@isarrider @magicdoublem NZBGet already uses rapidyenc.
I started the conversation about it with animetosho, but it was hugbug (with animetosho's help) who implemented it many years ago (2017) in NZBGet, before we got it into SABnzbd only 2 years ago. Because I suck at C++ 😂
You see can the whole back-and-forth between animetosho and hugbug that in the issue you linked 🙂

@isarrider
Copy link

I know - and thats why I think it makes sense to lift it to the latest version... ;)

@luckedea
Copy link
Member

Looked into it and it's not fully clear why @hugbug modified the integrated par2 library. We still need to compare current version used versus original (old) version.

We do plan to switch away to external new library anyway within v25, but the scope of the task is bigger considering building and testing for all platforms.

@animetosho
Copy link

Looked into it and it's not fully clear why @hugbug modified the integrated par2 library

From memory, it was based on an old version of par2cmdline (0.4?), before it included multi-threading. Nzbget's version added multi-threading, plus hooks to get the current progress (libpar2 still doesn't offer this capability).

@dnzbk
Copy link
Collaborator

dnzbk commented Jun 4, 2024

Good to know, thank you.

@luckedea
Copy link
Member

Related Parchive/par2cmdline#189

@dnzbk dnzbk linked a pull request Nov 6, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants