<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <br>
    <br>
    <div class="moz-cite-prefix">On 1/1/20 11:44 AM, David Mason wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:3f9d65ca-663d-4de9-968c-9931429eaff0@Spark">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <title></title>
      <div name="messageBodySection">
        <div dir="auto">Borrowing is entirely a compile-time analysis.
          There is no runtime impact (other than the fact that you can
          get away without a garbage collector - in a safe way).
          <div dir="auto"><br>
          </div>
          <div dir="auto">The Learn Rust the Dangerous way article is
            very good, by the way! I heartily endorse it for the
            C-philes among GTALUG. If you haven’t read it, one of the
            things that might convince you is that the leaderboard for
            this highly-optimized n-body simulation has Rust in the
            first-place <a
href="https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/nbody.html"
              moz-do-not-send="true">https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/nbody.html</a> -
            faster than C, C++, Fortran or Ada. I’ve added it to my list
            of resources for Rust: <a
              href="https://cps506.scs.ryerson.ca/Resources/rust.html"
              moz-do-not-send="true">https://cps506.scs.ryerson.ca/Resources/rust.html</a></div>
        </div>
      </div>
    </blockquote>
    Ownership makes sense its a compiler version of smart pointers. My
    concerns are still:<br>
     What about circular references in which the owner depends on data
    from the child<br>
    but cannot free it due to the knowledge also depending on the
    parent. Binary trees<br>
    are a problem here. Or you must assume like garbage collectors this 
    never occurs<br>
    and this is one way to get memory leaks in a lot of garbage
    collectors fast.<br>
    <br>
    Rust seems fine for a lot of things but this one case does not seem
    solved at least<br>
    in my knowledge or is  assumed to not be a big issue and I could be
    wrong but<br>
    from my limited research it appears not,<br>
    Nick <br>
    <blockquote type="cite"
      cite="mid:3f9d65ca-663d-4de9-968c-9931429eaff0@Spark">
      <div name="messageBodySection">
        <div dir="auto">
        </div>
      </div>
      <div name="messageSignatureSection"><br>
        <div class="matchFont">../Dave</div>
      </div>
      <div name="messageReplySection">On Dec 31, 2019, 4:22 PM -0500,
        Nicholas Krause via talk <a class="moz-txt-link-rfc2396E" href="mailto:talk@gtalug.org"><talk@gtalug.org></a>, wrote:<br>
        <blockquote type="cite" class="spark_quote" style="margin: 5px
          5px; padding-left: 10px; border-left: thin solid #1abc9c;"><br>
          <br>
          On 12/31/19 11:57 AM, D. Hugh Redelmeier via talk wrote:<br>
          <blockquote type="cite" class="spark_quote" style="margin: 5px
            5px; padding-left: 10px; border-left: thin solid #e67e22;">|
            From: Tom Low-Shang via talk <a class="moz-txt-link-rfc2396E" href="mailto:talk@gtalug.org"><talk@gtalug.org></a><br>
            <br>
            | I'm interested in your thoughts on Rust if you attended
            the talk.<br>
            <br>
            The talk was mostly a guided creation of a program. So I
            don't think<br>
            that it answered any of your questions.<br>
            <br>
            | I'm currently learning Rust the old fashioned hacker way
            (from books and<br>
            | other people's code :)). My biggest mistake was trying to
            use Rust with<br>
            | SDL2 to display some graphics. My head still hurts from
            banging it into<br>
            | a wall called 'lifetimes'. :)<br>
            <br>
            The whole idea of borrowing etc. is fundamental to Rust and
            how it<br>
            ensures safety. Without garbage collection. If you don't
            like or<br>
            understand this approach, Rust isn't useful.<br>
          </blockquote>
          Hugh,<br>
          I've a question about how borrowing is implemented internally
          as it can lead<br>
          to a problem, if I allow lots of memory can my program stall
          because of this<br>
          at the end of a block. In addition due to this does borrow
          checking<br>
          limit or<br>
          not implement something like freelists or caching to get
          better usage of the<br>
          CPU cache as that's also a concern.<br>
          <br>
          Thanks,<br>
          Nick<br>
          <blockquote type="cite" class="spark_quote" style="margin: 5px
            5px; padding-left: 10px; border-left: thin solid #e67e22;">---<br>
            Post to this mailing list <a class="moz-txt-link-abbreviated" href="mailto:talk@gtalug.org">talk@gtalug.org</a><br>
            Unsubscribe from this mailing list
            <a class="moz-txt-link-freetext" href="https://gtalug.org/mailman/listinfo/talk">https://gtalug.org/mailman/listinfo/talk</a><br>
          </blockquote>
          <br>
          ---<br>
          Post to this mailing list <a class="moz-txt-link-abbreviated" href="mailto:talk@gtalug.org">talk@gtalug.org</a><br>
          Unsubscribe from this mailing list
          <a class="moz-txt-link-freetext" href="https://gtalug.org/mailman/listinfo/talk">https://gtalug.org/mailman/listinfo/talk</a><br>
        </blockquote>
      </div>
    </blockquote>
    <br>
  </body>
</html>