我是不是买了假的 M1 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
letsgotobyebye
V2EX    Apple

我是不是买了假的 M1

  •  
  •   letsgotobyebye 2023-02-18 22:04:26 +08:00 3876 次点击
    这是一个创建于 1040 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近海鲜市场入的 2020 M1 ,12 月激活的

    这两天在看关于 webassembly 的内容的时候,up 主认为 web assembly 的性能在计算密集型任务上是有优势的(实际上是这样),再加上之前想去了解一下 Blazor ,所以在测试 blazor 的时候就发现了以下现象:

    同样的递归计算斐波那契数列 40 层 blazor:1192ms

    然后发现不对劲,我在 win 上随便打开一个浏览器直接用 js 执行是 1278ms +-50 ,windows 中使用.net 甚至更短,只需要 1049ms...而且还是 i3

    代码很简单,基本都是一个 fib 方法 int fib(int n) { return n < 2? n : fib(n-1) + fib(n-2);} 然后直接调用 fib(40); 计算一下前后时间差

    于是又测试了其他的语言: c:908ms gcc (Apple clang version 14.0.0 (clang-1400.0.29.202))

    java:421ms(???java 最快我是没想到的) openjdk version "17.0.6" 2023-01-17

    dotnet :1632ms .netsdk version : 7.0.102

    原生 js: 1523ms

    所以到底是我的电脑的问题还是?

    15 条回复    2023-02-20 13:59:02 +08:00
    Ga2en
        1
    Ga2en  
       2023-02-18 22:43:27 +08:00
    建议对比下你购入的价格和同期的同价位电脑性能。
    letsgotobyebye
        2
    letsgotobyebye  
    OP
       2023-02-18 23:09:45 +08:00
    @Ga2en #1 用了这么多时间,可以肯定不是假货,只是想知道其他人是不是也是这样,因为 M1 在用之前经常看到吹性能的,但是自己实测发现好像并没有那么强
    wuqiangroy
        3
    wuqiangroy  
       2023-02-18 23:20:13 +08:00
    m1 用 golang 跑了一下:
    go run fib.go
    102334155
    used time: 218.433792ms
    代码:
    fib.go
    ```golang
    package main

    import (
    "fmt"
    "time"
    )

    func fib(a int) int {
    if a <= 2 {
    return 1
    }
    return fib(a-1) + fib(a-2)
    }

    func main() {
    t := time.Now()
    fmt.Println(fib(40))
    fmt.Printf("used time: %s\n", time.Now().Sub(t))
    }
    ```
    tcpdump
        4
    tcpdump  
       2023-02-18 23:21:43 +08:00
    M 系列主要是续航和剪辑
    my3157
        5
    my3157  
       2023-02-19 00:04:35 +08:00
    CPU 怎么作假

    M 系列对比下来性能提升还是比较明显的, 下述是一个基于 BitMap 的 SDS 存储空间分配器的 benchmark 数据
    MBP 2017 i7 7820HQ 16/512G:
    action: alloc, capacity: 3906250000, spend: 186 s, latency: 47 ns
    MBP 2023 M2 Max 64G/1T
    action: alloc, capacity: 3906250000, spend: 54 s, latency: 13 ns
    MrKrabs
        6
    MrKrabs  
       2023-02-19 00:05:17 +08:00
    swift
    time ./fib
    102334155

    ________________________________________________________
    Executed in 348.64 millis fish external
    usr time 344.09 millis 0.07 millis 344.02 millis
    sys time 4.04 millis 1.05 millis 2.98 millis


    func fib(_ n: Int) -> Int {
    n < 2 ? n : fib(n-1) &+ fib(n-2)
    }

    print(fib(40))
    my3157
        7
    my3157  
       2023-02-19 00:06:45 +08:00
    @wuqiangroy #3

    102334155
    used time: 199.554292ms
    LUO12826
        8
    LUO12826  
       2023-02-19 00:12:30 +08:00   1
    你这个任务太简单,用不上 M1 的乱序执行性能。M1 之所以能靠 3.2G 的主频打那些 4-5G 主频的 CPU ,很大程度是因为强大的乱序执行。如果一个任务太简单,或者指令间高度依赖,这时候反而是主频高的处理器有优势。 可以看看这个视频
    &ab_channel=AlexZiskind
    LUO12826
        9
    LUO12826  
       2023-02-19 00:13:23 +08:00
    另外,编程语言间比性能,开的优化级别很重要。
    letsgotobyebye
        10
    letsgotobyebye  
    OP
       2023-02-19 00:24:03 +08:00
    @my3157 #5 作假是开玩笑的,只是觉得太慢,有点出乎意料
    letsgotobyebye
        11
    letsgotobyebye  
    OP
       2023-02-19 00:24:28 +08:00
    @LUO12826 #8 原来是这样,谢谢
    lscho
        12
    lscho  
       2023-02-19 10:59:45 +08:00
    你把 m1 也当成 i3 就理解了,还是移动端 i3

    个人理解的产品线就是 m1=移动端 i3 m1pro=移动端 i5. m1max=移动端 i7 m1u=移动端 i9

    大家觉得 m1 强是当初预期比较低,用 arm 打赢了同水平的 x86 ,但不代表它能越级打桌面级 x86 。
    imaning
        13
    imaning  
       2023-02-19 17:57:03 +08:00
    另外个优势就是续航太能刚!
    penzi
        14
    penzi  
       2023-02-19 19:00:37 +08:00 via Android
    看一下 geekbench 分数就知道了
    Vipcw95
        15
    Vipcw95  
       2023-02-20 13:59:02 +08:00
    m1 不是因为能耗比强吗,性能绝对值也不是特别拉
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3992 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 05:23 PVG 13:23 LAX 21:23 JFK 00:23
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86