<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body>
    <p>
      <blockquote type="cite">Maybe IOhannes & Christof can give
        their take? Also, I believe the PR includes a compile-time
        define to enable/disable.<br class="">
      </blockquote>
      I think the PR is already in very good shape. The public API
      functions (in s_stuff.h) look reasonable. I have to admit I
      haven't checked the most recent commits yet, but I'll put that on
      my list.</p>
    <p>It seems it's too late for Pd 0.52 anyway, but it should
      definitely be on the roadmap for Pd 0.53! I would suggest to
      handle it like the networking IPv6 overhaul: review and merge it
      well in advance, so it can be tested for a few month in the wild
      before it goes into Pd 0.53.</p>
    <p>---<br>
    </p>
    <p>
      <blockquote type="cite">threads are the easiest way to make
        software less reliable :)</blockquote>
      It depends. If threading is done with lots of shared state then it
      can easily become messy. But if it's done with message passing
      (via thread-safe queues), things become much simpler and less
      error prone (see also my proposed asynchronous task API:
      <a class="moz-txt-link-freetext" href="https://github.com/pure-data/pure-data/pull/1357">https://github.com/pure-data/pure-data/pull/1357</a>).</p>
    <p>The PR by Giulio falls into the second category, so I don't think
      you have to worry too much about race conditions and such.</p>
    <p>---<br>
    </p>
    <p>As a general remark:<br>
    </p>
    <p>Single core CPU performance hasn't improved much for the last
      decade, instead we get more and more cores. My working machine
      already has 16 hardware threads, so at the moment Pd can only use
      1/16 of the available processing power. There are already CPUs
      with 128 hardware threads, like the AMD Ryzen Threadripper 3995WX.
      With 5000€ it is not exactly cheap, but it shows us the direction
      we're heading to.</p>
    <p>In the future it will become less and less acceptable that Pd
      does most of its work on a single thread. IMHO we really have to
      embrance multi-threading to stay relevant.<br>
    </p>
    <p>Actually, I've been thinking about ways to implement
      multi-threaded DSP in Pd that is optional, backwards-compatible
      and also works in the context of libpd.</p>
    <p>I'm too busy with other stuff at the moment, but I'll try to come
      up with a PoC at the end of the year.*<br>
    </p>
    <p>Christof<br>
    </p>
    <p> * I actually need this for a specific large project of mine.
      Currently, I have to split it into several independent [pd~]
      instances so that it runs in realtime, which is very awkward. I
      have been thinking to switch to Supernova (Supercollider), but
      first I want to see how far I can get with a custom multi-threaded
      Pd version.</p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 14.09.2021 19:50, Dan Wilcox wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:19A36C89-C996-4880-88E3-BFE7E71FC238@gmail.com">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      Maybe IOhannes & Christof can give their take? Also, I believe
      the PR includes a compile-time define to enable/disable.<br
        class="">
      <div><br class="">
        <blockquote type="cite" class="">
          <div class="">On Sep 14, 2021, at 7:37 PM, Miller Puckette
            <<a href="mailto:msp@ucsd.edu" class=""
              moz-do-not-send="true">msp@ucsd.edu</a>> wrote:</div>
          <br class="Apple-interchange-newline">
          <div class="">
            <div class="">I confess I haven't even looked at this yet.
              Any added thread operations in<br class="">
              Pd will take a lot of work for me to scrutinize (threads
              are the easiest way<br class="">
              to make software less reliable :)<br class="">
              <br class="">
              Miller<br class="">
              <br class="">
              On Tue, Sep 14, 2021 at 11:36:36AM +0100, Giulio Moro via
              Pd-dev wrote:<br class="">
              <blockquote type="cite" class="">Let me take the
                opportunity to flag again that it would be great if I
                could receive some feedback on this:<br class="">
                <br class="">
                <blockquote type="cite" class="">I have had this PR open
                  for a while: <a
href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_pure-2Ddata_pure-2Ddata_pull_1261&d=DwICAg&c=-35OiAkTchMrZOngvJPOeA&r=XprZV3Fxus2L1LCw80hE4Q&m=CIAxkh54128umfUyOzvHUJpNlBoM5hT8fsDZOvywKOQ&s=NEKBF7n4zuLkQoHhnt2oBrRg860DeQ60qejG5VrplXE&e="
                    class="" moz-do-not-send="true">https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_pure-2Ddata_pure-2Ddata_pull_1261&d=DwICAg&c=-35OiAkTchMrZOngvJPOeA&r=XprZV3Fxus2L1LCw80hE4Q&m=CIAxkh54128umfUyOzvHUJpNlBoM5hT8fsDZOvywKOQ&s=NEKBF7n4zuLkQoHhnt2oBrRg860DeQ60qejG5VrplXE&e=</a>
                   . It adds threaded behaviour for disk and network
                  I/O, making the Pd audio thread "real-time safer". I
                  went through quite a few revisions courtesy of
                  umlaeute and Spacechild1, but haven't heard from you
                  directly. I am happy to do some more work if there is
                  interest in merging. CI build currently fails because
                  of weird "support" of ssize_t on VS (happy to hear
                  about workarounds).<br class="">
                </blockquote>
                <br class="">
                Thanks,<br class="">
                Giulio<br class="">
                <br class="">
                Dan Wilcox wrote on 14/09/2021 11:18:<br class="">
                <blockquote type="cite" class="">...which reminds me I
                  haven't had any time to look into macOS-specific stuff
                  (bad) such as usual TK issues, M1 arm builds, etc, due
                  to too much project work (good). Maybe this weekend /
                  coming week.<br class="">
                  <br class="">
                  <blockquote type="cite" class="">On Sep 14, 2021, at
                    12:00 PM, <a
                      href="mailto:pd-dev-request@lists.iem.at" class=""
                      moz-do-not-send="true">pd-dev-request@lists.iem.at</a>
                    <<a href="mailto:pd-dev-request@lists.iem.at"
                      class="" moz-do-not-send="true">mailto:pd-dev-request@lists.iem.at</a>>
                    wrote:<br class="">
                    <br class="">
                    Message: 1<br class="">
                    Date: Mon, 13 Sep 2021 20:52:19 -0300<br class="">
                    From: Alexandre Torres Porres <<a
                      href="mailto:porres@gmail.com" class=""
                      moz-do-not-send="true">porres@gmail.com</a> <<a
                      href="mailto:porres@gmail.com" class=""
                      moz-do-not-send="true">mailto:porres@gmail.com</a>>><br
                      class="">
                    To: Miller Puckette <<a
                      href="mailto:msp@ucsd.edu" class=""
                      moz-do-not-send="true">msp@ucsd.edu</a> <<a
                      href="mailto:msp@ucsd.edu" class=""
                      moz-do-not-send="true">mailto:msp@ucsd.edu</a>>><br
                      class="">
                    Cc: pd-dev <<a href="mailto:pd-dev@lists.iem.at"
                      class="" moz-do-not-send="true">pd-dev@lists.iem.at</a>
                    <<a href="mailto:pd-dev@lists.iem.at" class=""
                      moz-do-not-send="true">mailto:pd-dev@lists.iem.at</a>>><br
                      class="">
                    Subject: Re: [PD-dev] plans for next Pd release<br
                      class="">
                    Message-ID:<br class="">
                    <<a
href="mailto:CAEAsFmivBpXw=kCOYO6Xjtjja8wZnKaiy3vG30cc=vHxXOFuYw@mail.gmail.com"
                      class="" moz-do-not-send="true">CAEAsFmivBpXw=kCOYO6Xjtjja8wZnKaiy3vG30cc=vHxXOFuYw@mail.gmail.com</a>
                    <<a
href="mailto:CAEAsFmivBpXw=kCOYO6Xjtjja8wZnKaiy3vG30cc=vHxXOFuYw@mail.gmail.com"
                      class="" moz-do-not-send="true">mailto:CAEAsFmivBpXw=kCOYO6Xjtjja8wZnKaiy3vG30cc=vHxXOFuYw@mail.gmail.com</a>>><br
                      class="">
                    Content-Type: text/plain; charset="utf-8"<br
                      class="">
                    <br class="">
                    hi, sorry to bug you Miller, but summer is ending
                    and I was wondering about<br class="">
                    the next release if it's coming soon.<br class="">
                    <br class="">
                    cheers<br class="">
                  </blockquote>
                  <br class="">
                  --------<br class="">
                  Dan Wilcox<br class="">
                  @danomatika <<a
href="https://urldefense.proofpoint.com/v2/url?u=http-3A__twitter.com_danomatika&d=DwICAg&c=-35OiAkTchMrZOngvJPOeA&r=XprZV3Fxus2L1LCw80hE4Q&m=CIAxkh54128umfUyOzvHUJpNlBoM5hT8fsDZOvywKOQ&s=zjK5QkKGpT-PmrQubeExT09_VePF4PLClKFuUU7Lsmw&e="
                    class="" moz-do-not-send="true">https://urldefense.proofpoint.com/v2/url?u=http-3A__twitter.com_danomatika&d=DwICAg&c=-35OiAkTchMrZOngvJPOeA&r=XprZV3Fxus2L1LCw80hE4Q&m=CIAxkh54128umfUyOzvHUJpNlBoM5hT8fsDZOvywKOQ&s=zjK5QkKGpT-PmrQubeExT09_VePF4PLClKFuUU7Lsmw&e=</a>
                  ><br class="">
                  <a href="http://danomatika.com" class=""
                    moz-do-not-send="true">danomatika.com</a> <<a
href="https://urldefense.proofpoint.com/v2/url?u=http-3A__danomatika.com&d=DwICAg&c=-35OiAkTchMrZOngvJPOeA&r=XprZV3Fxus2L1LCw80hE4Q&m=CIAxkh54128umfUyOzvHUJpNlBoM5hT8fsDZOvywKOQ&s=KZkE41QzIdpbaImsCAE9wFPhFxPOKT2p3q3zEaWbkiU&e="
                    class="" moz-do-not-send="true">https://urldefense.proofpoint.com/v2/url?u=http-3A__danomatika.com&d=DwICAg&c=-35OiAkTchMrZOngvJPOeA&r=XprZV3Fxus2L1LCw80hE4Q&m=CIAxkh54128umfUyOzvHUJpNlBoM5hT8fsDZOvywKOQ&s=KZkE41QzIdpbaImsCAE9wFPhFxPOKT2p3q3zEaWbkiU&e=</a>
                  ><br class="">
                  <a href="http://robotcowboy.com" class=""
                    moz-do-not-send="true">robotcowboy.com</a> <<a
href="https://urldefense.proofpoint.com/v2/url?u=http-3A__robotcowboy.com&d=DwICAg&c=-35OiAkTchMrZOngvJPOeA&r=XprZV3Fxus2L1LCw80hE4Q&m=CIAxkh54128umfUyOzvHUJpNlBoM5hT8fsDZOvywKOQ&s=YHBFPwMTjJhBcivlhnTedozN_bJVvdETM-YaNsV2zOY&e="
                    class="" moz-do-not-send="true">https://urldefense.proofpoint.com/v2/url?u=http-3A__robotcowboy.com&d=DwICAg&c=-35OiAkTchMrZOngvJPOeA&r=XprZV3Fxus2L1LCw80hE4Q&m=CIAxkh54128umfUyOzvHUJpNlBoM5hT8fsDZOvywKOQ&s=YHBFPwMTjJhBcivlhnTedozN_bJVvdETM-YaNsV2zOY&e=</a>
                  ><br class="">
                  <br class="">
                  <br class="">
                  <br class="">
                  <br class="">
                  _______________________________________________<br
                    class="">
                  Pd-dev mailing list<br class="">
                  <a href="mailto:Pd-dev@lists.iem.at" class=""
                    moz-do-not-send="true">Pd-dev@lists.iem.at</a><br
                    class="">
<a class="moz-txt-link-freetext" href="https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.puredata.info_listinfo_pd-2Ddev&d=DwICAg&c=-35OiAkTchMrZOngvJPOeA&r=XprZV3Fxus2L1LCw80hE4Q&m=CIAxkh54128umfUyOzvHUJpNlBoM5hT8fsDZOvywKOQ&s=VPt5_FzAma0FrHHO7yOSiWOvqe7vlOuPzDm2yRw376U&e=">https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.puredata.info_listinfo_pd-2Ddev&d=DwICAg&c=-35OiAkTchMrZOngvJPOeA&r=XprZV3Fxus2L1LCw80hE4Q&m=CIAxkh54128umfUyOzvHUJpNlBoM5hT8fsDZOvywKOQ&s=VPt5_FzAma0FrHHO7yOSiWOvqe7vlOuPzDm2yRw376U&e=</a><br
                    class="">
                  <br class="">
                </blockquote>
                <br class="">
                <br class="">
                <br class="">
                _______________________________________________<br
                  class="">
                Pd-dev mailing list<br class="">
                <a href="mailto:Pd-dev@lists.iem.at" class=""
                  moz-do-not-send="true">Pd-dev@lists.iem.at</a><br
                  class="">
<a class="moz-txt-link-freetext" href="https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.puredata.info_listinfo_pd-2Ddev&d=DwICAg&c=-35OiAkTchMrZOngvJPOeA&r=XprZV3Fxus2L1LCw80hE4Q&m=CIAxkh54128umfUyOzvHUJpNlBoM5hT8fsDZOvywKOQ&s=VPt5_FzAma0FrHHO7yOSiWOvqe7vlOuPzDm2yRw376U&e=">https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.puredata.info_listinfo_pd-2Ddev&d=DwICAg&c=-35OiAkTchMrZOngvJPOeA&r=XprZV3Fxus2L1LCw80hE4Q&m=CIAxkh54128umfUyOzvHUJpNlBoM5hT8fsDZOvywKOQ&s=VPt5_FzAma0FrHHO7yOSiWOvqe7vlOuPzDm2yRw376U&e=</a><br
                  class="">
              </blockquote>
              <br class="">
              -- <br class="">
            </div>
          </div>
        </blockquote>
      </div>
      <br class="">
      <div class="">
        <div style="color: rgb(0, 0, 0); font-family: Helvetica;
          font-size: 12px; font-style: normal; font-variant-caps:
          normal; font-weight: normal; letter-spacing: normal; orphans:
          auto; text-align: start; text-indent: 0px; text-transform:
          none; white-space: normal; widows: auto; word-spacing: 0px;
          -webkit-text-size-adjust: auto; -webkit-text-stroke-width:
          0px;">--------</div>
        <div style="color: rgb(0, 0, 0); font-family: Helvetica;
          font-size: 12px; font-style: normal; font-variant-caps:
          normal; font-weight: normal; letter-spacing: normal; orphans:
          auto; text-align: start; text-indent: 0px; text-transform:
          none; white-space: normal; widows: auto; word-spacing: 0px;
          -webkit-text-size-adjust: auto; -webkit-text-stroke-width:
          0px;">Dan Wilcox</div>
        <div style="color: rgb(0, 0, 0); font-family: Helvetica;
          font-size: 12px; font-style: normal; font-variant-caps:
          normal; font-weight: normal; letter-spacing: normal; orphans:
          auto; text-align: start; text-indent: 0px; text-transform:
          none; white-space: normal; widows: auto; word-spacing: 0px;
          -webkit-text-size-adjust: auto; -webkit-text-stroke-width:
          0px;"><a href="http://twitter.com/danomatika" class=""
            moz-do-not-send="true">@danomatika</a></div>
        <div style="color: rgb(0, 0, 0); font-family: Helvetica;
          font-size: 12px; font-style: normal; font-variant-caps:
          normal; font-weight: normal; letter-spacing: normal; orphans:
          auto; text-align: start; text-indent: 0px; text-transform:
          none; white-space: normal; widows: auto; word-spacing: 0px;
          -webkit-text-size-adjust: auto; -webkit-text-stroke-width:
          0px;"><a href="http://danomatika.com" class=""
            moz-do-not-send="true">danomatika.com</a></div>
        <div style="color: rgb(0, 0, 0); font-family: Helvetica;
          font-size: 12px; font-style: normal; font-variant-caps:
          normal; font-weight: normal; letter-spacing: normal; orphans:
          auto; text-align: start; text-indent: 0px; text-transform:
          none; white-space: normal; widows: auto; word-spacing: 0px;
          -webkit-text-size-adjust: auto; -webkit-text-stroke-width:
          0px;"><a href="http://robotcowboy.com" class=""
            moz-do-not-send="true">robotcowboy.com</a></div>
        <div style="color: rgb(0, 0, 0); font-family: Helvetica;
          font-size: 12px; font-style: normal; font-variant-caps:
          normal; font-weight: normal; letter-spacing: normal; orphans:
          auto; text-align: start; text-indent: 0px; text-transform:
          none; white-space: normal; widows: auto; word-spacing: 0px;
          -webkit-text-size-adjust: auto; -webkit-text-stroke-width:
          0px;" class=""><br class="">
        </div>
        <br class="Apple-interchange-newline">
      </div>
      <br class="">
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
Pd-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Pd-dev@lists.iem.at">Pd-dev@lists.iem.at</a>
<a class="moz-txt-link-freetext" href="https://lists.puredata.info/listinfo/pd-dev">https://lists.puredata.info/listinfo/pd-dev</a>
</pre>
    </blockquote>
  </body>
</html>