V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tsanie
V2EX  ›  macOS

Visual Studio for mac、Xamarin.forms,用 M1 跑点不同的东西

  •  
  •   tsanie · 2020-11-17 21:11:58 +08:00 · 5821 次点击
    这是一个创建于 1468 天前的主题,其中的信息可能已经有所发展或是发生改变。

    拿了我司的一个 xamarin.forms 项目,在 Mac mini M1 上以 rosetta2 翻译的方式运行 vs for mac,编译环境版本信息如下:


    Visual Studio Community 2019 for Mac
    Version 8.8 (build 2913)

    Mono Framework MDK
    Runtime:
    Mono 6.12.0.93 (2020-02/620cf538206) (64-bit)

    Roslyn (Language Service)
    3.8.0-5.20515.7+713efb0e68d34ab75faaf709e071e5c2d8d4ed0e

    .NET Core 3.1 SDK
    SDK: 3.1.403

    Apple Developer Tools
    Xcode 12.2 (17535)
    Build 12B45b

    Xamarin.iOS
    Version: 14.4.1.3


    使用了SkiaSharp.Views.FormsXam.PluginZXing.Net.Mobile.Forms等三方包。

    系统版本都是 macOS 10.0.1 (20B29),项目设为 release 配置,目标为通用设备

    • 一套 i7 8700 的编译耗时 37.50s
    • Mac mini M1 的编译耗时 54.80s

    不过考虑到 cb r23 中 M1 多核性能只有 8700 的 88%,rosetta2 翻译运行又会损耗 20 ~ 25%左右的性能,这样对照结果看看即可,鉴于微软是苹果最优质的开发者,arm 原生版本工具链应该很快可以出来。

    其实主要是为了测试一下目前 xamarin.forms 的开发有没有什么问题,好像是没有什么问题。

    20 条回复    2020-11-18 11:39:45 +08:00
    aqwcl
        1
    aqwcl  
       2020-11-17 21:15:32 +08:00
    请问 lz 的 8700 是 2018 款 mac mini 吗
    beyondex
        2
    beyondex  
       2020-11-17 21:21:17 +08:00 via Android
    居然这个现在就都能跑。
    tsanie
        3
    tsanie  
    OP
       2020-11-17 21:22:06 +08:00
    @aqwcl 不太一样,我是 pc 组的黑苹果。
    hyzjshwo
        4
    hyzjshwo  
       2020-11-17 21:27:17 +08:00 via iPhone
    终于看到 idea 相关的了… 就是只要是 app 的 idea 都能用 r2 转一次 然后都能正常使用是吗?楼主大人
    hyzjshwo
        5
    hyzjshwo  
       2020-11-17 21:27:45 +08:00 via iPhone
    vsc 能用吗?那些插件都正常吗?
    beyondex
        6
    beyondex  
       2020-11-17 21:27:57 +08:00 via Android
    话说 xamarin 做移动跨平台开发怎么样?
    LoveCnElvis
        7
    LoveCnElvis  
       2020-11-17 21:47:36 +08:00
    没用 big sur 吗
    bookit
        8
    bookit  
       2020-11-17 21:50:29 +08:00
    测一下硬盘速度呗,看看有没有用最新的 ssd
    tsanie
        9
    tsanie  
    OP
       2020-11-17 21:52:30 +08:00
    @hyzjshwo
    vsc 有个 experimental arm64 版可以运行,不过我碰到了一次标签页崩溃关闭,app 没关闭,看来还是要等稳定一下,插件你想看哪个插件,我平时不用 vsc 开发。
    还有那个是 app 的 idea 指的是……是 intellij idea 那个么?

    @beyondex
    xamarin 做跨平台开发主要是被逼的,公司之前的技术栈都是 c#,然后瞅准就是一套 xamarin 不让人挑的🤦‍♂️
    tsanie
        10
    tsanie  
    OP
       2020-11-17 21:55:14 +08:00
    @LoveCnElvis
    是 big sur,11 就是,m1 装 10.x 也装不上的

    @bookit
    https://i.loli.net/2020/11/17/2JefUH3OhF1wNCW.png
    tsanie
        11
    tsanie  
    OP
       2020-11-17 22:40:01 +08:00
    用 x264 编码压了一段油管上的 4K VP9/Opus 视频,预设 medium,crf 22
    8700 avg 17.43fps ( MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 )
    M1 avg 9.3fps ( MMX2 SSE2Fast SSSE3 SSE4.2 )

    这个就比较惨了,性能劣势+rosetta2 损耗+指令集缺少 😂
    hyzjshwo
        12
    hyzjshwo  
       2020-11-17 22:40:20 +08:00 via iPhone
    @tsanie 我说的 app idea 是 dmg 这种包的广义上的 app,比如 jb 全家桶 webstorm 这些。vsc 插件 比如 html 格式化这些 vsc icon 这些,没事我大概知道 m1 目前可能不适合做生产机器,自己用的是 15 年的老 mac 了…平时工具链多 换 m1 估计生产力提不上。十分感谢楼主带来不一样的测评。
    coolmenu
        13
    coolmenu  
       2020-11-17 22:58:37 +08:00
    @hyzjshwo 我也是留着一个 15 年的 mbp,新的这款 m1 携带方便,电池续航长,很理想了。等明年出了更好的 16 寸版本在切换开发机器。其实现在主要是用一个 4800h 的机器开发。
    hyzjshwo
        14
    hyzjshwo  
       2020-11-17 23:14:11 +08:00 via iPhone
    @coolmenu 看你开发对工具种类依赖性多高了,可能你得再 m1 上找替代工具或者干脆就找不到替代…
    axbx
        15
    axbx  
       2020-11-17 23:21:51 +08:00
    17 年的 pro 性能不够了,平时都是用黑苹果,看来可以换 air 了
    coolmenu
        16
    coolmenu  
       2020-11-17 23:24:20 +08:00
    我主要在 wsl2 下开发,有时候也是 jetbrains 做 java 的服务程序。m1 用 vscode 能代替好多工作了。
    livexia
        17
    livexia  
       2020-11-18 07:57:23 +08:00 via iPhone
    8g 内存的么?在纠结是买 8 还是 16 的
    huijiewei
        18
    huijiewei  
       2020-11-18 08:06:20 +08:00 via iPhone
    你连性能测试变量控制都不懂 就发结果

    懂得人不会理你的

    好心提醒你

    不愿意就 block 我算了 别回我
    tsanie
        19
    tsanie  
    OP
       2020-11-18 08:20:36 +08:00 via iPhone
    @huijiewei 这里无法控制变量的不就是微软还没出 arm 版的工具链么,没有的东西如何控制,再者主题结尾就说明了主要目的不是对比而是测试路能不能通,因为目前的条件对 m1 不公。
    8700 也正好是模拟前代 mini 。

    我怀疑是不是“目标通用设备”让你产生疑问了,指的是 iOS 通用设备,两者都是编译为 arm64,都是交叉编译。
    everydaystruggle
        20
    everydaystruggle  
       2020-11-18 11:39:45 +08:00 via iPhone
    我现在特怕 Apple 为了大力推 arm,暗地里降低 x86 macOS 的性能。😂
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2964 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 13:15 · PVG 21:15 · LAX 05:15 · JFK 08:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.