<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="295005" data-post-id="295005">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="pejrich" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/pejrich/120/14576_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  pejrich
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>It looks like this github issue Jose opened a month ago may be related: <a href="https://github.com/erlang/otp/issues/7432" class="inline-onebox" rel="noopener nofollow ugc">Undesired(?) slow down in ssa_opt_alias · Issue #7432 · erlang/otp · GitHub</a></p>
<p>It’s the only mention of <code>ssa_opt_alias</code> I can find on Google</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="295005" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/compiling-files-with-many-function-heads-is-very-slow-otp-26-issue/57105/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-295005" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="295005"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #11"></div>
  </section>
</div>
    <div class="postbit" id="295036" data-post-id="295036">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="christhekeele" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/christhekeele/120/1039_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  christhekeele
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>EDIT: debunked, NVM. See post below</p>
<details>
<summary>Incorrect Hypothesis</summary>
<p>IIRC, multi-clause same-arity function heads compile down to a single function that wraps an equivalent case statement in the Erlang Abstract Format.</p>
<aside class="quote no-group quote-modified" data-username="pejrich" data-post="12" data-topic="57105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/pejrich/48/14576_2.png" class="avatar"> pejrich:</div>
<blockquote>
<p>It looks like this github issue Jose opened a month ago may be related: <a href="https://github.com/erlang/otp/issues/7432" rel="noopener nofollow ugc">Undesired(?) slow down in ssa_opt_alias · Issue #7432 · erlang/otp · GitHub </a></p>
</blockquote>
</aside>
<p>Based on my reading of this thread, perhaps what’s taking so long is the compiler doing function-call-reachability checks for every function head. Maybe you could meta-program a single function clause with a single case statement instead, to skip this overhead?</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">defmodule Test do
  @all [{"foo", :bar}, {"fizz", :buzz}]

  all_case_statements = Enum.flat_map(@all, fn {k, v} -&gt;
    quote do
      &lt;&lt;unquote(k), rest::binary&gt;&gt; -&gt; replace(rest, [unquote(Macro.escape(v)) | var!(acc)])
    end
  end)

  def replace("", acc) do
    acc
  end

  def replace(thing, acc) do
    case thing, do: unquote(all_case_statements)
  end
end
</code></pre>
<p>This works for me locally:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">Test.replace("foofizzfoo", [])
#=&gt; [:bar, :buzz, :bar]
</code></pre></details> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="295036" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/compiling-files-with-many-function-heads-is-very-slow-otp-26-issue/57105/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-295036" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="295036"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #12"></div>
  </section>
</div>
    <div class="postbit" id="295062" data-post-id="295062">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="rvirding" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/rvirding/120/1409_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  rvirding
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Erlang</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>That shouldn’t make any difference as the compiler does the same optimisations for the <code>case</code> clauses as it does for the function clauses.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="295062" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/compiling-files-with-many-function-heads-is-very-slow-otp-26-issue/57105/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-295062" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="295062"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #13"></div>
  </section>
</div>
    <div class="postbit" id="295063" data-post-id="295063">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="christhekeele" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/christhekeele/120/1039_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  christhekeele
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote group-Erlang-Core-Team quote-modified" data-username="rvirding" data-post="14" data-topic="57105">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/rvirding/48/1409_2.png" class="avatar"> rvirding:</div>
<blockquote>
<p>The compiler does the same optimisations for the <code>case</code> clauses as it does for the function clauses.</p>
</blockquote>
</aside>
<p>That’s what I’m counting on. My (untested, speculative) hypothesis is that the issue (particularly slow compile times for a ridiculous number of function heads) is partially caused by a performance regression during lexical analysis of definitions and call sites; which a single head/case statement avoids despite getting compiled with the same runtime optimizations.</p>
<p>Had to step away from my computer for the day before I could reproduce a setup to see if this helps, but wanted to share the hypothesis before I did. Again, total speculation, but not concerning the optimization pass.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="295063" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/compiling-files-with-many-function-heads-is-very-slow-otp-26-issue/57105/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-295063" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="295063"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #14"></div>
  </section>
</div>
    <div class="postbit" id="295073" data-post-id="295073">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="christhekeele" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/christhekeele/120/1039_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  christhekeele
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I was itching to test this hypothesis, and it looks like it is indeed bunk! Both versions take the same time to compile, based on real rough benchmarking.</p>
<p>This is with 10,000 function heads (<code>22^3 ~= 10k</code>) on my M2 machine:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">defmodule Test do

  ## BASELINE: run without uncommenting any code
  ## time mix compile --force -&gt; 0.63 secs

  @all (for x &lt;- 0..22, y &lt;- 0..22, z &lt;- 0..22 do
          {{x, y, z}, Integer.to_string(x) &lt;&gt; Integer.to_string(y) &lt;&gt; Integer.to_string(z)}
        end)

  def replace("", acc) do
    acc
  end

  ## TEST 1: uncomment this block
  ## time mix compile --force -&gt; 44.51 secs

  # Enum.each(@all, fn {{x, y, z}, v} -&gt;
  #   def replace(&lt;&lt;unquote(x), unquote(y), unquote(z), rest::binary&gt;&gt;, acc) do
  #     replace(rest, [unquote(Macro.escape(v)) | acc])
  #   end
  # end)

  ## TEST 2: uncomment this block
  ## time mix compile --force -&gt; 44.41 secs

  # all_case_statements =
  #   Enum.flat_map(@all, fn {{x, y, z}, v} -&gt;
  #     quote do
  #       &lt;&lt;unquote(x), unquote(y), unquote(z), rest::binary&gt;&gt; -&gt;
  #         replace(rest, [unquote(Macro.escape(v)) | var!(acc)])
  #     end
  #   end)
  # def replace(thing, acc) do
  #   case thing, do: unquote(all_case_statements)
  # end
