<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <br>
    <blockquote type="cite"
cite="mid:CA+LEaarowbDGr6vMo2oN-sKqhe7PB_RWX1LHahZ2ZGwcw99gLg@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div>
        <div dir="auto">Found a nice blog post explaining why M1 is
          fast. </div>
        <div><a
href="https://debugger.medium.com/why-is-apples-m1-chip-so-fast-3262b158cba2"
            moz-do-not-send="true">https://debugger.medium.com/why-is-apples-m1-chip-so-fast-3262b158cba2</a></div>
      </div>
    </blockquote>
    <p>I knew it! I felt it all my life! It takes insurmountable amount
      of time to prepare place for painting, more than painting itself
      takes. ... Eight preppers of micro-ops in M1 versus four in
      Intel/AMD.<br>
    </p>
    <p>I still have feeling that co-locating memory also helps preppers'
      result, besides the benefit of RISC's constant length of
      instruction.</p>
    <p>It also explains talks of AMD going with ARM. RISC-y business :)<br>
    </p>
    <blockquote type="cite"
cite="mid:CA+LEaarowbDGr6vMo2oN-sKqhe7PB_RWX1LHahZ2ZGwcw99gLg@mail.gmail.com">
      <div>
        <div class="gmail_quote">
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div>
              <div>Rust provides both Atomic Reference Counting (called
                Arc) and non-atomic Reference Counting (called Rc). You
                choose the one that makes sense. Hopefully the type
                system complains if you use Rc in a context where
                atomicity is required, but I don't use Rust. C++
                provides only atomic refcounting in the standard
                library; for the other kind you roll your own (which I
                have done).<br>
                <blockquote type="cite" id="m_816261540811853656qt">
                  <p><moving into discussing silicon and near it><br>
                  </p>
                  <blockquote type="cite">
                    <div>Another trick is that Apple's dev languages and
                      frameworks (Swift and Objective-C) use reference
                      counting, which requires atomic increments and
                      decrements. On Intel, these operations are five
                      times slower than non-atomic operations; on Apple
                      Silicon they run at the same speed. This is
                      something I wish the other CPU vendors would get
                      right, because refcounting has some technical
                      advantages over tracing GC, and I use it in
                      software I write. C++ and Rust, both "performance"
                      languages, provide refcounting but not tracing GC.<br>
                    </div>
                    <blockquote type="cite"
                      id="m_816261540811853656qt-qt">
                      <div>Regarding M1. My Understanding is that
                        placement of RAM inside of processor
                        package/silicon is the trick that makes it run
                        fast. Is there anything else?<br>
                      </div>
                      <div> <br>
                      </div>
                      <blockquote type="cite">
                        <div dir="ltr"> The Apple M1 looks decent, but
                          since Apple no longer lets you run Linux on
                          their hardware, I have no desire to ever buy
                          one.<br>
                        </div>
                      </blockquote>
                    </blockquote>
                  </blockquote>
                  <div>Does Rust standard refcounting, or implementation
                    of such pointers need to use atomic in/decrements?
                    Can't it use non-atomic something, given a more
                    detailed knowledge of ownership? Just wondering.<br>
                  </div>
                  <div> <br>
                  </div>
                  <div>_______________________________________________<br>
                  </div>
                  <div>kwlug-disc mailing list<br>
                  </div>
                  <div><a href="mailto:kwlug-disc@kwlug.org"
                      target="_blank" moz-do-not-send="true">kwlug-disc@kwlug.org</a><br>
                  </div>
                  <div><a
                      href="https://kwlug.org/mailman/listinfo/kwlug-disc_kwlug.org"
                      target="_blank" moz-do-not-send="true">https://kwlug.org/mailman/listinfo/kwlug-disc_kwlug.org</a><br>
                  </div>
                  <div><br>
                  </div>
                </blockquote>
                <div><br>
                </div>
              </div>
            </div>
            _______________________________________________<br>
            kwlug-disc mailing list<br>
            <a href="mailto:kwlug-disc@kwlug.org" target="_blank"
              moz-do-not-send="true">kwlug-disc@kwlug.org</a><br>
            <a
              href="https://kwlug.org/mailman/listinfo/kwlug-disc_kwlug.org"
              rel="noreferrer" target="_blank" moz-do-not-send="true">https://kwlug.org/mailman/listinfo/kwlug-disc_kwlug.org</a><br>
          </blockquote>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
kwlug-disc mailing list
<a class="moz-txt-link-abbreviated" href="mailto:kwlug-disc@kwlug.org">kwlug-disc@kwlug.org</a>
<a class="moz-txt-link-freetext" href="https://kwlug.org/mailman/listinfo/kwlug-disc_kwlug.org">https://kwlug.org/mailman/listinfo/kwlug-disc_kwlug.org</a>
</pre>
    </blockquote>
    <div class="moz-signature">-- <br>
      Mikalai Birukou <br>
      CEO | 3NSoft Inc.</div>
  </body>
</html>