├── .github └── workflows │ └── ci.yaml ├── .gitignore ├── .swiftpm └── xcode │ └── xcshareddata │ └── xcschemes │ └── AsyncChannels.xcscheme ├── Benchmarks ├── .gitignore ├── Dockerfile ├── Package.resolved ├── Package.swift ├── Readme.md ├── Sources │ └── Benchmarks │ │ └── main.swift ├── dockerBench.sh └── golang │ ├── Dockerfile │ ├── benchmark_test.go │ ├── dockerBench.sh │ └── go.mod ├── Dockerfile.tests ├── Examples └── ImageConverter │ ├── .gitignore │ ├── Package.resolved │ ├── Package.swift │ └── Sources │ └── ImageConverter │ └── main.swift ├── GolangVsSwift.md ├── LICENSE ├── Package.resolved ├── Package.swift ├── README.md ├── Sources └── AsyncChannels │ ├── Channel+Extensions.swift │ ├── Channel.swift │ ├── ChannelInternal.swift │ ├── FastLock.swift │ ├── Select.swift │ ├── Synchronization.swift │ ├── ThrowingChannel+Extensions.swift │ └── ThrowingChannel.swift ├── Tests └── AsyncChannelsTests │ ├── BehaviorTests.swift │ ├── ReadmeTests.swift │ └── TypeTests.swift └── media ├── swift-vs-go.png └── vs-async-alg.png /.github/workflows/ci.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/.github/workflows/ci.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/.gitignore -------------------------------------------------------------------------------- /.swiftpm/xcode/xcshareddata/xcschemes/AsyncChannels.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/.swiftpm/xcode/xcshareddata/xcschemes/AsyncChannels.xcscheme -------------------------------------------------------------------------------- /Benchmarks/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Benchmarks/.gitignore -------------------------------------------------------------------------------- /Benchmarks/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Benchmarks/Dockerfile -------------------------------------------------------------------------------- /Benchmarks/Package.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Benchmarks/Package.resolved -------------------------------------------------------------------------------- /Benchmarks/Package.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Benchmarks/Package.swift -------------------------------------------------------------------------------- /Benchmarks/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Benchmarks/Readme.md -------------------------------------------------------------------------------- /Benchmarks/Sources/Benchmarks/main.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Benchmarks/Sources/Benchmarks/main.swift -------------------------------------------------------------------------------- /Benchmarks/dockerBench.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Benchmarks/dockerBench.sh -------------------------------------------------------------------------------- /Benchmarks/golang/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Benchmarks/golang/Dockerfile -------------------------------------------------------------------------------- /Benchmarks/golang/benchmark_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Benchmarks/golang/benchmark_test.go -------------------------------------------------------------------------------- /Benchmarks/golang/dockerBench.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Benchmarks/golang/dockerBench.sh -------------------------------------------------------------------------------- /Benchmarks/golang/go.mod: -------------------------------------------------------------------------------- 1 | module benchmarks 2 | 3 | go 1.17 4 | -------------------------------------------------------------------------------- /Dockerfile.tests: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Dockerfile.tests -------------------------------------------------------------------------------- /Examples/ImageConverter/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Examples/ImageConverter/.gitignore -------------------------------------------------------------------------------- /Examples/ImageConverter/Package.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Examples/ImageConverter/Package.resolved -------------------------------------------------------------------------------- /Examples/ImageConverter/Package.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Examples/ImageConverter/Package.swift -------------------------------------------------------------------------------- /Examples/ImageConverter/Sources/ImageConverter/main.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Examples/ImageConverter/Sources/ImageConverter/main.swift -------------------------------------------------------------------------------- /GolangVsSwift.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/GolangVsSwift.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/LICENSE -------------------------------------------------------------------------------- /Package.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Package.resolved -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Package.swift -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/README.md -------------------------------------------------------------------------------- /Sources/AsyncChannels/Channel+Extensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Sources/AsyncChannels/Channel+Extensions.swift -------------------------------------------------------------------------------- /Sources/AsyncChannels/Channel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Sources/AsyncChannels/Channel.swift -------------------------------------------------------------------------------- /Sources/AsyncChannels/ChannelInternal.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Sources/AsyncChannels/ChannelInternal.swift -------------------------------------------------------------------------------- /Sources/AsyncChannels/FastLock.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Sources/AsyncChannels/FastLock.swift -------------------------------------------------------------------------------- /Sources/AsyncChannels/Select.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Sources/AsyncChannels/Select.swift -------------------------------------------------------------------------------- /Sources/AsyncChannels/Synchronization.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Sources/AsyncChannels/Synchronization.swift -------------------------------------------------------------------------------- /Sources/AsyncChannels/ThrowingChannel+Extensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Sources/AsyncChannels/ThrowingChannel+Extensions.swift -------------------------------------------------------------------------------- /Sources/AsyncChannels/ThrowingChannel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Sources/AsyncChannels/ThrowingChannel.swift -------------------------------------------------------------------------------- /Tests/AsyncChannelsTests/BehaviorTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Tests/AsyncChannelsTests/BehaviorTests.swift -------------------------------------------------------------------------------- /Tests/AsyncChannelsTests/ReadmeTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Tests/AsyncChannelsTests/ReadmeTests.swift -------------------------------------------------------------------------------- /Tests/AsyncChannelsTests/TypeTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/Tests/AsyncChannelsTests/TypeTests.swift -------------------------------------------------------------------------------- /media/swift-vs-go.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/media/swift-vs-go.png -------------------------------------------------------------------------------- /media/vs-async-alg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gh123man/Async-Channels/HEAD/media/vs-async-alg.png --------------------------------------------------------------------------------