Adding multithreading to youtube-dl through Rust

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 พ.ย. 2024

ความคิดเห็น • 6

  • @lordmelbury7174
    @lordmelbury7174 ปีที่แล้ว +1

    Thank you for sharing, this is a nice project to demonstrate multi-threading, have you compared the elapsed time against what it would have taken without multi threading? I expect there is a big difference?

    • @Vagelis_Prokopiou
      @Vagelis_Prokopiou  ปีที่แล้ว +1

      Thanks for the feedback Lord.
      Yes, the difference is huge.
      Sequentially, you need the sum of the time of all n downloads (SUM(download1, download2, ...)).
      In parallel, you only need the time of the biggest download (MAX(download1, download2, ...)).
      E.g., for 10 downloads of 1 hour each, sequentially, you need 10 hours. In parallel, you only need 1 hour.

  • @psyvatordarkpsy5284
    @psyvatordarkpsy5284 ปีที่แล้ว +1

    Γεια, γράφω επαγγελματικά java (spring και spring boot).
    Θέλω να δοκιμάσω κάποιο framework για REST APIs σε rust, ποιο θα μου πρότεινες από πλευράς ευκολίας εκμάθησης;

    • @Vagelis_Prokopiou
      @Vagelis_Prokopiou  ปีที่แล้ว +1

      Hello Psyvator Darkpsy.
      Λίγο πολύ όλα έχουν τα ίδια concepts.
      Αν τα έβαζα σε μια σειρά ευκολίας τα έλεγα:
      1) github.com/http-rs/tide
      2) rocket.rs
      3) github.com/tokio-rs/axum
      4) Τα υπόλοιπα (actix, κλπ).
      Αν συνυπολογίσω όλους τους παράγοντες, εγώ επιλέγω Axum (αυτή τη στιγμή).

  • @aperson4051
    @aperson4051 ปีที่แล้ว

    Couldn't you have solved this literally by adding one character to your bash script `&` that tells the command to execute in the background (in parallel)

    • @Vagelis_Prokopiou
      @Vagelis_Prokopiou  ปีที่แล้ว +1

      Hi A person. Thanks for your feedback.
      Maybe this could be an alternate solution.
      What I have to say though, is that my previous experience of similar solutions was not great.
      On top of that, I would still need to create a bash script to which I would provide my urls, in order to execute. So, I decided to go with Rust, which is hugely more robust than a bash script. Plus, it provides a binary, which I prefer.
      Plus, for me, it is a lot easier to extend it to handle more use cases of mine (like providing the output type), than doing the same with a bash script. I always have the compiler to tell me where I messed up.