# Core.tuple() warntype

**URL:** <https://discourse.julialang.org/t/core-tuple-warntype/33375>\
**Category:** Performance\
**Created:** [January 15, 2020, 2:15am UTC](https://discourse.julialang.org/t/core-tuple-warntype/33375 "2020-01-15T02:15:16Z")\
**Posts on this page:** 3\
**Page:** 2

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [January 17, 2020, 6:50am UTC](https://discourse.julialang.org/t/core-tuple-warntype/33375/21 "2020-01-17T06:50:30Z")

</div>

Just search for dicussions with examples, eg

> [@When should we use \`@nospecialize\`?](https://discourse.julialang.org/t/when-should-we-use-nospecialize/10392):
>
> The manual is sketchy about the use of @nospecialize (maybe it is still WIP?). I gather it is a necessary optimisation to avoid overburdening the dispatch tables. Is the end user advised to use this macro in some specific circumstance or coding pattern?

> [@Very large compilation time (and space)](https://discourse.julialang.org/t/very-large-compilation-time-and-space/28342/):
>
> In a previous post, I mentioned a small interpreter that I wrote both in direct style and in continuation-passing style. In the first case, Julia very quickly compiles the interpreter methods as they are being used. In the second case, however, this process takes inordinate amounts of time even for trivial inputs and, for simple but non-trivial inputs, it does not even finish because it exhausts the memory (32 GB). Given the size of the interpreter, it was not practical to show it here so I tri…

---

<div class="post-metadata">

**Author:** ![tomtom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tomtom/32/5106_2.png) [@tomtom](https://discourse.julialang.org/u/tomtom)\
**Post date:** [January 17, 2020, 4:32pm UTC](https://discourse.julialang.org/t/core-tuple-warntype/33375/22 "2020-01-17T16:32:09Z")

</div>

> [@Per](#):
>
> You risk filling up your code cache

what will happen **once** the code cached got filled up?  
would it crash Julia?  
Or, the cache would be reset? If it’s the case, the worst thing we get is (the time used in the) re-compilation of generated functions.

---

<div class="post-metadata">

**Author:** ![Per](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/per/32/10387_2.png) [@Per](https://discourse.julialang.org/u/Per)\
**Post date:** [January 17, 2020, 7:33pm UTC](https://discourse.julialang.org/t/core-tuple-warntype/33375/23 "2020-01-17T19:33:29Z")

</div>

Sorry, I wasn’t very clear. What I meant by “code cache” was the L1 instruction cache of the CPU. This might be something like 32 kilobytes, so if you code-generate a length-1000 tuple, and each element results in 32 bytes of code, then each time the function runs, all other functions will be pushed out of the cache.

Nothing will crash, all that will happen is that the next few function calls will take a few extra nanoseconds as instructions are fetched from the next level cache. The net effect is that your program runs slower even though `@btime` says that your function is faster.

[Previous page](https://discourse.julialang.org/t/core-tuple-warntype/33375.md?page=1)
