楼主: xingxf
18827 25

[学习心得] Stata12/13/14 运行速度对比测试 [推广有奖]

  • 0关注
  • 50粉丝

副教授

12%

还不是VIP/贵宾

-

威望
0
论坛币
60602 个
通用积分
771.2739
学术水平
224 点
热心指数
251 点
信用等级
138 点
经验
20781 点
帖子
755
精华
0
在线时间
521 小时
注册时间
2011-3-12
最后登录
2024-4-4

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
从Stata12到14,每个大版本升级都带来了许多新功能,比如13的长字符,比如14的Unicode和Bayesian等等。功能的增强是否伴随运行速度的提升呢?出于好奇心,进行速度测试。

测试环境为:iMac(Late 2012), CPU i7, 内存32G,OSX Yosemite 10.10.3,Stata 12/13/14均更新至最新小版本。手头的Stata 12/13/14均为MP版本,分别支持4核、8核、16核。为保证测试环境统一,均设置使用4核进行运算。

测试中执行如下程序: 设置60,000,000观察值,随机生成16个连续变量,一个dummy,运行logistic回归。

测试用代码如下:
set processor 4
timer on 1
set obs 60000000
forvalue i=1/16 {
gen x`i'=rnormal()
}
gen y=round(rnormal())
timer off 1
timer on 2
logistic y x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16
timer off 2
timer list

进行三轮速度测试,第一轮测试顺序为Stata 12/13/14,第二轮测试顺序为Stata 13/14/12,第三轮测试顺序为Stata 14/12/13。


Stata 12在三轮测试中用时分别为:
Timer 1(变量生成) / Timer2 (回归分析):
70.01s/91.49s
69.28s/89.88s
69.37s/90.98s

Stata 13在三轮测试中用时分别为:
Timer 1(变量生成) / Timer2 (回归分析):
71.05s/98.92s
71.84s/98.19s
71.15s/96.57s


Stata 14在三轮测试中用时分别为:
Timer 1(变量生成) / Timer2 (回归分析):
74.85s/114.67s
75.15s/111.30s
74.94s/113.60s


很明显,无论变量生成还是回归分析,Stata12用时最短,Stata14用时最长。换句话说,在速度方面,Stata12快于Stata13快于Stata14.

以上测试中,17个变量,6000万观察值,内存占用将近5G,最慢的Stata14变量生成加回归分析耗时也就是190s,速度很快了。

SAS没有MAC版本,本人目前无法对比测试。感兴趣的朋友可以试试看在计算机配置相同的情况下究竟哪个软件快(当然,要注意Stata的内存限制)。个人根据以往经验,感觉Stata更快。到底哪个快,还得拿数据说话。













二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:stata12 Stata 速度对比 tata logistic回归 速度对比

已有 4 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
statax + 10 + 1 精彩帖子
newfei188 + 1 精彩帖子
SpencerMeng + 20 + 1 + 1 + 1 精彩帖子
hustchen2012 + 20 + 20 + 2 + 2 + 2 精彩帖子

总评分: 经验 + 20  论坛币 + 50  学术水平 + 5  热心指数 + 3  信用等级 + 3   查看全部评分

沙发
逍遥梦蝶 发表于 2015-6-17 08:38:26 |只看作者 |坛友微信交流群
有点儿意思~~赞楼主!

使用道具

藤椅
hustchen2012 在职认证  发表于 2015-6-17 08:40:22 |只看作者 |坛友微信交流群
我本人的感觉是stata13要快于stata12,  可能是当时用的stata12 版本问题吧,赞楼主的格物致知精神

使用道具

板凳
逍遥梦蝶 发表于 2015-6-17 09:14:56 |只看作者 |坛友微信交流群
hustchen2012 发表于 2015-6-17 08:40
我本人的感觉是stata13要快于stata12,  可能是当时用的stata12 版本问题吧,赞楼主的格物致知精神
以前的Stata12破解版的话,以SE居多,目前坛子里Stata13破解的都是MP版本,不可同日而语

使用道具

报纸
hustchen2012 在职认证  发表于 2015-6-17 10:03:09 |只看作者 |坛友微信交流群
逍遥梦蝶 发表于 2015-6-17 09:14
以前的Stata12破解版的话,以SE居多,目前坛子里Stata13破解的都是MP版本,不可同日而语
对,这应该是问题的关键

使用道具

地板
SpencerMeng 在职认证  发表于 2015-6-17 10:59:43 |只看作者 |坛友微信交流群
呵呵  楼主果然是个技术控啊

点攒

使用道具

7
夏目贵志 发表于 2015-6-17 11:25:05 |只看作者 |坛友微信交流群
这个挺有意思的。楼主看见过这个帖子吗? http://www.statalist.org/forums/ ... v-13-mp2-vs-v-12-ic

帖子里提到,matsize不要设置的过大有助于提高速度。

使用道具

8
蓝色 发表于 2015-6-17 12:42:35 |只看作者 |坛友微信交流群
没有用过那么大的数据,没有什么感觉。

太大数据整个机器都慢了。
sas对大数据有优势,毕竟是硬盘交换数据。

要找合适的软件

使用道具

9
xingxf 发表于 2015-6-17 18:39:17 |只看作者 |坛友微信交流群
蓝色 发表于 2015-6-17 12:42
没有用过那么大的数据,没有什么感觉。

太大数据整个机器都慢了。
5G数据真心不算大了。Stata支持1T内存。就以我32G内存的机器来说,处理8G左右的数据是家常便饭。目前的机器是MAC,也没装Windows,所以没办法直接对比。以前有个Windows的机器是更早版本的i7,16G内存,我做过测试,2000万观测值,16个自变量,logistic回归,耗时1分钟。我这个MAC跑2000万观测值,16个自变量,logistic回归,耗时30秒。但是,这两个机器配置不同,所以对比结果没太大意义。但是,直观感觉,Stata比SAS快。SAS的硬盘交换数据是优势,这去除了内存容量的限制,但是,在内存够大的情况下,硬盘交换数据也是劣势,因为硬盘交互数据没有内存直接处理数据快。但是,如果考虑目前固态硬盘的交互速度,在使用固态硬盘的情况下,SAS可能会有速度的提升。但是,到底结果咋样,还得测试看。
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
猫爪 + 5 + 5 + 5 我喜欢你这种人,哈哈

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

使用道具

10
xingxf 发表于 2015-6-17 18:46:01 |只看作者 |坛友微信交流群
夏目贵志 发表于 2015-6-17 11:25
这个挺有意思的。楼主看见过这个帖子吗? http://www.statalist.org/forums/forum/general-stata-discussio ...
谢谢。那个帖子主要是讲clogit,实际上根据我的测试,跑别的回归也是慢。而且在变量生成的环节,14也比13慢,13比12慢。另外,跑以上的数据和matsize没有关系,我没有更改过matsize,全是软件默认值。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-10-6 22:40