title: What determines which strings are interned and when?
body: <pre><code>&gt;&gt;&gt; s1 = &quot;spam&quot;
  &gt;&gt;&gt; s2 = &quot;spam&quot;
  &gt;&gt;&gt; s1 is s2
  True
  &gt;&gt;&gt; q = 'asdalksdjfla;ksdjf;laksdjfals;kdfjasl;fjasdf'
  &gt;&gt;&gt; r = 'asdalksdjfla;ksdjf;laksdjfals;kdfjasl;fjasdf'
  &gt;&gt;&gt; q is r
  False
  </code></pre>
  <p>How many characters should have to <code>s1 is s2</code> give <code>False</code>? Where is limit? i.e.  I am asking how long a string has to be before python starts making separate copies of it.</p>