Using structures and, by extension, structural subtyping, has no impact on performance when compiling to dynamic targets. However, on static targets access is typically slower. While some of them (JVM, HL) optimize common cases, the worst case requires a dynamic lookup which can be orders of magnitude slower than class field access.