V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
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 · Oct 30, 2017 · 9998 views
    This topic created in 3109 days ago, the information mentioned may be changed or developed.
    改一行代码再编译需要 5 到 15 分钟. (这还是有增量编译的)
    2014 Mid 版的 MBP (16G 内存 2.2GHz Intel i7)
    现在项目中写代码再也没有一开始的写代码的爽快感了. 另外就是 SourceKitService 内存泄漏问题严重,内存占用动不动就飙到 10 多 G 去了. 经常导致 Xcode 失去响应, 有时一天下来得强制关闭 Xcode 好多次,根本无法好好的写代码.

    PS: 听说 Go 语言编译速度快, 我感觉我想转行了.
    PS2: 看来下次老板再说我写代码慢, 我得要求换电脑了.
    17 replies    2018-01-18 21:26:54 +08:00
    Ixizi
        1
    Ixizi  
       Oct 30, 2017
    swift 其实理论上编译速度比 oc 快的。 为什么慢,因为你用了 cocoapods 或者导入了 oc 库。
    nl101531
        2
    nl101531  
       Oct 31, 2017 via Android
    最近也在学习,觉得好多神奇的语法糖。。。
    toono
        3
    toono  
       Oct 31, 2017
    楼主用 swift 写服务端?
    banxi1988
        4
    banxi1988  
    OP
       Oct 31, 2017
    @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
       Oct 31, 2017
    @toono 客户端, 以前还想着用它可以写服务端,要是编译速度上不去, 我看还是用 Go 好.
    Ehco1996
        6
    Ehco1996  
       Oct 31, 2017 via iPhone
    歪个楼
    js python 这种脚本语言才叫快呢
    webfrogs
        7
    webfrogs  
       Oct 31, 2017
    这样明年 WWDC 时候,苹果就可以拍胸脯说,我们对编译器优化了 XX%
    toono
        8
    toono  
       Oct 31, 2017
    @webfrogs

    sleep(10) --> sleep(5)

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

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

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

    想 Xcode 流畅就台式机,ssd 硬盘,cpu 主频 3.5G 以上,内存其实 8G 16G 相差不太大的
    rainex
        16
    rainex  
       Jan 11, 2018
    特别说下,以 Xcode 来说,同等预算,cpu 主频比多核重要,也就是说同等预算优先考虑高频的 i3,虐低频的 i5 i7 没问题,实际比较过
    Tardis0127
        17
    Tardis0127  
       Jan 18, 2018
    @rainex 双核高频虐四核? 编译没开多线程?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   816 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 19:19 · PVG 03:19 · LAX 12:19 · JFK 15:19
    ♥ Do have faith in what you're doing.