Julia is a general-purpose, managed, strongly and dynamically-typed programming language with emphasis on high performance scientific computing. Traditionally, HPC software development uses languages such as C, C++ and Fortran, which compile to unmanaged code. This offers the programmer near bare-metal performance at the expense of safety properties that a managed runtime would otherwise provide. Julia, on the other hand, combines novel programming language design approaches to achieve high levels of productivity without sacrificing performance while using a fully managed runtime.This study provides an evaluation of Julia's suitability for HPC applications from a performance point of view across a diverse range of CPU and GPU platforms. We select representative memory-bandwidth bound and compute bound mini-apps, port them to Julia, and conduct benchmarks across a wide range of current HPC CPUs and GPUs from vendors such as Intel ® , AMD ® , NVIDIA ® , Marvell ® , and Fujitsu ® . We then compare and characterise the results against existing parallel programming frameworks such as OpenMP ® , Kokkos, OpenCL ™ , and firstparty frameworks such as CUDA ® , HIP ™ , and oneAPI ™ SYCL ™ . Finally, we show that Julia's performance either matches the competition or is only a short way behind.