Skip to content

Commit cb143b7

Browse files
author
Archive Bot
committed
Update archive.
0 parents  commit cb143b7

File tree

1,525 files changed

+134859
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,525 files changed

+134859
-0
lines changed

.github/dependabot.yml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
version: 2
2+
3+
updates:
4+
# Enable updates to the dependencies of our workflows
5+
- package-ecosystem: 'github-actions'
6+
directory: '/'
7+
schedule:
8+
interval: daily

.github/workflows/deploy.yml

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Deploy Archive
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: 30 4 * * *
7+
8+
jobs:
9+
deploy:
10+
runs-on: ubuntu-latest
11+
name: Publish zulip-archive on GH Pages
12+
steps:
13+
- uses: actions/checkout@v4
14+
- uses: zulip/zulip-archive@5ff607209cbd3a7ff74cbca84656d01bfc8b5929
15+
with:
16+
zuliprc: ${{ secrets.ZULIPRC }}
17+
# archive_branch: main
18+
19+
github_token: ${{ secrets.DEPLOY_PAT }}
20+
delete_history: true

.nojekyll

Whitespace-only changes.

assets/img/zulip.svg

+10
Loading

index.html

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<html>
2+
<head><meta charset="utf-8"><title>Zulip Chat Archive</title></head>
3+
<hr>
4+
5+
<h2>Streams:</h2>
6+
7+
<ul>
8+
<li> <a href="stream/274208-helpdesk-.28published.29/index.html">helpdesk (published)</a> (757 topics) </li>
9+
</ul>
10+
11+
<hr><p>Last updated: Mar 06 2025 at 04:41 UTC</p>
12+
</html>

sitemap-001-pages.xml.gz

10.8 KB
Binary file not shown.

sitemap.xml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
3+
<!-- Powered by https://github.com/pigs-will-fly/py-xml-sitemap-writer -->
4+
<!-- 560 urls -->
5+
<sitemap><loc>https://juliacommunity.github.io/zulip-archive/sitemap-001-pages.xml.gz</loc></sitemap>
6+
</sitemapindex>

stream/274208-helpdesk-.28published.29/index.html

