[swift-evolution] Faster/lower-level external String initialization

Charles Kissinger crk at akkyra.com
Fri Jan 8 23:58:10 CST 2016


The String initializer that would actually be of most value to me would be:

String.init(utf8: UnsafePointer<UInt8>, length: Int)

as long as it is as fast (preferably faster) than String.fromCString() and doesn’t require bridging to NSString. A similar initializer is available for NSString, but as Zach indicated in his link, using it is slow.

Several other initializers, including the one you showed, would be useful, as long as they are performant.

—CK

> On Jan 8, 2016, at 9:04 PM, 品雪 via swift-evolution <swift-evolution at swift.org> wrote:
> 
> Sorry, I didn't get it, are you talking about:
> 
> var bytes : [UInt8] = [65, 66, 67, 68, 69, 70];
> var s = String.init(bytes: bytes, encoding: NSUTF8StringEncoding)
> 
> ?
> 
> On Sat, Jan 9, 2016 at 8:22 AM, T.J. Usiyan via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
> I support this change as well.
> 
> TJ
> 
> On Fri, Jan 8, 2016 at 6:06 PM, Guillaume Lessard via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
> Complete agreement from me. I would like to see a String constructor from a Sequence of code units.
> Also, why is String.fromCString() a factory function rather than a fallible constructor?
> 
> Guillaume Lessard
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
> 
>  
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
> 
> 
> 
> 
> -- 
> Best Regards!
> 
> Yang Wu
> --------------------------------------------------------
> Location: Pudong, Shanghai, China.
> EMail    : pinxue at gmail.com <mailto:pinxue at gmail.com>
> Website: http://www.time2change.mobi <http://www.time2change.mobi/> http://rockplayer.com <http://rockplayer.com/>
> Twitter/Weibo : @pinxue
>  <http://www.pinxue.net/> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160108/44bea0e8/attachment.html>


More information about the swift-evolution mailing list