end
</code></pre>
<p>Interestingly, I didn’t realize I was running OTP 25 at first—so I initially tested this with 100,000 function heads instead (<code>47^3 ~= 100k</code>), and my tests took 60s. Upgrading to OTP 26, however, they refused to finish within 15 minutes, so <img src="https://forum.elixirforum.com/images/emoji/apple/sweat_smile.png?v=15" title=":sweat_smile:" class="emoji" alt=":sweat_smile:" loading="lazy" width="20" height="20">… If you want a distilled example for a bug report, you can use my code here.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="295073" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/compiling-files-with-many-function-heads-is-very-slow-otp-26-issue/57105/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-295073" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="295073"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #15"></div>
  </section>
</div>
    <div class="postbit" id="295121" data-post-id="295121">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="pejrich" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/pejrich/120/14576_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  pejrich
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks for doing this! It does at least confirm that my experience isn’t something that’s only affecting me.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="295121" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/compiling-files-with-many-function-heads-is-very-slow-otp-26-issue/57105/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-295121" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="295121"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #16"></div>
  </section>
</div>
    <div class="postbit" id="295475" data-post-id="295475">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="jakemorrison" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jakemorrison/120/604_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  jakemorrison
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>It’s a reasonable approach. Sounds like some issue with OTP 26.</p>
<p>I am doing something similar here: <a href="https://github.com/cogini/public_suffix_list" class="inline-onebox" rel="noopener nofollow ugc">GitHub - cogini/public_suffix_list: Elixir library which uses the https://publicsuffix.org/ list to parse DNS domains · GitHub</a></p>
<p>That’s over 10k heads, and compilation performance has never been that bad.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="295475" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/compiling-files-with-many-function-heads-is-very-slow-otp-26-issue/57105/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-295475" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="295475"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #17"></div>
  </section>
</div>
    <div class="postbit" id="295476" data-post-id="295476">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="josevalim" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/josevalim/120/1787_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  josevalim
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Elixir</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Most likely the same as this one: <a href="https://github.com/erlang/otp/issues/7432" class="inline-onebox" rel="nofollow">Undesired(?) slow down in ssa_opt_alias · Issue #7432 · erlang/otp · GitHub</a> - TL;DR: they are working on a fix.</p>
<p>This may also help in future cases: <a href="https://dashbit.co/blog/how-to-debug-elixir-erlang-compiler-performance" class="inline-onebox" rel="nofollow">How to debug Elixir/Erlang compiler performance - Dashbit Blog</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="295476" data-batch-url="/posts/batch_likers">
                        5
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/compiling-files-with-many-function-heads-is-very-slow-otp-26-issue/57105/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-295476" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="295476"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #18"></div>
  </section>
</div>
    <div class="postbit" id="295557" data-post-id="295557">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="pejrich" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/pejrich/120/14576_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  pejrich
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/josevalim" rel="nofollow">@josevalim</a> I’m a little unclear on what was added in OTP26 that had such a drastic effect, and what is the benefit of having it there? If it’s for optimization of potentially unreachable function heads, would it be possible for some sort of compiler annotation to skip the new check for these lengthy modules?</p>
<p>If you have a file that is literally this, or something that essentially amounts to this:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">File.read!("many_10s_1000s_of_lines.json")
|&gt; some_parsing()
|&gt; Enum.each(fn {k,v} -&gt;
  def some_function(&lt;&lt;unquote(k), rest::binary&gt;&gt;, acc), do: some_function(rest, [unquote(v) | acc])
end)
</code></pre>
<p>would some sort of <code>@compile {:way_too_many_lines, :dont_even_bother}</code>(obviously don’t rely on me for good naming suggestions <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"> ) help to alleviate this issue, or maybe I’m misunderstanding what the new code is doing, and maybe it’s equally as useful for these types of files.</p>
<p>But just in case you do want more great naming suggestings, this could work:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">@compile {:i_know_more_than_the_compiler, ignoring: :ample_evidence_to_the_contrary}
</code></pre> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="295557" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/compiling-files-with-many-function-heads-is-very-slow-otp-26-issue/57105/20">Post #19</a>
	                </div>
	            </div>
              <div id="likers-container-295557" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="295557"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #19"></div>
  </section>
</div>
    <div class="postbit" id="295559" data-post-id="295559">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="josevalim" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/josevalim/120/1787_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  josevalim
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Elixir</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>The linked GitHub issue discusses the optimization and possible fixes already. It is about liveness analysis of variables, which can be used for several things, such as performing destructive updates, decreasing ref counters, etc.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="295559" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/compiling-files-with-many-function-heads-is-very-slow-otp-26-issue/57105/21">Post #20</a>
	                </div>
	            </div>
              <div id="likers-container-295559" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="295559"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #20"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/57105/load_more?page=3">Load more posts (49 remaining)</a>
</div></template></turbo-stream>