# Partial Specialization of Code

**URL:** <https://discourse.julialang.org/t/partial-specialization-of-code/2045>\
**Category:** General Usage\
**Created:** [February 11, 2017, 11:24pm UTC](https://discourse.julialang.org/t/partial-specialization-of-code/2045 "2017-02-11T23:24:28Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![JaredCrean2](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jaredcrean2/32/3574_2.png) [@JaredCrean2](https://discourse.julialang.org/u/JaredCrean2)\
**Post date:** [February 11, 2017, 11:24pm UTC](https://discourse.julialang.org/t/partial-specialization-of-code/2045/1 "2017-02-11T23:24:28Z")

</div>

Does julia optimize code where the types of some variables are known approximately but not exactly? For example, this [issue](https://github.com/JuliaLang/julia/pull/20343) makes the return type of `slicedim` either an n or n+1 dimensional array. Are there performance benefits?

Jared Crean

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [February 12, 2017, 7:58am UTC](https://discourse.julialang.org/t/partial-specialization-of-code/2045/2 "2017-02-12T07:58:00Z")

</div>

There are fast paths for unions with less than a certain number of types in them.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [February 12, 2017, 8:07am UTC](https://discourse.julialang.org/t/partial-specialization-of-code/2045/3 "2017-02-12T08:07:34Z")

</div>

> [@kristoffer.carlsson](#):
>
> There are fast paths for unions with less than a certain number of types in them.

Where is this documented? I read stuff in the past that this could be done, but I wasn’t aware it was implemented.

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [February 12, 2017, 4:50pm UTC](https://discourse.julialang.org/t/partial-specialization-of-code/2045/4 "2017-02-12T16:50:59Z")

</div>

[https://github.com/JuliaLang/julia/pull/17212](https://github.com/JuliaLang/julia/pull/17212)
