Programación funcional multiproceso en Swift

Últimamente he estado manipulando conjuntos de bytes en Swift 2.1, y a menudo me encuentro escribiendo código como este:

// code to add functions to a [UInt8] object
extension CollectionType where Generator.Element == UInt8 {

    func xor(with byte: UInt8) -> [UInt8] {
        return map { $0 ^ byte }
    }
}

// example usage: [67, 108].xor(with: 0) == [67, 108]

¿Hay alguna manera fácil de paralelizar esto?map llamada, para que varios subprocesos puedan operar en áreas no superpuestas de la matriz al mismo tiempo?

Podría escribir código para dividir manualmente la matriz en sub-matrices y llamarmap en cada sub-matriz en hilos distintos. Pero me pregunto si existe algún marco en Swift para hacer la división automáticamente, ya quemap es una llamada funcional que puede funcionar en un entorno seguro para subprocesos sin efectos secundarios.

Notas aclaratorias:

El código solo necesita trabajar en un[UInt8] objeto, no necesariamente cadaCollectionType.Estoy escribiendo este código solo para aprender Swift, no para ningún tipo de entrada del mundo real. Después de todo, xor se ejecuta extremadamente rápido sin ningún tipo de paralelización requerida.Si es absolutamente necesario, la función anterior se puede ver en contextoaquí, donde se usa para resolver el Conjunto 1, Desafío 3 de laDesafíos Cripto Matasano.

Respuestas a la pregunta(2)

Su respuesta a la pregunta