# Internals & Design

**URL:** https://discourse.julialang.org/c/dev/5.md?page=39

[Latest](https://discourse.julialang.org/latest.md) · [Categories](https://discourse.julialang.org/categories.md) · [Tags](https://discourse.julialang.org/tags.md)

**Page:** 40

---

## [Multithreaded GC?](https://discourse.julialang.org/t/multithreaded-gc/41541)

<div class="topic-metadata">

**Author:** [@dlakelan](https://discourse.julialang.org/u/dlakelan)\
**Replies:** 18\
**Last updated:** [June 16, 2020, 11:39pm UTC](https://discourse.julialang.org/t/multithreaded-gc/41541 "2020-06-16T23:39:14Z")

</div>

I’ve seen several threads on garbage collection and its impact on low-latency / soft realtime usage. I was thinking about some raspberry pi type projects (I need to come up with things to do with my kids during COVID) an…

---

## [On iterators](https://discourse.julialang.org/t/on-iterators/41315)

<div class="topic-metadata">

**Author:** [@binarygcd](https://discourse.julialang.org/u/binarygcd)\
**Replies:** 2\
**Last updated:** [June 13, 2020, 9:19am UTC](https://discourse.julialang.org/t/on-iterators/41315 "2020-06-13T09:19:51Z")

</div>

Is there a plan for a shorter alternative to ‘Iterators.filter’ and the like? The ‘Iterators’ word takes quite a number of columns, especially if used multiple times. Why is it not allowed to use ‘takewhile’, ‘dropwhile…

---

## [Proposal for Tchotchke.jl – everything but the kitchen sink](https://discourse.julialang.org/t/proposal-for-tchotchke-jl-everything-but-the-kitchen-sink/13749)

<div class="topic-metadata">

**Author:** [@djsegal](https://discourse.julialang.org/u/djsegal)\
**Replies:** 3\
**Last updated:** [June 10, 2020, 4:32pm UTC](https://discourse.julialang.org/t/proposal-for-tchotchke-jl-everything-but-the-kitchen-sink/13749 "2020-06-10T16:32:55Z")

</div>

It’s nice that the Julia core library is small and efficient. But sometimes I just want to clutter up my workspace with a bunch of random functions. Related to, Can we put together a list of utility functions that pro…

---

## [Puzzling behaviour when assigning to variables which are function names](https://discourse.julialang.org/t/puzzling-behaviour-when-assigning-to-variables-which-are-function-names/41053)

<div class="topic-metadata">

**Author:** [@sgaure](https://discourse.julialang.org/u/sgaure)\
**Replies:** 4\
**Last updated:** [June 9, 2020, 11:51am UTC](https://discourse.julialang.org/t/puzzling-behaviour-when-assigning-to-variables-which-are-function-names/41053 "2020-06-09T11:51:45Z")

</div>

Coming from R I am a bit puzzled by how namespaces are handled in Julia. julia\> cos(3) -0.9899924966004454 julia\> sin = 0 0 julia\> cos = 0 ERROR: cannot assign a value to variable Base.cos from module Main Stacktrace: \[…

---

## [Backtrace in Tasks](https://discourse.julialang.org/t/backtrace-in-tasks/40713)

<div class="topic-metadata">

**Author:** [@Impressium](https://discourse.julialang.org/u/Impressium)\
**Replies:** 7\
**Last updated:** [June 5, 2020, 9:37am UTC](https://discourse.julialang.org/t/backtrace-in-tasks/40713 "2020-06-05T09:37:52Z")

</div>

At work I have to program concurrently. I really love programming in Julia but one thing that annoys me are the backtrace in tasks. t = @async begin for i in 1:10 end error() end t |\> dump julia\> Task…

---

## [Changing precedence of the piping operator](https://discourse.julialang.org/t/changing-precedence-of-the-piping-operator/40730)

<div class="topic-metadata">

**Author:** [@jonniedie](https://discourse.julialang.org/u/jonniedie)\
**Replies:** 4\
**Last updated:** [June 4, 2020, 3:00pm UTC](https://discourse.julialang.org/t/changing-precedence-of-the-piping-operator/40730 "2020-06-04T15:00:44Z")

</div>

In most uses of functional-style piping I’ve seen in Julia, it seems that a lot of people don’t realize that |\> has precedence over -\>. So data |\> x -\> f(x) |\> g parses to data |\> x -\> g(f(x)) rather than …

---

## [Refactoring Clang - could this benefit Julia?](https://discourse.julialang.org/t/refactoring-clang-could-this-benefit-julia/40621)

<div class="topic-metadata">

**Author:** [@awarzynski](https://discourse.julialang.org/u/awarzynski)\
**Replies:** 2\
**Last updated:** [June 3, 2020, 2:00pm UTC](https://discourse.julialang.org/t/refactoring-clang-could-this-benefit-julia/40621 "2020-06-03T14:00:02Z")

</div>

I’m new to this community so first of all, Hi everyone! I am a member of the Fortran Team at Arm and would like to draw your attention to the RFC that our team has sent today to llvm-dev/cfe-dev/flang-dev: \[llvm-dev\] \[R…

---

## [Idea: scope- (rather than type-) centric composable optimizations](https://discourse.julialang.org/t/idea-scope-rather-than-type-centric-composable-optimizations/40118)

<div class="topic-metadata">

**Author:** [@hessammehr](https://discourse.julialang.org/u/hessammehr)\
**Replies:** 2\
**Last updated:** [May 26, 2020, 2:35am UTC](https://discourse.julialang.org/t/idea-scope-rather-than-type-centric-composable-optimizations/40118 "2020-05-26T02:35:54Z")

</div>

I was inspired by this paper and the following observations to sketch out a model of compositional optimizations that I thought I would share with the community. Simple interpretation can be faster than Julia’s per-fun…

---

## [Optimizing the blockdiag function for SparseArrays](https://discourse.julialang.org/t/optimizing-the-blockdiag-function-for-sparsearrays/40069)

<div class="topic-metadata">

**Author:** [@irhum](https://discourse.julialang.org/u/irhum)\
**Replies:** 1\
**Last updated:** [May 24, 2020, 1:16pm UTC](https://discourse.julialang.org/t/optimizing-the-blockdiag-function-for-sparsearrays/40069 "2020-05-24T13:16:05Z")

</div>

I was looking into the blockdiag function in SparseArrays (which concatenates sparse matrices on the diagonal), only to see it is rather unusually slow when the number of matrices are large, for instance, using M = \[spr…

---

## [Could packages be partially pre-compiled, if they follow certain constraints?](https://discourse.julialang.org/t/could-packages-be-partially-pre-compiled-if-they-follow-certain-constraints/39988)

<div class="topic-metadata">

**Author:** [@jules](https://discourse.julialang.org/u/jules)\
**Replies:** 3\
**Last updated:** [May 23, 2020, 1:45pm UTC](https://discourse.julialang.org/t/could-packages-be-partially-pre-compiled-if-they-follow-certain-constraints/39988 "2020-05-23T13:45:49Z")

</div>

I’m working on Makie.jl / MakieLayout.jl so I think a lot about compilation latency. I found the recent discussions about method invalidations quite interesting, as they point to an avenue for package developers to reduc…

---

## [Optional variable declarations](https://discourse.julialang.org/t/optional-variable-declarations/39951)

<div class="topic-metadata">

**Author:** [@Mikhail\_Kagalenko](https://discourse.julialang.org/u/Mikhail_Kagalenko)\
**Replies:** 41\
**Last updated:** [May 22, 2020, 6:23pm UTC](https://discourse.julialang.org/t/optional-variable-declarations/39951 "2020-05-22T18:23:20Z")

</div>

There’s a discussion on Reddit that has some interesting ideas. It prompted me to ask, whether it might be possible to add the possibility of declaring a variable before use. This might give the following advantages: M…

---

## [Snap Package for Linux distribution](https://discourse.julialang.org/t/snap-package-for-linux-distribution/2583)

<div class="topic-metadata">

**Author:** [@TheLoneCodeman](https://discourse.julialang.org/u/TheLoneCodeman)\
**Replies:** 23\
**Last updated:** [May 21, 2020, 5:16pm UTC](https://discourse.julialang.org/t/snap-package-for-linux-distribution/2583 "2020-05-21T17:16:48Z")

</div>

Hi, so I have been using Julia for about 7-8 months now, and I have noticed that while there is a package for CentOS/RedHat/Fedora, I noticed that there is no longer an official julia apt package. Now, Ubuntu’s maker, C…

---

## [Julia - Method Error](https://discourse.julialang.org/t/julia-method-error/39804)

<div class="topic-metadata">

**Author:** [@Dishant-P](https://discourse.julialang.org/u/Dishant-P)\
**Replies:** 2\
**Last updated:** [May 20, 2020, 10:08am UTC](https://discourse.julialang.org/t/julia-method-error/39804 "2020-05-20T10:08:14Z")

</div>

Even though I defined the method, the method is still not recognised. Following are the two functions defined. @resumable function iterate\_regions(self::Conv13, image) h, w = size(image) for i in 1:h-1 …

---

## [Include git-tree-sha1 and giturl for registries in Manifest.toml?](https://discourse.julialang.org/t/include-git-tree-sha1-and-giturl-for-registries-in-manifest-toml/39696)

<div class="topic-metadata">

**Author:** [@schlichtanders](https://discourse.julialang.org/u/schlichtanders)\
**Replies:** 1\
**Last updated:** [May 19, 2020, 8:27am UTC](https://discourse.julialang.org/t/include-git-tree-sha1-and-giturl-for-registries-in-manifest-toml/39696 "2020-05-19T08:27:38Z")

</div>

just stumbled upon creating an old example from a Manifest file. It does not instantiate… because packages are no longer available from the registry (for my case it is DiffBase, but that does not matter). It seems apt …

---

## [What's the best way to optimize findmax with a function?](https://discourse.julialang.org/t/whats-the-best-way-to-optimize-findmax-with-a-function/39606)

<div class="topic-metadata">

**Author:** [@bobcassels](https://discourse.julialang.org/u/bobcassels)\
**Replies:** 8\
**Last updated:** [May 17, 2020, 2:04am UTC](https://discourse.julialang.org/t/whats-the-best-way-to-optimize-findmax-with-a-function/39606 "2020-05-17T02:04:12Z")

</div>

maxlength(l) = findmax(map(length, l)) When I look at the compiled code, I see a reference to collect\_similar, so it is materializing the map result. I don’t want that inefficiency. I know I can write the equivalent us…

---

## [Should Julia be able to (really) kill a worker?](https://discourse.julialang.org/t/should-julia-be-able-to-really-kill-a-worker/39564)

<div class="topic-metadata">

**Author:** [@Henrique\_Becker](https://discourse.julialang.org/u/Henrique_Becker)\
**Replies:** 0\
**Last updated:** [May 16, 2020, 1:05am UTC](https://discourse.julialang.org/t/should-julia-be-able-to-really-kill-a-worker/39564 "2020-05-16T01:05:07Z")

</div>

There is a Base.kill method that kills a Process. Distributed has a rmprocs method that tries to kill a worker but fails in many situations. A rmprocs call is not able to kill the worker if it is running a Julia code th…

---

## [Doc linking in NEWS](https://discourse.julialang.org/t/doc-linking-in-news/39520)

<div class="topic-metadata">

**Author:** [@jne](https://discourse.julialang.org/u/jne)\
**Replies:** 4\
**Last updated:** [May 15, 2020, 3:39pm UTC](https://discourse.julialang.org/t/doc-linking-in-news/39520 "2020-05-15T15:39:57Z")

</div>

Hmm, question… When a PR adds to NEWS.md, why is it not practice for the author to link not only the github PR/Issue but also documentation entries? For example in the 1.5 Release Notes, in The @timed macro now return…

---

## [Proposal for deterministic memory management](https://discourse.julialang.org/t/proposal-for-deterministic-memory-management/39305)

<div class="topic-metadata">

**Author:** [@Amin\_Yahyaabadi](https://discourse.julialang.org/u/Amin_Yahyaabadi)\
**Replies:** 53\
**Last updated:** [May 12, 2020, 9:29pm UTC](https://discourse.julialang.org/t/proposal-for-deterministic-memory-management/39305 "2020-05-12T21:29:01Z")

</div>

I gave a proposal for deterministic memory management here: https://github.com/JuliaLang/julia/issues/7721#issuecomment-626123507

---

## [Let julia return default Int32 or Float32-type data?](https://discourse.julialang.org/t/let-julia-return-default-int32-or-float32-type-data/39331)

<div class="topic-metadata">

**Author:** [@bigdataman2015](https://discourse.julialang.org/u/bigdataman2015)\
**Replies:** 1\
**Last updated:** [May 12, 2020, 9:18am UTC](https://discourse.julialang.org/t/let-julia-return-default-int32-or-float32-type-data/39331 "2020-05-12T09:18:27Z")

</div>

x = \[1, 2, 3\]; typeof(x) always return Vector{Int64}; y = 1.0; typeof(y) always return Float64; myfunc(my\_param) always return Int64 or Float64; … … is it possible to make a global setting to make sure every evaluati…

---

## [Adding null-coalescing operator](https://discourse.julialang.org/t/adding-null-coalescing-operator/39318)

<div class="topic-metadata">

**Author:** [@zachmatson](https://discourse.julialang.org/u/zachmatson)\
**Replies:** 2\
**Last updated:** [May 12, 2020, 3:01am UTC](https://discourse.julialang.org/t/adding-null-coalescing-operator/39318 "2020-05-12T03:01:26Z")

</div>

C# has the “null-coalescing operator” ?? which equates to: # Existing syntax a = !isnothing(b) ? b : c # Equivalent if ?? introduced a = b ?? c I don’t think this is an especially important or foundational operator, bu…

---

## [Assembler length vs speed (backslash- and inverse-operator)](https://discourse.julialang.org/t/assembler-length-vs-speed-backslash-and-inverse-operator/39149)

<div class="topic-metadata">

**Author:** [@EuklidAlexandria](https://discourse.julialang.org/u/EuklidAlexandria)\
**Replies:** 2\
**Last updated:** [May 9, 2020, 12:42am UTC](https://discourse.julialang.org/t/assembler-length-vs-speed-backslash-and-inverse-operator/39149 "2020-05-09T00:42:33Z")

</div>

I have noticed that Julia produces much shorter assembly for the \\-operator in contrast to inv(A). Here are the two functions: foo(A,b) = inv(A) \* b bar(A,b) = A\\b As expected, for A=\[1.0 2.0 4.4; 4.0 3.3 53.5; 34.0 3…

---

## [Parse pipe operator \`!\>\` for side effect calls](https://discourse.julialang.org/t/parse-pipe-operator-for-side-effect-calls/38857)

<div class="topic-metadata">

**Author:** [@Roger-luo](https://discourse.julialang.org/u/Roger-luo)\
**Replies:** 19\
**Last updated:** [May 7, 2020, 1:06am UTC](https://discourse.julialang.org/t/parse-pipe-operator-for-side-effect-calls/38857 "2020-05-07T01:06:16Z")

</div>

I’m hoping the parser could parse !\> as an operator similar to the pipe operator, but it will not be defined in Base by default instead it can be used by package developers if they want to show some of their callable obj…

---

## [Creating a new value using \`jl\_new\_struct\_uninit\`](https://discourse.julialang.org/t/creating-a-new-value-using-jl-new-struct-uninit/37825)

<div class="topic-metadata">

**Author:** [@barche](https://discourse.julialang.org/u/barche)\
**Replies:** 14\
**Last updated:** [May 4, 2020, 1:16pm UTC](https://discourse.julialang.org/t/creating-a-new-value-using-jl-new-struct-uninit/37825 "2020-05-04T13:16:26Z")

</div>

In CxxWrap, C++ objects are wrapped in a struct like this: struct CxxPtr{T} \<: CxxBaseRef{T} cpp\_object::Ptr{T} end Completely new objects are stored in a mutable version of the above struct, with exactly the same la…

---

## [Pkg.GitTools.clone have been changed, and what is the ctx?](https://discourse.julialang.org/t/pkg-gittools-clone-have-been-changed-and-what-is-the-ctx/38651)

<div class="topic-metadata">

**Author:** [@Alireza\_Ghavaminia](https://discourse.julialang.org/u/Alireza_Ghavaminia)\
**Replies:** 2\
**Last updated:** [May 3, 2020, 8:25am UTC](https://discourse.julialang.org/t/pkg-gittools-clone-have-been-changed-and-what-is-the-ctx/38651 "2020-05-03T08:25:24Z")

</div>

Hello, I have found that the Pkg.GitTools.clone command has been changed without noticing it’s change in the release notes. Although I don’t know this was intentional or not. Anyways, I reported it because This change b…

---

## [Unreachable reached at 0x13929e935](https://discourse.julialang.org/t/unreachable-reached-at-0x13929e935/38528)

<div class="topic-metadata">

**Author:** [@schlichtanders](https://discourse.julialang.org/u/schlichtanders)\
**Replies:** 6\
**Last updated:** [May 2, 2020, 3:37pm UTC](https://discourse.julialang.org/t/unreachable-reached-at-0x13929e935/38528 "2020-05-02T15:37:57Z")

</div>

just run into this when developing my package Traits.jl further, maybe someone recognizes this (it is quite difficult to get a minimal working example, but of course I will try as this blocks me currently) (running the…

---

## [How to reduce the large number of files in ~/.julia?](https://discourse.julialang.org/t/how-to-reduce-the-large-number-of-files-in-julia/38087)

<div class="topic-metadata">

**Author:** [@met-j](https://discourse.julialang.org/u/met-j)\
**Replies:** 21\
**Last updated:** [May 2, 2020, 3:02pm UTC](https://discourse.julialang.org/t/how-to-reduce-the-large-number-of-files-in-julia/38087 "2020-05-02T15:02:51Z")

</div>

I am working on a shared cluster. The home directory of every user is limited not only in total size but also in the number of files. I build julia from source on a different drive. To be specific: I am running julia …

---

## [Julia 1.5 feature freeze: May 4th](https://discourse.julialang.org/t/julia-1-5-feature-freeze-may-4th/38469)

<div class="topic-metadata">

**Author:** [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)\
**Replies:** 0\
**Last updated:** [April 30, 2020, 7:41am UTC](https://discourse.julialang.org/t/julia-1-5-feature-freeze-may-4th/38469 "2020-04-30T07:41:20Z")

</div>

Heads up: this is to let people know that if they have any PRs that they really want to get into Julia 1.5, the feature freeze for the 1.5 release will be on Monday, May 4th (be with you). If you have open PRs or other t…

---

## [Bug in \`sizeof\` for nested arrays](https://discourse.julialang.org/t/bug-in-sizeof-for-nested-arrays/38420)

<div class="topic-metadata">

**Author:** [@dataSurfer](https://discourse.julialang.org/u/dataSurfer)\
**Replies:** 18\
**Last updated:** [April 29, 2020, 5:56pm UTC](https://discourse.julialang.org/t/bug-in-sizeof-for-nested-arrays/38420 "2020-04-29T17:56:29Z")

</div>

Just checking before I raise an issue in Julia repo, this is a bug right? sizeof(\[\[rand(Float64) for j in 1:10\] for i in 1:10\]) # 80 sizeof(\[\[rand(Float32) for j in 1:10\] for i in 1:10\]) # 80 sizeof(rand(Float64, (10,…

---

## [@test return is not what the docs say it is](https://discourse.julialang.org/t/test-return-is-not-what-the-docs-say-it-is/38396)

<div class="topic-metadata">

**Author:** [@dsweber2](https://discourse.julialang.org/u/dsweber2)\
**Replies:** 4\
**Last updated:** [April 29, 2020, 12:02pm UTC](https://discourse.julialang.org/t/test-return-is-not-what-the-docs-say-it-is/38396 "2020-04-29T12:02:59Z")

</div>

The documentation for @test suggests that if the expression returns either true of false, you should get back either Test.Pass or Test.Fail. However, running simply foo = @test false in the repl causes and error (so foo …

---

## [Speeding up julia on aarch64](https://discourse.julialang.org/t/speeding-up-julia-on-aarch64/38209)

<div class="topic-metadata">

**Author:** [@ianshmean](https://discourse.julialang.org/u/ianshmean)\
**Replies:** 15\
**Last updated:** [April 29, 2020, 4:23am UTC](https://discourse.julialang.org/t/speeding-up-julia-on-aarch64/38209 "2020-04-29T04:23:46Z")

</div>

I’m looking to speed up julia on aarch64, and thought I’d write up attempts so far to see if anyone had any tips? Thanks @staticfloat for the pointers already It seems that julia loading runs slower than it should on a…

[Previous page](https://discourse.julialang.org/c/dev/5.md?page=38)

[Next page](https://discourse.julialang.org/c/dev/5.md?page=40)
