[swift-users] Alternative to UnicodeScalar

Shawn Erickson shawnce at gmail.com
Sat Apr 8 11:44:26 CDT 2017


What optimization level did you try this at? You are also including the
print func in your performance test which is a non-trivial amount of code
being executed. Also when in doubt profile the code to see the time spent
to better nail down the hotspot locations.

If performance issues exist then leveraging things like a lookup table of
pre-built structure can help, etc.

-Shawn

On Sat, Apr 8, 2017 at 9:19 AM 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20170408/a5b74a19/attachment.html>


More information about the swift-users mailing list