[swift-users] Alternative to UnicodeScalar

Rien Rien at Balancingrock.nl
Sat Apr 8 13:58:27 CDT 2017


Server-side is usually UTF-8 (not always), so often you don’t really need strings.
As an aside, time measurements are difficult, especially when IO is involved there may be thread switches or locks.

I have written some parsers (UTF-8 based) and not yet encountered performance problems. (though faster is always better)

Regards,
Rien

Site: http://balancingrock.nl
Blog: http://swiftrien.blogspot.com
Github: http://github.com/Balancingrock
Project: http://swiftfire.nl - A server for websites build in Swift






> On 08 Apr 2017, at 18:19, Proyb P via swift-users <swift-users at swift.org> wrote:
> 
> I have found this took about 0.001s to print 256 characters
> Compare to Python took 0.000016s to print 256 characters, see F8 code and have modify to run only one call instead of 1000 iterations.
> https://gist.github.com/anonymous/18e372e8d0173e77b5c405920d4d3080
> 
> As this is frequently use for server-side swift that will definitely affected by expensive call, are there any alternative solution for converting Int to character close to Python timing?
> 
> import Foundation
> var display: String = ""
> 
>     func printTimeElapsedWhenRunningCode(title: String, operation: ()->()) {
>         let startTime = CFAbsoluteTimeGetCurrent()
>         operation()
>         let timeElapsed = CFAbsoluteTimeGetCurrent() - startTime
>         print("Time elapsed for \(title): \(timeElapsed) s")
>     }
> 
>     printTimeElapsedWhenRunningCode(title: "s1()") {
> let startingValue = Int(("A" as UnicodeScalar).value) // 65
> for i in 0 ..< 256 {
>     print(Character(UnicodeScalar(i + startingValue)!))
> }
> }
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users



More information about the swift-users mailing list