Try doing anything with `Real` or other abstract types, for example.
Julia lets you write type-unstable code by default and relies on user expertise to not write type-unstable code. When you're practiced, you can avoid this. When I was evaluating it (admittedly a while ago), I ran into cases both where I messed this up, and where I was using a library which had messed it up.
With Rust, you pretty much have to ask for the slower version of anything.
Example in the wild: https://discourse.julialang.org/t/speed-of-multiple-dispatch/106717
Also, Julia uses garbage collection, so if you use it as if it were Java, you're going to get a bazillion little objects like Java, and you'll have worse-than-Java GC performance (because Julia has a simple GC that works well in the I'm-not-going-crazy-with-allocations-like-Java case).
Now, the good thing is that you can typically alter your own Julia code to be more type-stable and have fewer allocations.
But libraries have various weird holes in performance for general programming. For instance, as of under a year ago, Julia didn't appear to have any competitive JSON serialization library: https://discourse.julialang.org/t/julia-can-be-better-at-doing-web-a-benchmark/103300
As a new language to pick up, use not in its sweet spot, and get great performance out of, Julia wouldn't be my first pick.
To use for numerics and data crunching, yeah, it should be at the top of the list.