-
Notifications
You must be signed in to change notification settings - Fork 12
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
Performance Issue #3
Comments
Hi @anelad! Thanks for your notice about the performance issues. Could you provide a link to your large m3u8 file to test and compare with other parsers? |
Of course I had to change the url, username and password so links are dead. If you are on a Mac, OS won't open the file since it's origin is not known. You can "open anyway" from Good luck! |
Hi @anelad! There is new 2.0.0 version of the tool with parsing optimization. This version has predefined struct MediaPlaylist: Decodable {
let segments: [MediaSegment]
}
let playlist = try M3U8Decoder().decode(MediaPlaylist.self, from: url) I've got the following results:
|
Hello again @ikhvorost, Thanks for the update. Currently I have some health issues but I'll give it a look as soon as possible. Have a good day 👋 |
Can I work on this issue? kindly assign it to me |
Hi. First of all, thanks for your contribution to the open source family 🫡
The package is very useful for small playlists but for large ones; I cannot say the same for the playlist I have.
It consists of 194.918 (EXTINF, URI) pairs and single EXTM3U entry with 22,1 MB in size.
Decoding it takes around 5.5 minutes with your package while VLC Player decodes in ~2 minutes. But the blowminding thing is a snippet from this medium post decodes the same playlist instantly (1.3 seconds). Of course the snippet does nothing but parsing it, no custom tags or any other features but
instant vs 5.5 minutes
is something very serious.I think you should re-think about how you construct things.
Good luck ✌️
The text was updated successfully, but these errors were encountered: