# Internals & Design

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

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

**Page:** 27

---

## [Tracing memory occupied by existing variables](https://discourse.julialang.org/t/tracing-memory-occupied-by-existing-variables/75680)

<div class="topic-metadata">

**Author:** [@Tomas\_Pevny](https://discourse.julialang.org/u/Tomas_Pevny)\
**Replies:** 8\
**Last updated:** [February 3, 2022, 9:02am UTC](https://discourse.julialang.org/t/tracing-memory-occupied-by-existing-variables/75680 "2022-02-03T09:02:03Z")

</div>

Hi All, We are searching for a cause, why our server eventually consumes all memory and crashes, a topic discussed here Poor performance of garbage collection in multi-threaded application We have tried to execute GC m…

---

## [Fix for win32 threads on high end systems](https://discourse.julialang.org/t/fix-for-win32-threads-on-high-end-systems/75687)

<div class="topic-metadata">

**Author:** [@Chris\_Green](https://discourse.julialang.org/u/Chris_Green)\
**Replies:** 0\
**Last updated:** [February 2, 2022, 9:39pm UTC](https://discourse.julialang.org/t/fix-for-win32-threads-on-high-end-systems/75687 "2022-02-02T21:39:25Z")

</div>

I submitted a patch to LibUV that will fix Julia threading only being able to use 1/2,1/4, or 1/8 of the CPUs on high end windows systems, no matter how many threads you create. Affected systems are any with \>64 HW threa…

---

## [Half precision](https://discourse.julialang.org/t/half-precision/75580)

<div class="topic-metadata">

**Author:** [@ctkelley](https://discourse.julialang.org/u/ctkelley)\
**Replies:** 2\
**Last updated:** [February 1, 2022, 4:15pm UTC](https://discourse.julialang.org/t/half-precision/75580 "2022-02-01T16:15:56Z")

</div>

Are there any plans to let people get to the hardware half precision formats (BFloat16 and Float16) in Apple silicon? I have a research interest in mixed precision solvers and would be very excited to stop doing half pre…

---

## [Method specificity with parametric type constructors](https://discourse.julialang.org/t/method-specificity-with-parametric-type-constructors/75385)

<div class="topic-metadata">

**Author:** [@danielmatz](https://discourse.julialang.org/u/danielmatz)\
**Replies:** 7\
**Last updated:** [January 28, 2022, 9:49pm UTC](https://discourse.julialang.org/t/method-specificity-with-parametric-type-constructors/75385 "2022-01-28T21:49:23Z")

</div>

I’ve encountered what appears to be an inconsistency with method specificity. However, since it’s considerably more likely that I’m just confused, I thought I’d ask here before creating an issue. My basic expectation is…

---

## [How to properly bisect Julia's git history in search of bugs?](https://discourse.julialang.org/t/how-to-properly-bisect-julias-git-history-in-search-of-bugs/75193)

<div class="topic-metadata">

**Author:** [@Krastanov](https://discourse.julialang.org/u/Krastanov)\
**Replies:** 3\
**Last updated:** [January 26, 2022, 4:06am UTC](https://discourse.julialang.org/t/how-to-properly-bisect-julias-git-history-in-search-of-bugs/75193 "2022-01-26T04:06:57Z")

</div>

I noticed that current nightly is slower to import packages than 1.7.1. Julia is easy enough to compile from scratch, so I tried to use git bisect to find when that happened. Naively I tried bisecting between v1.7.1 and m…

---

## [Details about allocation](https://discourse.julialang.org/t/details-about-allocation/74891)

<div class="topic-metadata">

**Author:** [@jzr](https://discourse.julialang.org/u/jzr)\
**Replies:** 4\
**Last updated:** [January 20, 2022, 3:02pm UTC](https://discourse.julialang.org/t/details-about-allocation/74891 "2022-01-20T15:02:09Z")

</div>

There is an informative post about how Julia’s garbage collection works. How does Julia 1.7’s memory allocation work?

---

## [Fastest way to get CodeInfo from a function call](https://discourse.julialang.org/t/fastest-way-to-get-codeinfo-from-a-function-call/74813)

<div class="topic-metadata">

**Author:** [@dfdx](https://discourse.julialang.org/u/dfdx)\
**Replies:** 2\
**Last updated:** [January 19, 2022, 10:30pm UTC](https://discourse.julialang.org/t/fastest-way-to-get-codeinfo-from-a-function-call/74813 "2022-01-19T22:30:33Z")

</div>

Given a function f and its arguments args, Is there a faster way to get corresponding CodeInfo than code\_lowered(f, map(typeof, args))? I don’t care about type inference and compiler optimizations - in fact, the closer t…

---

## [Weird Exception access violation - seems related to @warn](https://discourse.julialang.org/t/weird-exception-access-violation-seems-related-to-warn/74825)

<div class="topic-metadata">

**Author:** [@s-baumann](https://discourse.julialang.org/u/s-baumann)\
**Replies:** 0\
**Last updated:** [January 18, 2022, 6:54pm UTC](https://discourse.julialang.org/t/weird-exception-access-violation-seems-related-to-warn/74825 "2022-01-18T18:54:31Z")

</div>

I am getting the below error with the full error message below. I do not have an easy MWE to reproduce it. I get it for one particular day of data. I am using Version 1.7.1 (2021-12-22) It seems to throw at the warning …

---

## [Override the error message for avector\[0\]?](https://discourse.julialang.org/t/override-the-error-message-for-avector-0/74306)

<div class="topic-metadata">

**Author:** [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)\
**Replies:** 16\
**Last updated:** [January 18, 2022, 6:22pm UTC](https://discourse.julialang.org/t/override-the-error-message-for-avector-0/74306 "2022-01-18T18:22:03Z")

</div>

Proposal: override the error message for avector\[0\] with a message that specify explicitly that array indexing starts at 1 in Julia ?? I know: “If we do it for this, why not for …” but it is such a common error for peop…

---

## [Compilation Over Branches](https://discourse.julialang.org/t/compilation-over-branches/74776)

<div class="topic-metadata">

**Author:** [@bjack205](https://discourse.julialang.org/u/bjack205)\
**Replies:** 9\
**Last updated:** [January 18, 2022, 5:27am UTC](https://discourse.julialang.org/t/compilation-over-branches/74776 "2022-01-18T05:27:30Z")

</div>

I have a question on how the compiler internals work. Does the compiler compile all functions that could called in any branch of the code? For example, if I have a function like the following: using StaticArrays functi…

---

## [Including modules inside blocks vs non-top-level modules](https://discourse.julialang.org/t/including-modules-inside-blocks-vs-non-top-level-modules/74768)

<div class="topic-metadata">

**Author:** [@goerz](https://discourse.julialang.org/u/goerz)\
**Replies:** 4\
**Last updated:** [January 18, 2022, 12:57am UTC](https://discourse.julialang.org/t/including-modules-inside-blocks-vs-non-top-level-modules/74768 "2022-01-18T00:57:13Z")

</div>

Suppose I have a file test.jl mode = "include" if mode == "include" include("mod.jl") test.print\_hello() else mode == "direct" #module # println("HELLO DIRECT") #end end and mod.jl module test …

---

## [Interprocess sharable mutex](https://discourse.julialang.org/t/interprocess-sharable-mutex/74662)

<div class="topic-metadata">

**Author:** [@brandsblair2020](https://discourse.julialang.org/u/brandsblair2020)\
**Replies:** 0\
**Last updated:** [January 15, 2022, 11:39am UTC](https://discourse.julialang.org/t/interprocess-sharable-mutex/74662 "2022-01-15T11:39:12Z")

</div>

hello, I couldn’t find inter-process communication package in Julia. For example using mmap and shared lock, etc. I saw some package at https://github.com/emmt/InterProcessCommunication.jl but it is sort of discontinued…

---

## [Wrapping a Complicated, Multi-Threaded C/C++ Library](https://discourse.julialang.org/t/wrapping-a-complicated-multi-threaded-c-c-library/65401)

<div class="topic-metadata">

**Author:** [@colinxs](https://discourse.julialang.org/u/colinxs)\
**Replies:** 0\
**Last updated:** [July 27, 2021, 9:31pm UTC](https://discourse.julialang.org/t/wrapping-a-complicated-multi-threaded-c-c-library/65401 "2021-07-27T21:31:51Z")

</div>

I’m attempting to wrap a somewhat complicated C++ library using CxxWrap and am running into issues when it comes to blocking and multi-threaded C++ code. Here’s an abbreviated example of the problem: # Functions/objects…

---

## [What is grounded type in Julia?](https://discourse.julialang.org/t/what-is-grounded-type-in-julia/74579)

<div class="topic-metadata">

**Author:** [@KZiemian](https://discourse.julialang.org/u/KZiemian)\
**Replies:** 7\
**Last updated:** [January 14, 2022, 4:19pm UTC](https://discourse.julialang.org/t/what-is-grounded-type-in-julia/74579 "2022-01-14T16:19:56Z")

</div>

In prof. Jan Vitek JuliaCon 2021 keynote, he discussed type stability and grounded type (starting at 42:30). Short definitions given at this talk are as follow. Type is stable if we have clear relation between I/O types…

---

## [Is Jeff Bezanson's 2014 "Introduction to Julia Internals" relevant in 2021 onward?](https://discourse.julialang.org/t/is-jeff-bezansons-2014-introduction-to-julia-internals-relevant-in-2021-onward/73255)

<div class="topic-metadata">

**Author:** [@KZiemian](https://discourse.julialang.org/u/KZiemian)\
**Replies:** 3\
**Last updated:** [December 20, 2021, 11:20pm UTC](https://discourse.julialang.org/t/is-jeff-bezansons-2014-introduction-to-julia-internals-relevant-in-2021-onward/73255 "2021-12-20T23:20:49Z")

</div>

I’m kind of fan of Jeff Bezanson’s talks and recently I watched his talk from first JuliaCon 2014 titled Introduction to Julia Internals. I found there many information that were totally new to me about internal working …

---

## [Why no do-blocks for regex matching](https://discourse.julialang.org/t/why-no-do-blocks-for-regex-matching/74445)

<div class="topic-metadata">

**Author:** [@goerz](https://discourse.julialang.org/u/goerz)\
**Replies:** 8\
**Last updated:** [January 13, 2022, 8:25pm UTC](https://discourse.julialang.org/t/why-no-do-blocks-for-regex-matching/74445 "2022-01-13T20:25:02Z")

</div>

I’m just wondering why the standard library doesn’t include a method for match defined as function match(f::Function, r::Regex, args...) m = match(r, args...) if !isnothing(m) f(m) end end This allo…

---

## [Where to post a problem of Julia's actual PDF doc?](https://discourse.julialang.org/t/where-to-post-a-problem-of-julias-actual-pdf-doc/74476)

<div class="topic-metadata">

**Author:** [@Minumsand](https://discourse.julialang.org/u/Minumsand)\
**Replies:** 6\
**Last updated:** [January 13, 2022, 10:41am UTC](https://discourse.julialang.org/t/where-to-post-a-problem-of-julias-actual-pdf-doc/74476 "2022-01-13T10:41:49Z")

</div>

Hello all Just have been running over Julia’s actual PDF doc in Julia Documentation · The Julia Language . Where shall I post a problem seen within that doc? Or who shall be informed about it? Michael

---

## [Clear workspace à la Pluto](https://discourse.julialang.org/t/clear-workspace-a-la-pluto/74484)

<div class="topic-metadata">

**Author:** [@TheLateKronos](https://discourse.julialang.org/u/TheLateKronos)\
**Replies:** 1\
**Last updated:** [January 12, 2022, 2:35pm UTC](https://discourse.julialang.org/t/clear-workspace-a-la-pluto/74484 "2022-01-12T14:35:05Z")

</div>

A feature that I miss in Julia is the ability to clear my workspace. It is nice to be able to make sure that there is no global ghost-variable somewhere in your code, leading to it breaking if you restart your session. I…

---

## [Use "memcpy" instead of "memmove" to copy Array when there's no overlap?](https://discourse.julialang.org/t/use-memcpy-instead-of-memmove-to-copy-array-when-theres-no-overlap/64042)

<div class="topic-metadata">

**Author:** [@N5N3](https://discourse.julialang.org/u/N5N3)\
**Replies:** 7\
**Last updated:** [January 9, 2022, 9:18am UTC](https://discourse.julialang.org/t/use-memcpy-instead-of-memmove-to-copy-array-when-theres-no-overlap/64042 "2022-01-09T09:18:21Z")

</div>

At present, Julia always use C’s “memmove” to copy data from a Array to another Array when they have the same bitstype or bitsuniontype. On my desktop “memcpy” seems faster than “memmove”. Here’s some benchmark code: m…

---

## [Julia 1.8 feature freeze: February 15, 2022](https://discourse.julialang.org/t/julia-1-8-feature-freeze-february-15-2022/74059)

<div class="topic-metadata">

**Author:** [@dilumaluthge](https://discourse.julialang.org/u/dilumaluthge)\
**Replies:** 0\
**Last updated:** [January 4, 2022, 8:56pm UTC](https://discourse.julialang.org/t/julia-1-8-feature-freeze-february-15-2022/74059 "2022-01-04T20:56:50Z")

</div>

We’ve set the feature freeze date for Julia 1.8 to Tuesday, February 15, 2022. If there are any feature PRs you’d like to get into Julia 1.8, they’ll need to be in prior to that date.

---

## [Help with introspection on types](https://discourse.julialang.org/t/help-with-introspection-on-types/73899)

<div class="topic-metadata">

**Author:** [@Stephen\_Vavasis](https://discourse.julialang.org/u/Stephen_Vavasis)\
**Replies:** 2\
**Last updated:** [January 2, 2022, 3:26pm UTC](https://discourse.julialang.org/t/help-with-introspection-on-types/73899 "2022-01-02T15:26:03Z")

</div>

This question arises from my attempt to write new constructors for DataStructures.jl. Please see the trace below (1.7.1), which raises the following questions: Is there any difference between \<type\>.parameters and \<t…

---

## [What is \`Callable\`](https://discourse.julialang.org/t/what-is-callable/73884)

<div class="topic-metadata">

**Author:** [@Stephen\_Vavasis](https://discourse.julialang.org/u/Stephen_Vavasis)\
**Replies:** 1\
**Last updated:** [January 1, 2022, 12:41am UTC](https://discourse.julialang.org/t/what-is-callable/73884 "2022-01-01T00:41:34Z")

</div>

The function get in dict.jl has the following signature: function get(default::Callable, h::Dict{K,V}, key) where V where K I am wondering: what does Callable mean? Perhaps Union{Function,Type}? Also, does it special…

---

## [When should a package move to the standard library or system image? StaticArrays, what is it?](https://discourse.julialang.org/t/when-should-a-package-move-to-the-standard-library-or-system-image-staticarrays-what-is-it/73577)

<div class="topic-metadata">

**Author:** [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Replies:** 37\
**Last updated:** [December 31, 2021, 8:28pm UTC](https://discourse.julialang.org/t/when-should-a-package-move-to-the-standard-library-or-system-image-staticarrays-what-is-it/73577 "2021-12-31T20:28:04Z")

</div>

I know I know about things moving out of Julia to packages, within reason. I am one of the people who heavily advocated for that back when Julia was batteries included. But let’s ground the discussion with some specifics…

---

## [Issues with Regex support in Julia (threading, handling of abstract strings)](https://discourse.julialang.org/t/issues-with-regex-support-in-julia-threading-handling-of-abstract-strings/10541)

<div class="topic-metadata">

**Author:** [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Replies:** 0\
**Last updated:** [April 25, 2018, 5:08pm UTC](https://discourse.julialang.org/t/issues-with-regex-support-in-julia-threading-handling-of-abstract-strings/10541 "2018-04-25T17:08:47Z")

</div>

The current regex support in Julia is not thread safe, for a few reasons. The first reason is that the underlying pcre.jl code creates a single MATCH\_CONTEXT and a single JIT\_STACK. As per PCRE2 documentation, those ne…

---

## [Improving Channel throughput: batching](https://discourse.julialang.org/t/improving-channel-throughput-batching/73569)

<div class="topic-metadata">

**Author:** [@tbenst](https://discourse.julialang.org/u/tbenst)\
**Replies:** 3\
**Last updated:** [December 24, 2021, 4:14am UTC](https://discourse.julialang.org/t/improving-channel-throughput-batching/73569 "2021-12-24T04:14:38Z")

</div>

I’ve noticed when using Channel that my code spends a lot of time doing lock / unlock. To improve this, I implemented take!, put! (varargs), and puts!(vector) that allow for taking or putting multiple items at once. This…

---

## [How to know the libuv version used by julia?](https://discourse.julialang.org/t/how-to-know-the-libuv-version-used-by-julia/72696)

<div class="topic-metadata">

**Author:** [@o314](https://discourse.julialang.org/u/o314)\
**Replies:** 9\
**Last updated:** [December 21, 2021, 11:05pm UTC](https://discourse.julialang.org/t/how-to-know-the-libuv-version-used-by-julia/72696 "2021-12-21T23:05:51Z")

</div>

I need to know the libuv version used by julia, since some functions i need to ccall are available only after v1.34. What is the recommanded way to do it ? I wonder if Julia uses its own version of libuv for now ? I hav…

---

## [Can Julia JIT compiler "learn" something?](https://discourse.julialang.org/t/can-julia-jit-compiler-learn-something/73438)

<div class="topic-metadata">

**Author:** [@KZiemian](https://discourse.julialang.org/u/KZiemian)\
**Replies:** 0\
**Last updated:** [December 21, 2021, 2:10pm UTC](https://discourse.julialang.org/t/can-julia-jit-compiler-learn-something/73438 "2021-12-21T14:10:51Z")

</div>

During his fascinating keynote about formalizing Julia type system, prof. Jan Vitek said that you can think about JIT compilers as machine learning programs (at 45:51). The main problem is that JIT compilers have now lon…

---

## [What Jeff Bezanson thinks is bad about Julia in 2021?](https://discourse.julialang.org/t/what-jeff-bezanson-thinks-is-bad-about-julia-in-2021/71581)

<div class="topic-metadata">

**Author:** [@KZiemian](https://discourse.julialang.org/u/KZiemian)\
**Replies:** 12\
**Last updated:** [December 21, 2021, 5:50pm UTC](https://discourse.julialang.org/t/what-jeff-bezanson-thinks-is-bad-about-julia-in-2021/71581 "2021-12-21T17:50:41Z")

</div>

Jeff Bezanson’s talk What’s Bad About Julia from JuliaCon 2019 is one of my favorite Julia talks every and the most funny, period. Is there any chance that we see something like updated version of this talk in any shape …

---

## [Constant propagation depth](https://discourse.julialang.org/t/constant-propagation-depth/73012)

<div class="topic-metadata">

**Author:** [@Marco\_Lombardi](https://discourse.julialang.org/u/Marco_Lombardi)\
**Replies:** 6\
**Last updated:** [December 21, 2021, 3:15am UTC](https://discourse.julialang.org/t/constant-propagation-depth/73012 "2021-12-21T03:15:35Z")

</div>

Is there a limit in the depth of a tree for constant propagation? I have seen that rather long expressions involving only constants are not completely replaced by their result: julia\> c() = log(log(log(log(2\*π) + 2) + π…

---

## [Advantages of explicitly using "map" or "broadcast" wrappers?](https://discourse.julialang.org/t/advantages-of-explicitly-using-map-or-broadcast-wrappers/73371)

<div class="topic-metadata">

**Author:** [@leon](https://discourse.julialang.org/u/leon)\
**Replies:** 5\
**Last updated:** [December 20, 2021, 9:57pm UTC](https://discourse.julialang.org/t/advantages-of-explicitly-using-map-or-broadcast-wrappers/73371 "2021-12-20T21:57:29Z")

</div>

For example, if I have four vectors A, B, C, and D, and my goal is to find the index of the rows with A\>-10, B\>15, C\>500 and D\>200. In Matlab I can achieve that by doing the below: Index1 = A\>-10 && B\>15 && C\>500 && D\>2…

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

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