Comment by pjmlp

3 years ago

Not really, here it is winning hands down over Swift's ARC implementation.

https://github.com/ixy-languages/ixy-languages

Wasn't this the comparison that decided to use reference types for everything for no real reason?

  • The reason being comparing how various schemes of automatic reference memory management perform.

    Naturally if the purpose was to compare stack allocation performance other approach would have been taken.

    • The goal was to write a network driver in several languages. Nobody said anything about comparing memory management techniques, nor would the Swift implementation use a stack allocator anyways.

      4 replies →

  • I don’t know anything about the benchmark, but how would you test GC implementations without reference types?

    • Swift’s value types have reference counts because they may have members that need their lifetimes to be managed appropriately. (For example, if they’re reference types.)

      2 replies →

This isn't the kind of program Swift was designed to perform well for.

Nor is wallclock speed even what the system should be optimizing for, since you buy phones to run apps not to run the system. You should be measuring how well it gets out of the way of the important work.

  • Ah the excuses when facts are put on the table.

    "Fast. Swift is intended as a replacement for C-based languages (C, C++, and Objective-C). "

    -- https://www.swift.org/about/

    "From its earliest conception, Swift was built to be fast. Using the incredibly high-performance LLVM compiler technology, Swift code is transformed into optimized machine code that gets the most out of modern hardware. The syntax and standard library have also been tuned to make the most obvious way to write your code also perform the best whether it runs in the watch on your wrist or across a cluster of servers.

    Swift is a successor to both the C and Objective-C"

    -- https://developer.apple.com/swift/#fast