title: Why are chains of IObservables resolved entirely for each subscription?
body: <p>I have a question how chains of IObervables are being resolved.
  I thought that if multiple observers subscribe to the same IObservable the entire chain would be only resolved once if the stream emits a new item.</p>
  <p>Instead it appears that the entire chain is run for each subscription.</p>
  <p>If my entire program logic is made using IObservables and chaining them together, then it appears to me that the code is running the same methods with the same outcome unnessarily.</p>
  <ul>
  <li><p>Is that the intented behaviour? And why?</p>
  </li>
  <li><p>If so, can it be avoided? Or is that a bad idea?</p>
  </li>
  </ul>
  <p>The code below was written in LINQPad:</p>
  <pre><code>{
      var subject = Observable.Range(1, 1);
  
      var observable1 = subject
          .Select(value =&gt;
          {
              var nextValue = value + 2;
              Console.Write(&quot;\n Result of expensive computation: &quot; + nextValue);
              return nextValue;
          });
  
      var observable2 = observable1
          .Select(value =&gt;
          {
              var nextValue = 2 * value;
              Console.Write(&quot;\n Result of another expensive computation: &quot; + nextValue);
              return nextValue;
          });
  
      observable2.Subscribe(_ =&gt; Console.Write(&quot;\n Data received on first subscription.&quot;));
  
      observable2.Subscribe(_ =&gt; Console.Write(&quot;\n Data received on second subscription.&quot;));
  }
  </code></pre>
  <p>Result:</p>
  <blockquote>
  <p>Result of expensive computation: 3</p>
  <p>Result of another expensive computation: 6</p>
  <p>Data received on first subscription.</p>
  <p>Result of expensive computation: 3</p>
  <p>Result of another expensive computation: 6</p>
  <p>Data received on second subscription.</p>
  </blockquote>
  <p>However I expected:</p>
  <blockquote>
  <p>Result of expensive computation: 3</p>
  <p>Result of another expensive computation: 6</p>
  <p>Data received on first subscription.</p>
  <p>Data received on second subscription.</p>
  </blockquote>
  <p>Thanks for any answers.</p>
  <p>Cheers,
  Rob</p>