+769
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
<html>
2+
<head><meta charset="utf-8"><title>&quot;Broadcast foreach&quot;? · helpdesk (published) · Zulip Chat Archive</title></head>
3+
<h2>Stream: <a href="https://juliacommunity.github.io/zulip-archive/stream/274208-helpdesk-.28published.29/index.html">helpdesk (published)</a></h2>
4+
<h3>Topic: <a href="https://juliacommunity.github.io/zulip-archive/stream/274208-helpdesk-.28published.29/topic/.22Broadcast.20foreach.22.3F.html">&quot;Broadcast foreach&quot;?</a></h3>
5+
6+
<hr>
7+
8+
<base href="https://julialang.zulipchat.com">
9+
10+
<head><link href="https://juliacommunity.github.io/zulip-archive/style.css" rel="stylesheet"></head>
11+
12+
<a name="262235042"></a>
13+
<h4><a href="https://julialang.zulipchat.com#narrow/stream/274208-helpdesk%20%28published%29/topic/%22Broadcast%20foreach%22%3F/near/262235042" class="zl"><img src="https://juliacommunity.github.io/zulip-archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Philipp Gabler <a href="https://juliacommunity.github.io/zulip-archive/stream/274208-helpdesk-.28published.29/topic/.22Broadcast.20foreach.22.3F.html#262235042">(Nov 21 2021 at 11:06)</a>:</h4>
14+
<p>Is there an established pattern to "broadcast" a function, but without allocation of output? Just for the sake of side-effects. I.e., <code>map</code> is to <code>broadcast</code> as <code>foreach</code> is to what?</p>
15+
<p>I came up with this:</p>
16+
<div class="codehilite" data-code-language="Julia"><pre><span></span><code><span class="n">julia</span><span class="o">&gt;</span> <span class="k">function</span> <span class="n">broadcast_foreach</span><span class="p">(</span><span class="n">op</span><span class="p">,</span> <span class="n">args</span><span class="o">...</span><span class="p">)</span>
17+
<span class="n">bc</span> <span class="o">=</span> <span class="n">Base</span><span class="o">.</span><span class="n">broadcasted</span><span class="p">(</span><span class="n">op</span><span class="p">,</span> <span class="n">args</span><span class="o">...</span><span class="p">)</span>
18+
<span class="n">foreach</span><span class="p">(</span><span class="n">x</span> <span class="o">-&gt;</span> <span class="nb">nothing</span><span class="p">,</span> <span class="n">bc</span><span class="p">)</span>
19+
<span class="k">return</span> <span class="nb">nothing</span>
20+
<span class="k">end</span>
21+
<span class="n">broadcast_foreach</span> <span class="p">(</span><span class="n">generic</span> <span class="k">function</span> <span class="n">with</span> <span class="mi">1</span> <span class="n">method</span><span class="p">)</span>
22+
23+
<span class="n">julia</span><span class="o">&gt;</span> <span class="n">xs</span> <span class="o">=</span> <span class="p">[]</span>
24+
<span class="kt">Any</span><span class="p">[]</span>
25+
26+
<span class="n">julia</span><span class="o">&gt;</span> <span class="n">broadcast_foreach</span><span class="p">((</span><span class="n">xs</span><span class="p">,</span> <span class="n">vs</span><span class="o">...</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">push!</span><span class="p">(</span><span class="n">xs</span><span class="p">,</span> <span class="n">vs</span><span class="p">),</span> <span class="kt">Ref</span><span class="p">(</span><span class="n">xs</span><span class="p">),</span> <span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">],</span> <span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">])</span>
27+
28+
<span class="n">julia</span><span class="o">&gt;</span> <span class="n">xs</span>
29+
<span class="mi">2</span><span class="o">-</span><span class="n">element</span> <span class="kt">Vector</span><span class="p">{</span><span class="kt">Any</span><span class="p">}</span><span class="o">:</span>
30+
<span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
31+
<span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span>
32+
33+
<span class="n">julia</span><span class="o">&gt;</span> <span class="n">xs</span> <span class="o">=</span> <span class="p">[]</span>
34+
<span class="kt">Any</span><span class="p">[]</span>
35+
36+
<span class="n">julia</span><span class="o">&gt;</span> <span class="n">broadcast_foreach</span><span class="p">((</span><span class="n">xs</span><span class="p">,</span> <span class="n">vs</span><span class="o">...</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">push!</span><span class="p">(</span><span class="n">xs</span><span class="p">,</span> <span class="n">vs</span><span class="p">),</span> <span class="kt">Ref</span><span class="p">(</span><span class="n">xs</span><span class="p">),</span> <span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">],</span> <span class="mi">1</span><span class="p">)</span>
37+
38+
<span class="n">julia</span><span class="o">&gt;</span> <span class="n">xs</span>
39+
<span class="mi">2</span><span class="o">-</span><span class="n">element</span> <span class="kt">Vector</span><span class="p">{</span><span class="kt">Any</span><span class="p">}</span><span class="o">:</span>
40+
<span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
41+
<span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
42+
</code></pre></div>
43+
<p>but not knowing as much about broadcasting machinery as I'd like to, there might be something existing I am overlooking.</p>
44+
45+
46+
47+
<a name="262254718"></a>
48+
<h4><a href="https://julialang.zulipchat.com#narrow/stream/274208-helpdesk%20%28published%29/topic/%22Broadcast%20foreach%22%3F/near/262254718" class="zl"><img src="https://juliacommunity.github.io/zulip-archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mason Protter <a href="https://juliacommunity.github.io/zulip-archive/stream/274208-helpdesk-.28published.29/topic/.22Broadcast.20foreach.22.3F.html#262254718">(Nov 21 2021 at 18:57)</a>:</h4>
49+
<p>One approach you could take is making a struct <code>Null</code> such that writing data to it just throws away the data. Then you could do something like<br>
50+
<code>Null() .= f.(x)</code> and broadcast Fusion should take care of everything.</p>
51+
52+
53+
54+
<a name="262319796"></a>
55+
<h4><a href="https://julialang.zulipchat.com#narrow/stream/274208-helpdesk%20%28published%29/topic/%22Broadcast%20foreach%22%3F/near/262319796" class="zl"><img src="https://juliacommunity.github.io/zulip-archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Philipp Gabler <a href="https://juliacommunity.github.io/zulip-archive/stream/274208-helpdesk-.28published.29/topic/.22Broadcast.20foreach.22.3F.html#262319796">(Nov 22 2021 at 13:44)</a>:</h4>
56+
<p>I was thinking about that, too, but didn't know how to proceed. Some issues with broadcast style (I guess?):</p>
57+
<div class="codehilite" data-code-language="Julia"><pre><span></span><code><span class="n">julia</span><span class="o">&gt;</span> <span class="k">struct</span> <span class="kt">Null</span> <span class="k">end</span>
58+
59+
<span class="n">julia</span><span class="o">&gt;</span> <span class="n">Base</span><span class="o">.</span><span class="n">copyto!</span><span class="p">(</span><span class="o">::</span><span class="kt">Null</span><span class="p">,</span> <span class="n">bc</span><span class="o">::</span><span class="kt">Broadcast</span><span class="o">.</span><span class="kt">Broadcasted</span><span class="p">{</span><span class="kt">Nothing</span><span class="p">})</span> <span class="o">=</span> <span class="p">(</span><span class="n">foreach</span><span class="p">(</span><span class="n">_</span> <span class="o">-&gt;</span> <span class="nb">nothing</span><span class="p">,</span> <span class="n">bc</span><span class="p">);</span> <span class="n">Null</span><span class="p">())</span>
60+
61+
<span class="n">julia</span><span class="o">&gt;</span> <span class="n">f</span><span class="p">(</span><span class="n">xs</span><span class="p">,</span> <span class="n">vs</span><span class="o">...</span><span class="p">)</span> <span class="o">=</span> <span class="n">push!</span><span class="p">(</span><span class="n">xs</span><span class="p">,</span> <span class="n">vs</span><span class="p">)</span>
62+
<span class="n">f</span> <span class="p">(</span><span class="n">generic</span> <span class="k">function</span> <span class="n">with</span> <span class="mi">1</span> <span class="n">method</span><span class="p">)</span>
63+
64+
<span class="n">julia</span><span class="o">&gt;</span> <span class="n">xs</span> <span class="o">=</span> <span class="p">[]</span>
65+
<span class="kt">Any</span><span class="p">[]</span>
66+
67+
<span class="n">julia</span><span class="o">&gt;</span> <span class="n">Null</span><span class="p">()</span> <span class="o">.=</span> <span class="n">f</span><span class="o">.</span><span class="p">(</span><span class="kt">Ref</span><span class="p">(</span><span class="n">xs</span><span class="p">),</span> <span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">],</span> <span class="mi">1</span><span class="p">)</span>
68+
<span class="n">ERROR</span><span class="o">:</span> <span class="kt">MethodError</span><span class="o">:</span> <span class="n">no</span> <span class="n">method</span> <span class="n">matching</span> <span class="n">ndims</span><span class="p">(</span><span class="o">::</span><span class="kt">Type</span><span class="p">{</span><span class="kt">Null</span><span class="p">})</span>
69+
<span class="o">...</span>
70+
</code></pre></div>
71+
72+
73+
74+
<a name="262359734"></a>
75+
<h4><a href="https://julialang.zulipchat.com#narrow/stream/274208-helpdesk%20%28published%29/topic/%22Broadcast%20foreach%22%3F/near/262359734" class="zl"><img src="https://juliacommunity.github.io/zulip-archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Michael Abbott <a href="https://juliacommunity.github.io/zulip-archive/stream/274208-helpdesk-.28published.29/topic/.22Broadcast.20foreach.22.3F.html#262359734">(Nov 22 2021 at 18:35)</a>:</h4>
76+
<p>I think you want to catch it earlier:</p>
77+
<div class="codehilite" data-code-language="Julia"><pre><span></span><code><span class="n">Broadcast</span><span class="o">.</span><span class="n">materialize!</span><span class="p">(</span><span class="n">dest</span><span class="o">::</span><span class="kt">Null</span><span class="p">,</span> <span class="n">bc</span><span class="o">::</span><span class="kt">Base</span><span class="o">.</span><span class="n">Broadcast</span><span class="o">.</span><span class="n">Broadcasted</span><span class="p">)</span> <span class="o">=</span> <span class="p">(</span><span class="n">foreach</span><span class="p">(</span><span class="n">_</span> <span class="o">-&gt;</span> <span class="nb">nothing</span><span class="p">,</span> <span class="n">bc</span><span class="p">);</span> <span class="n">Null</span><span class="p">())</span>
78+
</code></pre></div>
79+
80+
81+
82+
<a name="262360772"></a>
83+
<h4><a href="https://julialang.zulipchat.com#narrow/stream/274208-helpdesk%20%28published%29/topic/%22Broadcast%20foreach%22%3F/near/262360772" class="zl"><img src="https://juliacommunity.github.io/zulip-archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Michael Abbott <a href="https://juliacommunity.github.io/zulip-archive/stream/274208-helpdesk-.28published.29/topic/.22Broadcast.20foreach.22.3F.html#262360772">(Nov 22 2021 at 18:44)</a>:</h4>
84+
<p>It is not quite as efficient as ordinary broadcasting. IIRC there were some such issues with <code>sum(::Broadcasted)</code>:</p>
85+
<div class="codehilite" data-code-language="Julia"><pre><span></span><code><span class="n">julia</span><span class="o">&gt;</span> <span class="n">x</span> <span class="o">=</span> <span class="n">rand</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span> <span class="mi">100</span><span class="p">);</span> <span class="n">y</span> <span class="o">=</span> <span class="n">rand</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span> <span class="mi">100</span><span class="p">);</span>
86+
87+
<span class="n">julia</span><span class="o">&gt;</span> <span class="nd">@btime</span> <span class="n">sin</span><span class="o">.</span><span class="p">(</span><span class="o">$</span><span class="n">x</span> <span class="o">./</span> <span class="o">$</span><span class="n">y</span> <span class="o">.+</span> <span class="mi">1</span><span class="p">);</span>
88+
<span class="n">min</span> <span class="mf">77.958</span> <span class="n">μs</span><span class="p">,</span> <span class="n">mean</span> <span class="mf">86.330</span> <span class="n">μs</span> <span class="p">(</span><span class="mi">2</span> <span class="n">allocations</span><span class="p">,</span> <span class="mf">78.17</span> <span class="n">KiB</span><span class="o">.</span> <span class="n">GC</span> <span class="n">mean</span> <span class="mf">2.82</span><span class="o">%</span><span class="p">)</span>
89+
90+
<span class="n">julia</span><span class="o">&gt;</span> <span class="nd">@btime</span> <span class="nb">nothing</span> <span class="o">.=</span> <span class="n">sin</span><span class="o">.</span><span class="p">(</span><span class="o">$</span><span class="n">x</span> <span class="o">./</span> <span class="o">$</span><span class="n">y</span> <span class="o">.+</span> <span class="mi">1</span><span class="p">);</span>
91+
<span class="n">min</span> <span class="mf">150.667</span> <span class="n">μs</span><span class="p">,</span> <span class="n">mean</span> <span class="mf">154.272</span> <span class="n">μs</span> <span class="p">(</span><span class="mi">0</span> <span class="n">allocations</span><span class="p">)</span>
92+
</code></pre></div>
93+
94+
95+
96+
<a name="262499866"></a>
97+
<h4><a href="https://julialang.zulipchat.com#narrow/stream/274208-helpdesk%20%28published%29/topic/%22Broadcast%20foreach%22%3F/near/262499866" class="zl"><img src="https://juliacommunity.github.io/zulip-archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mason Protter <a href="https://juliacommunity.github.io/zulip-archive/stream/274208-helpdesk-.28published.29/topic/.22Broadcast.20foreach.22.3F.html#262499866">(Nov 23 2021 at 19:08)</a>:</h4>
98+
<p>Hm. I would have thought that <code>Broadcast.instantiate(bc)</code> would have fixed it but it didn't</p>
99+
100+
101+
102+
<hr><p>Last updated: Mar 06 2025 at 04:41 UTC</p>
103+
</html>

0 commit comments

Comments
 (0)