For "pure Swift" classes without ObjC heritage, I would expect them to be about the same cost. The object has two refcount fields for "strong" and "unowned" refcounts. When the strong refcount hits zero, the object is deinitialized, and the unowned refcount is decremented; when the unowned refcount hits zero, the object memory is freed. Keeping the memory around until the unowned refcount hits zero allows remaining unowned references to check whether the object is still valid before making a strong retain.
For ObjC-heritage classes, there is no second refcount, so they do get implemented like weak references.