| |
|
知识库 -> 数码 -> 你们的M1还好用吗? -> 正文阅读 |
|
[数码]你们的M1还好用吗? |
[收藏本文] 【下载本文】 |
我的M1平均一周死机两次,找售后有用吗? 我是在12月20多号买到的MacBook M1,16G 2T的顶配内存,到现在两个月了,使用感觉真的差到了极… |
前言 访存是微结构设计永恒的难题,这个领域也有着一个传说:部分处理器能够将栈操作消除。ARM架构并没有专门的栈操作指令,那么应该如何定义栈操作呢?我们不妨将其宽泛定义为:访问同一物理地址的store和load指令对(后文中将用栈操作来指代此类情况),栈操作无疑被包含其中。众所周知,苹果M1处理器有着极高的IPC,采用了许多激进的设计来提高指令并行度,那么它能不能消除栈操作呢?让我们来探究一番。 一点小小的剧透:其实最新的x86阵营处理器在这一方面远比苹果激进,它们的故事我们以后再讲;而苹果的实现方式与它们并不相同,这有可能是ARM ISA本身的特性或是实际需求使然。本文探究了Apple M1栈操作消除的实现方式,并揭示了其ICache以及流水线设计的部分细节: 一点题外话:在上一篇文章中我们探究了13900ES预取器的反常行为: 后来翻阅Intel官方PPT时发现: |
|
看来有可能是一个FEATURE,能够见证行业巨头在面对取舍时的小小窘迫,还是颇有趣味的。 正文测试构造 首先,我们需要构造一个Probe用的小程序来反应处理器执行栈操作(访问同一物理地址的store和load指令对,后文中将用栈操作来指代此类情况)的性能。从定义入手其实基本结构十分简单,只要一条store指令和一条load指令(将其称为一个指令块)不断循环往复即可,使用汇编构造如下:
可以看到,这样的栈操作其实可以被迅速完成而不需要通过Cache,因为load的值显然就是store存入的值;倘若处理器在流水线内就获得了load指令的值,我们就将这一操作称为栈操作消除(没有通过Cache获得结果)。 注意ARM汇编中即便同为ldr,也有包括post index在内的多种寻址方式,需要使用正确的汇编。但是很快我们就会发现问题:
循环执行这样的多个指令块,指令块之间并没有任何依赖,因此块间可以完美并行,这样是无法反应栈操作的性能的。我们不妨将store指令与load指令的值寄存器设置为同一个:
此时上一个块的load指令的结果会作为下一个块的store指令的值来源,因此倘若上一个块的load指令无法取回数据,下一个块的store指令就无法完成;整个程序通过访存地址相关和寄存器相关串成了一条巨大的相关链,其执行时长即可反应我们需要的栈操作性能。此类测试的其他构建细节在专栏的其他文章内有详细讲解,简而言之,整个程序分为外循环与内循环,内循环为N个指令块(不仅仅使用1个指令块,否则循环相关的指令占比过大,它们不是我们计时的对象,需要通过通过放置N个指令块稀释),外循环为M次(多次执行,使得执行时长足够长,方便计时),则共会执行N*M次指令块;我们将总执行时长除以N*M,再通过频率信息就可以得出每个指令块执行所需的cycle数,以下均以cycle数标识栈操作性能。
基准获取 现在有请本次测试的背景板:ARM Cortex X1,其作为ARM公版的首个超大核微架构,承载了ARM冲击高性能市场的愿景,不妨看看其表现如何。为了排除取指带宽波动的影响,我们根据处理器的微结构信息,在指令块中插入指定数量的nop指令,使得一个cycle理论上只能取指、重命名一个指令块。对于Cortex X1这样的6发射处理器,调整指令块如下使其正好容纳6条指令:
|
|
由于我们的主要探究对象并不是Cortex X1,其非整结果我们不做深入探究,不妨将其视为4-5cycle。这样的处理器显然没有进行栈操作消除,符合我们对背景板处理器的性能预期,示意流水线时空图如下: |
|
1.在现代超标量乱序处理器中,load与store指令大概率并不位于同一执行流水线,此处仅为逻辑上的时空图。 2.在现代超标量乱序处理器中,store指令会被拆分为store data与store address两条微指令,此处简化为了一条store指令。 可见,在没有栈操作优化时由于寄存器相关,执行一个指令块所需的时间约为load指令的load-to-use延迟(视具体流水线设计会有区别,影响因素较多,包括但不限于:1.有无store buffer前递。2.store order violation避免机制的设计。) 栈操作消除 既然ARM Cortex X1没有栈操作消除,那么Apple M1呢?针对8发射的Firestorm,我们调整指令块如下:
|
|
仅耗时约1.6 cycle!无疑M1拥有栈操作的优化,不愧是ARM阵营的扛把子选手!这样的优化简直可以称之为消除了,倘若load被实际执行,纵使有store buffer的数据前递,其延迟也难以被压缩至1 -2 cycle。 |
|
但是故事显然不能仅此而已,不妨看看M1的栈操作消除面对更加复杂的情况表现如何。我们修改指令块,在我们的栈操作store、load对之间加入一条不相关的store指令(操作了不同的地址):
|
|
略有波动,但是栈操作消除仍然生效,看来M1不会被如此简单的手法欺骗。我们添加两对相互嵌套的操作:
|
|
仍然是两对栈操作,但是并不完美嵌套:
|
|
可以看到虽然消除效果逐渐变差,但是仍然存在明显的栈操作消除现象。我们不再继续增加一个指令块中的栈操作对数,因为M1理论上每周期只能执行2条load指令与2条store指令(其实即便增加到3对,栈操作消除的效果仍然明显存在,但是为了数据的美观性不予展示)。 瑕疵初现 一个机制不可能面面俱到,我们肯定能够通过精心构造指令对使其失效;不过在此之前,我们还得请出老朋友:perf stat工具。如果要在M1平台上使用perf工具,为其安装Arch linux是较为方便的选择;只要学会正确指定核心+事件号,其体验与x86平台基本无异。但是如果不想覆盖原操作系统,MacOS上也是可以使用性能计数器的,只是过程相对曲折;本次我在个人日用的Macbook air上使用MacOS进行测试。苹果显然对于自己的性能计数器信息较为忸怩,我们首先要自己从系统目录中获取性能计数器的描述。通过一些手段,我们可以找到a14.plist、a15.plist两个文件,M1使用的是与a14近乎相同的Firestorm,因此我们参考a14.plist中的信息。实际上这两个文件内容近乎一模一样,可见两代处理器的性能计数器部分并无明显变动(或者说开发者可以访问的性能计数器部分并无明显改动)。从中我们挑选出所需的计数器如下: Event NameEvent DiscriptionFIXED_CYCLESFIXED_INSTRUCTIONSST_MEMORY_ORDER_VIOLATION_NONSPECRetired stores that triggered memory order violationsFLUSH_RESTART_OTHER_NONSPECPipeline flush and restarts that were not due to branch mispredictions or memory order violationsLD_UNIT_UOPUops that flowed through the Load UnitST_UNIT_UOPUops that flowed through the Store UnitMAP_STALLCycles while the Map Unit was stalled for any reasonMAP_STALL_DISPATCHCycles while the Map Unit was stalled because of Dispatch back pressure M1中提供6个可配置性能计数器,足够我们的使用了。接着,我们需要一些手段来访问这些计数器。好消息是实际上MacOS提供了类似的接口,即Kperf动态库;坏消息是这个库并不对外开放;好消息是前人通过逆向工程破解了其信息。然后,我们只需要调用Kperf即可读取所需的计数器;这里使用前人大佬ibireme的框架,将我们的测试程序作为profile_func嵌入其中,运行效果如下: |
|
此时栈操作消除机制正常运作 我们终于可以一窥处理器的运行状态,可见store-order-violation predictor工作得很好,运行过程中仅有极少的访存序引起的回滚。重命名堵塞较多且均由发射队列(对于Apple的设计而言,其实是第一级的分派队列)的反压造成;因为我们的指令块平均需要1.6周期才能执行完成,但是处理器前端每周期都能取回1个指令块,因此大量的访存指令堆积在分派队列和发射队列中,最终导致了重命名阶段堵塞。一切都符合预期。 至此,我们终于可以给栈操作消除机制找点麻烦了。栈操作消除可以基于两种较为简单的思路: 基于静态信息,例如操作数的源寄存器号。倘若一对store与load指令用于计算地址的源寄存器和偏移都相同,那我们显然可以推测store与load访问了同一地址,并对它们进行消除。消除的方式多种多样,较为简单的即直接通过重命名机制,将load指令的目的寄存器重命名为store指令的值的源寄存器;但是为了确保这样的消除是正确的,load指令仍然需要被执行,以验证地址的正确性以及它们真的相等,因此只是消除了执行延迟而并非整个指令的执行。基于历史信息,例如指令PC。倘若一对store与load指令曾经访问过相同的物理地址,那我们将它们标记为可能再次访问同一地址,并对它们进行消除。消除的方式可以与上一点近似,同样其也需要被执行来验证正确性。 在具体实现的过程中,无论是上述哪种方式都会遇到各种各样的细节问题,例如如何记录和存储store指令的信息、使用逻辑寄存器号还是物理寄存器号等,下文中我们再详细讨论。 我们不妨尝试在不改变指令块大小和内容的前提下,改变内部指令的排布,使得store与load指令不再分布于指令块的两端:
|
|
有明显的栈操作消除,现象和之前相比似乎并没有什么变化。我们更进一步,再将load指令向上移动一个槽位:
|
|
异常出现了,栈操作消除的效果仍然存在,因为其执行时长小于load-to-use延迟,但是又明显高于之前的延迟,这说明栈操作消除并非百分之百成功。不是每一对store-load指令都被消除,而是呈一定概率被消除,进而将load-to-use延迟与栈操作消除的延迟按一定比例混合了;而在这种情况下,栈操作消除的成功率下降了。我们继续将load指令向上移动,直至与store指令紧邻:
|
|
|
|
|
|
|
|
我们可以观察到几个异常现象: 随着store与load指令的间距越来越小,栈操作消除的成功率越来越低。当store与load指令紧邻时,栈操作消除机制近乎完全失效(不发生)。load每上移2次,栈操作消除的成功率才变化一次。 这三个现象包含了海量的信息。我们可以由此推测,苹果的栈操作消除是基于静态操作数信息的消除,并未使用历史信息;而且并未优化当store与load指令在同一周期被译码和重命名的情况。 已知随着store与load指令间距缩小栈操作消除的成功率变低,说明栈操作消除的判断机制与指令的槽位有关。由1推演可知,指令的槽位实际上代表了指令在Cache行内的位置,不同的位置会使得它们进入处理器后位于指令包内的不同槽位。由于我们构造的指令块总是由nop指令填充至8条(恰好是M1每周期能够取指和译码的指令数量),我们不妨将一个指令块视作处理器流水线内每周期得到的指令包。由于nop指令在译码级才会被消除,因此每个指令包在到达译码级时仍然为8条指令;经过译码级后只剩下store与load指令需要重命名。由3推演可知,在流水线未被塞满时,每周期我们能够向处理器的后端填入1条store指令和1条load指令(nop指令在译码级被消除,无需被真正执行,直接标记等待提交即可);而即便在理想情况下(1.6 cycles per block)栈操作消除也无法使我们每周期执行一个指令块(1 store + 1 load),因此处理器后端在经过一定时间后会由于访存队列满而产生反压;反压进而导致发射队列和分派队列也被填满产生反压;最终导致流水线停顿(重命名级和更早的流水级阻塞),性能计数器的数值印证了这一点:重命名级经历了相当数量的停顿,约1/3的总cycle数;且基本100%来自分派队列的反压。 |
|
5. 由4推演可知,一旦处理器进入阻塞状态,由于每周期只能执行并提交平均1.6条指令(不妨以理想状态推演)即1-2条指令,可以预见重命名级每周期也只能向分派队列发送1-2条指令。同时由3已知重命名级最多只会同时存在2条指令,因为nop指令在进入重命名级前被消除了。 6.已知重命名级在被清空前无法接受下一个指令包,否则维护指令序关系异常困难。 7. 由1、2、5、6推演可知,M1的译码级支持每周期向重命名级送入少于一个指令包的指令。否则,无论指令位于指令包的哪个槽位,对于译码和重命名级都是等价的,不会造成栈操作消除效果的波动。 8. 已知load每上移2次,栈操作消除的成功率才变化一次。 9. 由7和8推演可知,M1的译码级最小支持以2条指令为粒度向重命名级发送指令,槽位0-1、2-3、4-5、6-7可以分别进入后续流水级直至所有指令清空,随后译码级接受下一个指令包。 综上可知,store与load指令的间隔大小与它们同时进入重命名级的概率密切相关,间隔越小同时进入重命名级的概率越高,而同时进入重命名级意味着栈操作消除失败。由于译码级只支持槽位0-1、2-3、4-5、6-7分别进入后续流水级,因此在槽位移动小于2时对处理器而言是等价的,我们不会观察到栈操作消除成功率的变化;同时也意味着一旦store与load指令紧邻,它们近乎一定会同时进入重命名级,即一定会使栈操作消除失效。 至此,我们发现了苹果M1栈操作消除存在的证据;初步推演了M1栈操作消除机制失效的原因。那么为何store与load指令同时进入重命名级会使栈操作消除机制失效呢?我们下篇再见,届时将还原M1栈操作消除的实现细节,并揭示M1 ICache和流水线内设计的冰山一角。 |
|
(太长了,字数太多,只好忍痛分成两篇水了)下篇在此。 JamesAslan:苹果的黑魔法?(下)Apple M1的栈操作消除109 赞同 · 8 评论文章 |
|
|
数学系;因为系里教授们都在用水果于是也买了一个。因为MacTeX每年4月才更新版本所以观望了一会,等到原生版本出了才敢下单。本来是用Linux的,但是因为经常要插拔一个1080p的显示器,而且在用KDE,导致每次插拔都得重启一下,非常不爽,遂换。型号是16g+512g。 使用到现在感觉最强烈的就是续航非常的可靠,经常不带线去图书馆,回来也忘记充电,两天才发觉电有点不够用。TeX文档编译速度和Linux上半斤八两,编译大文档的时候会快一点,远快于Windows。随航相比Intel的Mac更稳定了,文章插入图片的时候能很快地移到iPad上搞定。PDF的阅读体验仍然在Windows和Linux找不到对手,日常使用非常的丝滑。另可以装iPad端WolframAlpha,省的每年订阅会员…… 但是Mathematica和Matlab有点慢的,所以另买了一个游戏本本跑(??。) |
规划从业者,主要做乡村规划等微观层面的。 去年买的m1,8+512,被各种评测忽悠瘸了在16+256和8+512之间摇摆,最终选择了8+512。 主要平时轻度的rhino、su、cad、重度ps(现在换成affinity photo了)还有iWork那一套。从17款mbp上换回来几乎无感,就是没有Boot Camp之后无法启动win用gis软件了。兼容性方面没遇到什么问题。 主要问题出在8g内存上,affinity A3比例ppi开到3000画图占用一度高达20g,导致硬盘疯狂被swap,还会遇到爆内存之后无响应的问题。不过考虑到老款intel机器连这么大的图打开都卡心里也就平衡了。 总之,m1很好用,但无论如何都不要购买8G版本。 补个图:随便开个总平就是这样,矢量的要素一多直接上10G |
|
2022.2.22 今天在画图,更一张照片。 |
|
如何利用有限的资源满足需求,多保存就不怕崩溃。 btw,m1在冬天是真的不友好,都不带热的,掌托特别冻手。所以冬天写文本时暂时换回了17款的mbp |
先表明身份,一个前端程序员,webRTC开发者。 上线前夕,测试借来了M1的笔记本回归测试直播推流,结果告诉我,明天可能不能上线了,有bug。 我心说测了一个月了,这时候你跟我说有bug,不存在的。 结果一看,推流崩溃。 嗯,是个很严重的问题,看了下版本,safari14.0.1。 我问,声网和mediasoup崩么? 他说不崩。 随即开始紧锣密鼓的查问题,打开了所有日志,包括浏览器的媒体日志和webrtc日志。 一无所获,一点异常日志都没有。 回想起ios11.0.4版本的时候,遇到过拉流导致iPhone手机卡死,整个手机未响应,home键都无反应,上次遇到这个问题是因为安卓推流帧率高,iPhone拉流解码卡死的,后降低帧率就解决了。 所以把问题原因赌在视频帧率和分辨率这方面。 降低推流帧率和分辨率,以为正常了,只是480p崩溃,过了20分钟,马上要合并merge了,崩溃。 虽然崩了,但是似乎找到了方向。 我拿声网的demo改了一下480p分辨率,用M1的本测了一下,嘿,秒崩 再测,还崩。 哈哈哈哈哈,行了,这个bug不用解了,基本可以认定是safari的bug,等着苹果推更新吧 于是,下班。 后又测试了一下虚拟流,一点事都没有,emmmm 6月8日更新 随着苹果推送11.4版,崩溃问题已经解决了 |
2021.2.1入手的M1 MacBook Air 16+512的定制款,总体满意,是有一些小问题,瑕不掩瑜,我认为不是硬件的问题,正在等着苹果新版操作系统解决。 |
|
|
|
广告 Apple MacBook Pro 13.3 新款八核M1芯片 16G 512G SSD 京东 ¥12999.00 去购买? 推荐一下我写的适合M1的必备配件,感兴趣的同学请移步。 Mister.Dong:好马配好鞍,M1 Macbook必备的配件243 赞同 · 70 评论文章 |
|
欢迎同学们在评论区留言M1的问题,我努力整理在一起做一个汇总方便大家查阅。 M1小问题汇总: 蓝牙问题 2021.2.18 开班第一天,补充一个M1 Macbook Air 蓝牙连接的问题 我在家使用iPad pro 作为副屏,平时需要Macbook 与IPad Pro蓝牙连接,从2021.2.17号起,Macbook air 与 IPad Pro的蓝牙连接突然变得极其不稳定,连上一两分钟就会断开,这导致我无线随航的功能不能应用,打了苹果的客服也没能解决问题。 不过我其它的蓝牙设备,如苹果的鼠标、安妮pro2、京东京造K2机械键盘均未出现蓝牙断开的现象。 2. wifi问题 这两天发现M1 wifi会阶段性断开,但还没找到规律,在什么情况下会断开。 2021.03.07 补充一下蓝牙和随航的问题 与iPad Pro蓝牙链接还是不稳定,但随航的问题解决了,现在没连上蓝牙也可以随航 2. M1 wifi在用着随航的时候会阶段性断开,其他的情况下暂时没发现,也有可能他断开后会自动重连 3. 微信或企业微信截图后直接贴到office三件套里面必然出现系统卡死。感谢 @antuoshan 留言 4. M1 wifi必须连5G,2.4G会经常断开;如果连接2.4G的wifi,当usb接口插入优盘等设备时,还会不定时发生桌面卡死无法操作的问题。感谢 @梦中的秋帆 留言。 2021.03.08 补充雷电口、AirPods、SSD相关问题 @Mason Chan 解释说 usb3.0一直和2.4g以及蓝牙干扰,这个是大规模问题,Mac的屏蔽做的不够好。@柚子 入手两个月的Macbook雷电口失灵 @琉璃火 留言反馈 Mac mini连接AirPods只有左耳有声音(汗)@Zeng 认为SSD过度读写是大问题,并提供解决方案说可以关闭虚拟内存。我查了自己的SSD写入情况,40天已经写了1.61T,我的可能还算正常。 @水兽 认为Wifi和截图卡死不是小问题(认同) 感谢上面同学提供的信息。 2021.03.10 苹果推出macOS Big Sur11.2.3的升级包,我马上升级一下看看能解决哪些问题 |
|
2021.03.13 M1 MBA升级到macOS Big Sur11.2.3后,感觉wifi断开的事情感觉没发生过,我再观察观察。 2021.03.17 1. 经过这两天观察,M1 MBA在使用随航的时候还是会阶段性断开,平常连接wifi还是很稳定,难道是macOS Big Sur11.2.3修复了一些bug? 2021.04.18 新换了妙控鼠标2代,妙控鼠标2代蓝牙连接M1 Macbook Air并不是很稳定,一天偶尔会断连1-2次,不过马上就又连上了,不太影响办公,妙控鼠标2代蓝牙连接没有1代稳定iPhone与iPad 蓝牙依旧频繁断连,无法使用。本周写了一篇关于苹果全家桶的建议,有需要的同学请参阅 Mister.Dong:2021年,苹果全家桶应该如何购置?33 赞同 · 0 评论文章 |
|
2021.04.22 刚看完2021「踏春而来」的发布会,更新macOS Big Sur11.2.3后,微信截图后直接贴到office三件套里面必然出现系统卡死的现象依然存在,啥时候能解决呀。 2021.05.09 刚更新完macOS BigSur 11.3.1微信截图后直接贴到office三件套里面必然出现系统卡死的bug已经解决,现在微信截图可以正常粘贴到word、ppt ,微信版本 3.0.2 (18006) Beta 9 2021.05.26 macOS BigSur11.4来了,该版本解决了预览搜索PDF卡死的问题。 2. macOS Big Sur 11.4 新增了 Apple 播客订阅和频道并包括重要的错误修复。 播客 Apple 播客订阅可通过按月和按年订阅进行购买“频道”汇集了播客创作者的节目精选 本更新还修复了以下问题: Safari 浏览器中的书签可能被重新排序或移到显示为隐藏的文件夹中某些网站在 Mac 从睡眠状态唤醒后可能未正确显示从“照片” App 导出照片时可能不会包括关键词搜索 PDF 文稿时,“预览”可能无响应在玩《Civilization VI》时,16 英寸 MacBook Pro 可能无响应 |
m1 mbp 512 16 2021 6月底入 1、开机快,关机更快。不错。 2、续航好,三点一线工作生活,电量从没不够过。不错。 3、升了一次beta版(monterey),然后玛德出现各种问题,熬了半个通宵改了回来。差评。 4、不过用MacBook把iPad Pro从os15退回到14的过程很快,很爽。不错。(没错就是手j俩设备都升了然后都退回来) 5、花了1289买了proapps套装。然后发现其实新的MacBook Pro可以用免费的VN。有点不爽。但用了几次发现免费的有时候还是挺卡。不好不坏。 6、评测都TMD剪视频快啊,好啊。。。。我好尼妹啊。md1212年了win10的照片软件都能剪视频了。 7、单核性是真的好。pytorch单核居然完爆了i7 i9。算法设计的大好事,因为我终于不用再改个参数就TM等N久了。不过奇怪的是numpy有时候不如i9。总体不错! 8、轻薄。爽! 9、散热好(准确地说平常不怎么发热)。躺着放肚子上用容易拉肚子。谨慎使用。冬天应该没法当暖手宝了。 10、有些情景下发热也厉害,目前感觉是在长期看高清视频、拷/传大文件、装大程序的情况下。 11、配合iPad、iPhone使用的确爽。尤其做笔记时配合剪切板共享简直就是神器。不过也经常失灵。目前完全确定一个bug就是只要有一台设备联上了AirPods就一定会出问题。不出问题的时候很爽,出了问题就不爽。 12、触控板的确如传说中吹的一样好用。之前买了mx3都退了,没球用。反正买回来到现在一个多月,就只测试了一下蓝牙鼠标然后再也没用过任何鼠标。不错!是真不错!(可惜的是蓝牙触控板在Windows上还是发挥不出来,花钱的动力没了) 13、画质好,是真的好。好屏幕带来的不只是品质,对眼睛也更好。当然啥屏幕看得太久都不好。不错。 14、音质其实不如iPad Pro,当然反过来iPad Pro画质不如MacBook。 15、分屏很快,很好。不错。都有点后悔买了aoc 带鱼屏。 16、touch bar买之前觉得辣鸡。买回来之后用了几下就感觉挺不错的。比如看网页时想刷新一下不用再去移动鼠标,比如看视频全屏的时候不用再去晃几下鼠标找进度条等等。不错。(当然骂的人还是不少,因人而异。对了,摸起来手感也不错) 17、键盘手感比想象中好n倍。不错。 18、目前几乎没遇到常用软件不适配的情况。不错。 19、钉钉可以同时登MacBook、iPad和iPhone了。去尼玛的钉钉,1星好评。 20、操作逻辑好用的地方是真好用。有的一些东西还是不习惯。比如移动个文件。有的好评有的差评。 21、两个type-c其实没觉得不够用。当然还是买了拓展坞,因为有时候想接显示器或者投影。但贝尔金那个七合一只要插上就开始发热。平时不到万不得已从来不插。目前不好不坏。 22、目前作为家里躺平使用的主力。办公还是用台机。目前躺着用的时候较多,基本适应各种姿式。不错。 23、Safari还是有许多页网加载不起来。学习资料还是不够用。所以装了Chrome。用Chrome同步也很不错。Safari中评,Chrome好评。 24、没买保护壳。因为看了一眼用了8年的xps15,除了有一次脑子发热特别着急摔地上了之外,全身完好。不管哪的壳子买家秀都看起来很跌价。不过经常抱着电脑跑的人最好还是弄个。或者整个厚实一点的包。 25、总的来说还是可以。个人工作性质的原因,每次看到这个小本本跑程序比带水冷的i9还快的时候都觉得这钱花得值。 26、买之前一定多询价。正规渠道下最低价即可。Apple产品本来利润空间就小,太便宜的一定有问题。 注意理性消费: |
|
广告 Apple MacBook Pro 13.3 八核M1芯片 16G 512G SSD 深 京东 ¥12699.00 去购买? |
|
广告 Apple MacBook Pro 13.3英寸 苹果笔记本电脑 2021新款 京东 ¥9599.00 去购买? -------- 20210812更 27、实在忍不住再来夸一夸m1的单核性能。今天用latex编了点中文,结果在i9上用vs code编译一次20秒,换别人的i7+miktex编译1次10秒;换到texstudio再用i9编译一次7秒;晚上回家换到MacBook Pro + texstudio 编译一次 3 秒!!!! 好评!!!突然就有点期待Mac Pro了。 |
用起来很上手。 去年在美国捡到了一个M1。 刚刚拿到的时候它上面全是泥巴,饱经风霜啊。 捡起来然后用了几下,居然还是那么的优秀。 我最喜欢的就是它的“叮”,清脆利落,提醒着我该“充电”了。 速度很快,火力十足。 真实的立体声效,在播放枪声的时候极为真实,不对,纠正一下,已经就是那种能将真实的音效展现出来的那种效果,声临其境。 在拿到这个玩意之前,我也有幸在网络媒体上看到过它的身影,有不少关于对它的介绍。直到那天我真正的触摸到了这个令人澎湃的玩意。 而且它的还可以加装配件,比如说,你可以给它手动外置一个高倍镜,能让你看见更远的地方。 有一天我心血来潮,想把它拆开,看看那些关于它内部流传已久的精密的构造。 我拉了一下栓子——“叮~” 清脆的声音,让我停下来了。 我只是怕如果我把它拆开的话我将永远无法听见“叮~”了 欸,我居然对一把枪产生了感觉和想法,可恶啊。 |
|
希望你也能找到适合你的M1 —————————————————————————————————————————————————————————————————————————— 十分感谢大家的赞赏,第一次抖机灵,这铃铛给响的,把我吓了个激灵。 被认可让我晓得:生活再怎么冷清,也有热心网友在。 破两百个赞的时候,我已经想好以后我要出的书的书名了。 非常的感谢,被认可的感觉真的很好。 (?_?)(?_?)(?_?)(?_?)(?_?)(?_?)(?_?)(?_?)(?_?) |
|
0 (?_?)(?_?)(?_?)(?_?)(?_?)(?_?)(?_?)(?_?) 几天没见,居然破千了。 |
|
0 此时的我 |
|
|
|
咸鱼收了一台 M1 Mac mini, 16+256, 到手一个星期都没有重启过. 除了饿了么的兼容 App 在初次登陆的时候会崩之外(验证码输入的时候开了中文输入法), 其他场景都很流畅, FCPX 的剪辑性能不亚于 i7+6900XT 的机器, 像后期稳定这样的运算 M1 比 Intel 8核还要快, 422 视频更是轻松解码. |
|
|
|
得益于 M1 的性能, 16GB 下比 Intel 同内存急性能在更高的内存压力下有着更好的响应速度, 说实话对于浏览器这样的吃内存的场景, M1+16G 完全不亚于以往 ICL+32G 或者 SKL+32G 的表现. |
|
|
|
显示器是 6K+4K, 流畅, 没有问题, 风扇绝对不会像 15/16 寸那样起飞, 唯一的遗憾就是只能接两块显示器. |
|
GPU 性能很满意, 除了视频剪辑之外, Metro Exodus 这样的 3A 大作也能在 1080P 下运行, 而且几乎是静音运行. 因为我的 USB 设备都接在 XDR 背面, 加上 USB-C 用的都是屏蔽良好的雷电线, 所以没有出现干扰问题. |
|
|
|
广告 奥睿科(ORICO)雷电3硬盘盒NVME M.2固态SSD 京东 ¥759.00 去购买? |
|
广告 WD SN550 2T 京东 ¥1999.00 去购买? 目前没有彻底兼容 M1 的只有微信和 Steam, 除了官方的全家桶, 大到 Affnity Photo/Sketch, 小到做 GIF 的软件都支持了 M1 |
|
缺点还是接口太少, 所以专门搞了一个 Anker 的 1 出 3 TB3 的扩展坞, 这样 XDR, 万兆网卡, 采集卡和 1TB SSD 都能接上去. |
|
广告 Anker 雷电4Type-C扩展坞 京东 ¥1439.00 去购买? |
|
广告 Mac Mini M1 8核芯片/16G+256G 京东 ¥6799.00 去购买? |
2月18日修改回答 12月21日续航崩掉的问题当我升级完系统后就恢复啦 这次更新回答是奉劝像我一样用很多破解版软件的人,不要轻易升级那个什么monterey12.0(仅限于同样和我都是m1的用户,intel那边我就不清楚了) 例如我用我朋友的索尼a7r4相机拍摄的raw,lr(当时我是9点几)因为版本过低无法读取,而我花了几个小时去下载新版本,结果因为系统而出现一系列安装失败呀闪退呀之类的问题,而我尝试去安装正版11.0(试用期),直接成功并打开正常可以修图。卸载干净正版后,我之前的9.0版本的lr的安装包重新安装居然也出现问题无法安装,迫不得已,最后安装了10.3破解版本,不仅和9.0同样无法修改我朋友相机的raw文件,而且现在每次打开lr都必须在联网状态激活,很麻烦 除此之外,我是用的pd partner(这个是Windows虚拟机用),也在升级系统后出现问题 导致我重新安装了一个新版本的pd 所以,奉劝别tm像我一样没事升级大版本的系统,并且我没感觉新系统给我带来的任何好处 还有的问题还在,还多了一堆问题,现在我只能随时关注系统更新,把小版本一直升上去,唉 12月21日修改回答 我的m1续航突然崩了!!!! 以前m1写一天代码最多也就200%的电(超过8小时的中高强度工作) 但是刚刚,我在插着硬盘的情况下打开lr修图,工作了1小时半,就用了80%的电,你没听错,几乎用完了!! 而我的电池健康还有98%,我是真的惊到了,我没有任何非常规操作,曾经也这样修过图。也并未更新系统。 目前还不知道原因,有问题随时更新 |
|
2021.11.16日更新回答 实在觉得visual studio for mac有问题,用起来就是不舒服,所以去查了一下 原来vs formac 前身是xamarin Studio,2016年被微软收购,改了个名升了点级,成为现在的vs for mac |
|
|
|
然后看了下vs 和vs for mac 差异,艹 |
|
------------------------------以下是原回答 2021.6.27日到手 macbookair m1 16 1t,至今为止,换过一次屏幕,其他都一直很好 |
|
先说一下优点吧当然是对比Windows而言 极其优雅,不是装x啊,真的如此,动画UI界面都给人很舒服的感觉屏幕素质特别棒,唯一值得吐槽的就是无法显示纯黑自带brew,作为初级程序员,配置各种插件特别方便快捷,在Windows经常遇到或者需要自己手动解决环境配置问题。。。目前在mac上都基本傻瓜式安装续航很顶,一般能让我用8小时,但其实有的时候因为开的软件性能消耗很大,我一天也能用两个电池这么多 |
|
最近的,之前最多在250%,可惜没截图无噪音,air版没有风扇啦,很棒 接下来就是一些瑕疵了 屏幕太脆弱了,我才买了几个月,就手机不小心磕了一下,真没用力的那种,直接给我搞裂了售后特别贵,没有买ac的情况,换这个屏幕花了我3000,要知道学生买最低配的air只要7199,一个屏幕要将近一半?反正我学生党觉得真的贵 |
|
时不时出现个别软件卡顿,无响应,触摸不灵各种问题,目前我遇到最多的如下lr左侧有一部分鼠标点击无响应,重启软件恢复applemusic无法连接网络,重启软件恢复wps看pdf的时候无响应,重启软件恢复ps退出后,仍然在后台运行,而且我不能强制退出???导致耗电量特别大,需要重启电脑unity hub卡顿,联网连不上,重启软件恢复其他的零零碎碎都遇到过,不过大多重启软件就好了,至今出现过需要重启电脑的情况只有一次优雅过头了,动画还有界面都很好看,但是没有Windows那么迅速高效(当然这些都是一些很小的时间消耗),具体的比如那些窗口切换,显示桌面,左右全屏软件切换等等,mac都会给你一个自然的动画很舒服,而Windows上会直接转过去,速度快很多,办公的时候这一点我更喜欢Windows烫,我因为运行的软件有一部分都比较消耗性能,会导致底部特别烫,天气热的时候我都不穿短裤,根本不敢放光腿上,真的受不了,我经常不关闭一些软件,程序员习惯了性能也没说的那么好,根据自己体验,修图加载图片更快,剪辑视频也更快,但是在unity使用和编译代码的情况,还真不能够和同价位Windows拉开差距,甚至更慢一点都存在,尤其是unity使用中明显慢于我之前的一台8000价位的Windows电脑 差不多就这些啦,总的来说,我内心是认可mac的价值,尤其是这一次m1的版本,小问题的严重程度和频繁程度完全在我可以接受的范围之内,带来的体验真的很棒,把便携和优雅以及强劲的性能发挥到极致 如果要我去比较Windows和Mac的话 Windows就像是每块皮肤都可以定制的机器人,高效沉默生活简朴但可操作空间大,小问题或者需要自己去解决配置的地方特别多,而整个市场又极其庞大,往往很容易找到解决方案 mac就像是在星巴克喝咖啡的职场精英,优雅又有内涵,只是每天都要西装领带打扮成大人模样,可能我这个入门程序员更喜欢短袖休闲裤运动鞋一套随意转转 PS.没有歧视用mac编程的人啦,只是个人习惯我更喜欢用Windows去开发,我也经常在外出或者有空的时候,都会用mac去学习编程,因为他可以不插电随时用很好性能去运行。之前实习的几个公司也有很多人用nac,他们也都是比我厉害很多的大佬 我并不觉得什么系统或者IDE能够让一个人更优秀,只是一个优秀的人用上手的工具,能让他效率更好产出更多罢了,所以没必要给各个软件也好系统也好手机也好分高低好坏,只有喜欢的人和不喜欢的人 |
结论:总的来说我很满意,虽然实际使用起来有闹心的地方,但还是让人惊喜。 去年入了个M1 Mac mini 16+256 ,闲鱼入的,仅拆封试用,一个小姐姐比较痛快,5450出给我,当时其实不是刚需,但价格实惠,本着新的就是好的态度入了。 |
|
我是个Python开发,之前在办公室一直用的黑苹果(i7 8700k + 32g内存 + rx588)和一个mbp 2017 8+256,mbp性能不太行,平时不太用,只是临时应急,开会出差。主力机是黑苹果。但是有几个不方便的地方: 怕崩溃,时刻挂着时间机器的备份盘蓝牙断流(连airports pro和鼠标简直气死了)升级太麻烦,哪个程序员不想用最新的系统?usb口有时候鬼畜ipad屏幕镜像不能用 所以刚拿到M1的时候感觉太香了!新系统!蓝牙不断!一点也不卡!airpods终于可以跨设备切换了! 欧呦?这CPU竟然8个核? |
|
我擦!温度监控怎么弄出来这么些芯片!? |
|
一番新奇之后开始准备在开发环境使用了: 装个jetbrains Toolbox: Pycharm、Goland、DataGrip、Webstorm,还都有M1专用版本 装个Navicat,也挺顺利。 使用流畅,摸了摸主机完全就是室温,冰凉的 装各个语言环境的时候根据网上教程装了对应版本,也没什么问题。 能通过iwatch解锁了,ipad无线投屏也能用了!! 总体感觉就是,流畅、稳定、性能足够 有一次执行flake8的时候不小心把依赖包一起执行了,CPU瞬间8核全满,但是依然不卡。 装了2020版本的PR剪辑视频用,没有任何问题 装了最新版本的剪映,没有任何问题。 总的来说非常愉快的体验。 但是问题还是有的 1. 发现很多软件不能用 brew ,要用 arch -arm64 brew 但是并不是所有软件包都有arm支持 2. 要升级到Python3.9才支持arm 3. 没正式版docker,官方测试版本不好用(现在已经支持啦!2021年5月) 4. 不能用mysql,docker镜像也不行(可以用了~只是没arm版本 21年2月) 5. postgreSQL也没装上(可以通过Rosetta安装 21年8月) 6. 我常用的hanlp相关东西装不上,因为Java装arm版本以后hanlp跑起来总报架构相关的错,这个反馈过,后来觉得太麻烦就没再弄(可以正常用了~ 21年3月) 7. 有些软件的M1版本貌似不太一样,比如Postman 8. 有些稀奇古怪的东西,真的不好装,尤其Python依赖,有一次有个依赖实在装不上了(你们可以说我菜,但主要是CPU架构问题),一气之下用Go实现了,然后打包成二进制文件给项目调用 不过对我来说,5450米,带保修,性能跟我之前的黑苹果没多少差别,但个头非常小!官方硬件所有功能都有保障。作为一个开发机,完全够用了。 平时是接了俩屏幕雷电接口转DP接4k屏,原生hdmi接了个副屏,然后买了个扩展坞,垫在主机下那种,里面可以放一个2.5寸硬盘做扩展,弥补256硬盘不够用的问题,使用体验良好。 |
|
放假在家没图,将就一下 补图: |
|
docker以及其他目前M1用不了的东西,我局域网远程黑苹果主机就可以了,还是很流畅的。 于我而言真的很值 等以后过保了,华强北大神们能改硬盘大小以后(前段时间看视频说已经成功了,但是不清楚以后不会不会被苹果ban,所以还不敢给别人换)就换个大点的硬盘。 作为办公机,香 但是在这里针对新手、小白提个建议:如果你是希望把它作为生产工具,尤其是开发人员,还是要自己掂量一下的。因为虽然M1已经把适配做的不错了,但开发中还是会遇到很多奇奇怪怪的问题。虽然大多数都可以比较容易的解决,但"容易"的定义标准是因人而异的…… 生产力工具首要条件就是稳定,因为打败你的往往不是某个重大bug或缺陷,而是一个个源源不断的小问题… 但我还是对M1芯片充满期待,在我使用M1芯片的这段时间里,已经有越来越多的项目完成适配了。 等出M2,就可以把旧的mbp换掉了! 公司配的mbp2017 13寸 双核i5 英特尔 现在来看性能确实差了很多 ~~~~~~~21年6月更新~~~~~~~~ 到目前为止这台16g内存的m1 mac mini 已经彻底成为了我的生产力工具,无论是性能、内存、稳定性、兼容性都不再有让人不舒适的问题(只限我的工作范围)。 ———————————————————— 21年8月更新 又用了一段时间,做一下总结: 遇到过几次软件闪退,根据报错发现是内存不够导致的,我是16G内存,极端情况下开发工具开多了还是不大够用,所以8G版本还是不要考虑了,256内存也不大够用,还是选512好一些经过一段时间的探索,发现善用Rosetta可以解决绝大多数问题,最简单的可以从arm和x86双版本Homebrew共存的方式降低安装依赖难度不建议不爱折腾、不善于解决问题的程序员当做主力机 |
|
[收藏本文] 【下载本文】 |
上一篇文章 下一篇文章 查看所有文章 |
|
|
娱乐生活:
电影票房
娱乐圈
娱乐
弱智
火研
中华城市
印度
仙家
六爻
佛门
风水
古钱币交流专用
钓鱼
双色球
航空母舰
网球
乒乓球
中国女排
足球
nba
中超
跑步
象棋
体操
戒色
上海男科
80后
足球: 曼城 利物浦队 托特纳姆热刺 皇家马德里 尤文图斯 罗马 拉齐奥 米兰 里昂 巴黎圣日尔曼 曼联 |
网站联系: qq:121756557 email:121756557@qq.com 知识库 |