|
|
|
|
|
by Someone
2238 days ago
|
|
”This activity is cache- and atomicity-unfriendly (in the presence of threads).“ Indeed it is. https://iacoma.cs.uiuc.edu/iacoma-papers/pact18.pdf states reference counting takes 42% of execution time in client programs and 15% in server programs. Luckily, they also present amore cache-friendly variation on reference counting that halves that overhead. They modified the Swift compiler, so I think there’s a decent chance we’ll see this added to Swift. Swift also, I think, is somewhat designed around the inefficiency of reference counting by promoting the use of structs for small objects (structs in Swift are value objects and not reference-counted in the language). |
|