前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >M1 芯片的 Macbook 运行 Stata 如何?

M1 芯片的 Macbook 运行 Stata 如何?

作者头像
PyStaData
发布2020-12-08 17:02:51
8K0
发布2020-12-08 17:02:51
举报
文章被收录于专栏:PyStaDataPyStaDataPyStaData

新买的 M1 芯片 Macbook Pro 到手了,之前还担心 Stata 兼容问题,体验三天后发现没遇见兼容性的问题。今天特意对比几台设备运行 Stata 情况,以导入工业企业数据库为例进行了简单对比,不得不说新版电脑真是丝滑。

Stata 兼容问题

Stata 16 has been updated to run natively on Apple Silicon and will be available as a free update.

最新的 Stata16 已经本地支持 Apple Silicon,只需要运行update all将软件升级;或者在官网下载安装包之后输入db update进行离线升级。如前图所示,更新完成之后的 Stata16 的结果窗口有You are running a beta version of Stata for Apple Silicon.的提示。

Stata 15 and earlier releases of Stata for Mac will run on Macs with Apple Silicon, but they’ll run much slower under emulation. We recommend that you upgrade to Stata 16 if you wish to run Stata on a Mac with Apple Silicon.

根据官网的介绍,Stata 15 及之前的版本也可以在新 Mac 上运行,但在模拟下运行速度会慢得多。如果希望在具有 Apple Silicon 的 Mac 上运行 Stata,建议您升级到 Stata 16。

另外,Github 上有个 M1 芯片兼容性测试的项目Does it ARM?,可以搜索关心的软件是否支持 M1 芯片,以及是本地支持还是通过Rosetta 2转换运行。从目前的测试结果来看,有 56%的软件本地支持,28.2%的通过Rosetta 2进行转换后运行。

运行对比

运行环境

为了直观的感受几台设备运行的差异,使用手边的电脑进行测试和对比。

  • 任务:导入 1998-2013 年工业企业数据库所耗时间
  • 设备参数:
    • MacBook Pro (M1, 2020) :M1 芯片,16g 内存+512g 储存空间;
    • Macbook Pro (Intel Core i5, 2017):8g 内存+128g 储存空间;
    • Windows(Win10-64 位, i7-6700HZ ):8g 内存。
  • 测试软件:
    • Mac: Stata15-SE, Stata16-SE
    • Windows: Stata15-SE, Stata16-MP
*************
* 0. 准备工作
*************
* 安装外部命令
net install benchmark,   ///
from(https://raw.githubusercontent.com/mcaceresb/stata-benchmark/master/)

*************
* 1. 测试
*************
* 导入数据
forvalues year = 1998/2013{
	benchmark: ///
	use "FIRM`year'_raw.dta", clear
}

运行结果

上图是导入 1998-2013 年数据的耗时结果,可以看出:

  • 不同版本:Stata15 和 Stata16 之间的耗时不存在明显的差别;
  • 不同设备:M1 芯片的 MBP 耗时明显快于 17 款的 MBP 和 Windows。

为更直观的对比,列举出 2010-2013 年的详细数据如下:

数据年份

数据大小(MB)

设备

Stata15(Seconds)

Stata16 (Seconds)

2010

296

MBP (M1)

0.101

0.189

2010

296

MBP (Intel i5)

0.591

0.506

2010

296

Window (Intel i7-6700HQ)

3.045

3.2

2011

477.2

MBP (M1)

0.322

0.241

2011

477.2

MBP (Intel i5)

0.831

0.879

2011

477.2

Window (Intel i7-6700HQ)

5.076

5.227

2012

484.8

MBP (M1)

0.175

0.41

2012

484.8

MBP (Intel i5)

0.87

0.75

2012

484.8

Window (Intel i7-6700HQ)

5.153

5.138

2013

842.6

MBP (M1)

0.301

0.062

2013

842.6

MBP (Intel i5)

1.38

1.551

2013

842.6

Window (Intel i7-6700HQ)

8.885

8.977

数据整理和绘图的代码如下:

*****************
* 2. 数据整理与绘图
* ***************
* 2.1 数据整理
import excel using "运行时间.xlsx", firstrow clear
split Stata15, p(" ")
split Stata16, p(" ")
encode 设备, gen("Device")
keep 数据年份 数据大小 Device Stata151 Stata161
rename (数据年份 数据大小 Stata151 Stata161) (Year Size Stata15 Stata16)
destring Stata15 Stata16, replace

* 2.2 画图
tw connect Stata15 Stata16 Year, by(Device, note("")) ///
scheme(tufte) legend(row(1)) ///
xtitle("") ytitle("耗时(单位:秒)") ///
ylabel(0(3)9) xlabel(1998(2)2013)
graph export "Spend_Time_By_Devices.jpg", replace

小结

本文简单地对比了三台设备使用 Stata 导入数据耗时情况,但未考虑设备后台程序内存占用等因素,因此,结果只能作为粗略参考。但是总体而言,可以观察出两方面的结论:

  • 一方面,M1 芯片的 MBP 运行耗时要快于其他两台设备,而且多次的导入显示运行较稳定;
  • 另一方面,Stata15 和 Stata16 在新版电脑上都可使用,没有不兼容的问题。但在使用过程中,可以明显感受到能本地支持的 Stata16 运行更顺畅。

参考资料

https://blog.stata.com/2020/11/10/stata-for-mac-with-apple-silicon/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PyStaData 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Stata 兼容问题
  • 运行对比
    • 运行环境
      • 运行结果
      • 小结
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档