swift服务器性能好么,swift性能分析

1、swift的基本数据类型string、dictionary等都是struct类型,而oc的NSString、NSDictionary等都继承class。从内存管理方面来分析,struct是分配在栈,class一般都是分配在堆上。大家都知道栈的性能要比堆更好。

2、swift的数据类型都是在编译阶段就确定了,oc具有动态性,一般的数据类型和函数调用都是在运行时才确定。

结合oc和swift的demo来分析各自的性能。

swift的代码

var arr:[String] = []

override func viewDidLoad() {

super.viewDidLoad()

let startTime = CFAbsoluteTimeGetCurrent()

let testStr = String("一段测试代码,一万遍的循环")

for _ in 1...10000 {

arr.append(testStr)

}

let linkTime = (CFAbsoluteTimeGetCurrent() - startTime);

print("Linked in \(linkTime) ms")

}

控制台打印

**Linked in 0.025310993194580078 ms**

oc代码

self.arr = [[NSMutableArray alloc]init];

CFAbsoluteTime startTime =CFAbsoluteTimeGetCurrent();

NSString *testStr = [NSString stringWithFormat:@"%@",@"一段测试代码,一万遍的循环"];

for (int i = 0; i < 10000; i++) {

[self.arr addObject:testStr];

}

CFAbsoluteTime linkTime = (CFAbsoluteTimeGetCurrent() - startTime);

NSLog(@"Linked in %f ms", linkTime *1000.0);

控制台打印

Linked in 0.177026 ms

计算相同的数据量,性能上还是有很大差别的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值