小编Sim*_*Lau的帖子

如何为所有Integer类型创建通用的整数到十六进制函数?

我想为所有整数类型创建一个Integer-to-Hex函数.

对于1字节的Int8,它返回两个字母,例如0A

对于2字节的Int16,它返回四个字母,例如0A0B

对于8字节的Int64,它返回16个字母,例如0102030405060708

func hex(v: Int) -> String {
    var s = ""
    var i = v
    for _ in 0..<sizeof(Int)*2 {
        s = String(format: "%x", i & 0xF) + s
        i = i >> 4
    }
    return s
}

func hex(v: Int64) -> String {
    var s = ""
    var i = v
    for _ in 0..<sizeof(Int64)*2 {
        s = String(format: "%x", i & 0xF) + s
        i = i >> 4
    }
    return s
}

func hex(v: …
Run Code Online (Sandbox Code Playgroud)

generics swift

10
推荐指数
1
解决办法
824
查看次数

为什么这个Swift代码比Delphi实现慢?

与其他语言相比,Apple吹嘘它的快速性能.直到最近,当我开始在Swift中编写一些代码时,我从未怀疑过这一点.

我在Swift中实现了xorshift算法,只是发现Swift版本比Delphi慢大约80倍.

Xorshift在http://en.wikipedia.org/wiki/Xorshift中有描述

SWIFT版本:

// xcrun -sdk macosx10.10 swiftc main.swift
import Foundation

func xor_shift(x0: UInt32, y0: UInt32, z0: UInt32, w0: UInt32) -> () -> UInt32 {
    var x = x0
    var y = y0
    var z = z0
    var w = w0

    func num() -> UInt32 {
        let t = x ^ (x << 11)
        x = y
        y = z
        z = w
        w = w ^ (w >> 19) ^ (t ^ (t >> 8))
        return …
Run Code Online (Sandbox Code Playgroud)

delphi performance swift

-2
推荐指数
1
解决办法
1180
查看次数

标签 统计

swift ×2

delphi ×1

generics ×1

performance ×1