Implementation of transducers in Swift
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Transducers in Swift

This repo contains a .playground file and various benchmarking files that attempt to explain what transducers are and how to implement them in Swift.

The markdown view in Playground be toggled by switching Editor -> Show Rendered Markup || Show Raw Markup in the Xcode menus.


The Benchmark directory contains the Attabench Xcode project file that was used to generate all the performance graphs used in the blog.

In addition, assembly code of all versions are available for a more in depth comparison. The file used to generate the assembly is AssemblyTest.swift. If you want to play around with it, use the following command to generate your own .asm files

xcrun -sdk macosx swiftc -emit-assembly main.swift > result.asm

Blog Post

If you want to check out what this Playground is about but don't want to download it, here a link to my blog post that is basically its copy.

Reddit Thread

Got something to say? Get on Reddit!

Reddit Link Pt. 1

Reddit Link Pt. 2


This project is licensed under the terms of the MIT license. See the license file.