V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
banxi1988
V2EX  ›  iDev

Swift 开发效率高是高,可是编译速度慢啊

  •  
  •   banxi1988 ·
    banxi1988 · 2017-10-30 19:22:24 +08:00 · 9197 次点击
    这是一个创建于 2580 天前的主题,其中的信息可能已经有所发展或是发生改变。
    改一行代码再编译需要 5 到 15 分钟. (这还是有增量编译的)
    2014 Mid 版的 MBP (16G 内存 2.2GHz Intel i7)
    现在项目中写代码再也没有一开始的写代码的爽快感了. 另外就是 SourceKitService 内存泄漏问题严重,内存占用动不动就飙到 10 多 G 去了. 经常导致 Xcode 失去响应, 有时一天下来得强制关闭 Xcode 好多次,根本无法好好的写代码.

    PS: 听说 Go 语言编译速度快, 我感觉我想转行了.
    PS2: 看来下次老板再说我写代码慢, 我得要求换电脑了.
    17 条回复    2018-01-18 21:26:54 +08:00
    Ixizi
        1
    Ixizi  
       2017-10-30 23:22:44 +08:00
    swift 其实理论上编译速度比 oc 快的。 为什么慢,因为你用了 cocoapods 或者导入了 oc 库。
    nl101531
        2
    nl101531  
       2017-10-31 07:30:10 +08:00 via Android
    最近也在学习,觉得好多神奇的语法糖。。。
    toono
        3
    toono  
       2017-10-31 09:23:03 +08:00
    楼主用 swift 写服务端?
    banxi1988
        4
    banxi1988  
    OP
       2017-10-31 09:26:28 +08:00
    @Ixizi 理论上编译速度就慢了. 我自己实测过,有时一行代码,我说的是一行代码,光是类型检查就花了 1s 多的时间,是 1s 多.一行代码.
    另外提供其他一些文章看看,你们可以亲自测试一下:

    https://medium.com/@RobertGummesson/regarding-swift-build-time-optimizations-fc92cdd91e31
    https://medium.com/swift-programming/swift-build-time-optimizations-part-2-37b0a7514cbe
    https://medium.com/@johnsundell/improving-swift-compile-times-ee1d52fb9bd

    这样你就会明白为什么我认为理论上 Swift 比 OC 慢了.
    banxi1988
        5
    banxi1988  
    OP
       2017-10-31 09:27:33 +08:00
    @toono 客户端, 以前还想着用它可以写服务端,要是编译速度上不去, 我看还是用 Go 好.
    Ehco1996
        6
    Ehco1996  
       2017-10-31 09:30:56 +08:00 via iPhone
    歪个楼
    js python 这种脚本语言才叫快呢
    webfrogs
        7
    webfrogs  
       2017-10-31 09:48:20 +08:00
    这样明年 WWDC 时候,苹果就可以拍胸脯说,我们对编译器优化了 XX%
    toono
        8
    toono  
       2017-10-31 09:50:49 +08:00
    @webfrogs

    sleep(10) --> sleep(5)

    优化 50%完成✅
    gunavy
        9
    gunavy  
       2017-11-02 10:39:26 +08:00
    @Ixizi swift3,一个表达式卡十分钟,换个方式就没事。也没 oc 什么事情!
    harrishan
        10
    harrishan  
       2017-11-03 09:45:36 +08:00
    装台高配黑苹果吧
    fghjghf
        11
    fghjghf  
       2017-11-03 09:53:48 +08:00
    不是兴趣而是当作求职技能的话,转行吧。移动端开发尤其是 ios 开发早已烂成狗。
    BiuBiuBiuX
        12
    BiuBiuBiuX  
       2017-12-01 20:21:43 +08:00
    加内存条,一定要内存大,把 xcode 编译文件扔内存盘里
    free9fw
        13
    free9fw  
       2017-12-04 18:03:44 +08:00
    Xcode-File-Workspace Setting-New Build System
    kemchenj
        14
    kemchenj  
       2017-12-25 20:10:05 +08:00
    Swift 社区活跃的真相 —— 都在等编译😂
    rainex
        15
    rainex  
       2018-01-11 15:13:17 +08:00   ❤️ 1
    不用声明类型之类的这些所谓的开发者友好,编译器要自己做判断当然会慢,C++不如 C 的编译速度快也是类似道理,项目越大越慢。

    16G 内存不用加了,瓶颈不在这里,mac 瓶颈一般就卡在两个地方,一个是硬盘必须 ssd,另一个是 cpu 主频。

    你主频 2.x 而且又是笔记本低压 cpu,现在跑 Xcode 很难流畅,mac 就这烂样,同等硬件性能比 windows 低 20%都正常。

    想 Xcode 流畅就台式机,ssd 硬盘,cpu 主频 3.5G 以上,内存其实 8G 16G 相差不太大的
    rainex
        16
    rainex  
       2018-01-11 15:15:15 +08:00
    特别说下,以 Xcode 来说,同等预算,cpu 主频比多核重要,也就是说同等预算优先考虑高频的 i3,虐低频的 i5 i7 没问题,实际比较过
    Tardis0127
        17
    Tardis0127  
       2018-01-18 21:26:54 +08:00
    @rainex 双核高频虐四核? 编译没开多线程?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2693 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:16 · PVG 20:16 · LAX 04:16 · JFK 07:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.