免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2358 | 回复: 9
打印 上一主题 下一主题

再问提取CSV文件的问题,C++很强啊 [复制链接]

论坛徽章:
1
戌狗
日期:2014-04-07 20:49:18
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-12-02 14:47 |只看该作者 |倒序浏览
用C++测试了,以'","' 为分割符号,50万行,只要0.7秒,perl的正则是我目前测试到的最快方法,耗时2.5秒
Perl难道做不到和C++一样的速度?

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
2 [报告]
发表于 2012-12-02 14:55 |只看该作者
楼主你不是不会C吗,怎么会 C++ 那么高端的语言了又。 Perl 比 C/C++ 慢是必然的。

论坛徽章:
1
戌狗
日期:2014-04-07 20:49:18
3 [报告]
发表于 2012-12-02 15:08 |只看该作者

zhlong8 发表于 2012-12-02 14:55
楼主你不是不会C吗,怎么会 C++ 那么高端的语言了又。 Perl 比 C/C++ 慢是必然的。

网上找个例子模仿一下

论坛徽章:
3
CU十二周年纪念徽章
日期:2013-10-24 15:41:34子鼠
日期:2013-12-14 14:57:19射手座
日期:2014-04-25 21:23:23
4 [报告]
发表于 2012-12-02 15:57 |只看该作者
对一门语言没有精通之前,最好不要对速度这个问题 妄下结论,既然觉得c++好 有何必 用perl写呢。直接去c版块去解决你的速度问题。。

论坛徽章:
1
戌狗
日期:2014-04-07 20:49:18
5 [报告]
发表于 2012-12-02 16:09 |只看该作者
mcshell 发表于 2012-12-02 15:57
对一门语言没有精通之前,最好不要对速度这个问题 妄下结论,既然觉得c++好 有何必 用perl写呢。直接去c版块 ...


测试结果是这样的,不存在妄下结论的说法
我没说C++比Perl好

我想我永远也不会精通哪门语言,我只是一个学习者。

论坛徽章:
42
19周年集字徽章-周
日期:2019-10-14 14:35:31平安夜徽章
日期:2015-12-26 00:06:30数据库技术版块每日发帖之星
日期:2015-12-01 06:20:002015亚冠之首尔
日期:2015-11-04 22:25:43IT运维版块每日发帖之星
日期:2015-08-17 06:20:00寅虎
日期:2014-06-04 16:25:27狮子座
日期:2014-05-12 11:00:00辰龙
日期:2013-12-20 17:07:19射手座
日期:2013-10-24 21:01:23CU十二周年纪念徽章
日期:2013-10-24 15:41:34IT运维版块每日发帖之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之新疆
日期:2016-06-07 14:10:01
6 [报告]
发表于 2012-12-03 09:04 |只看该作者
perl是解释语言,它的长处是方便易得,而不是性能。
关注perl的算法和性能提升没有问题
文件分析这块已经是perl的长项了。
但是拿它和c比,就有点强人所难了。这个差距一般是5~10倍以上吧。(你要是比循环,可能百倍都不止)
关键还是看你的应用场景。
如果真的需要用c,那就用呗。干这类简单的活,c也不比perl复杂多少。
perl的理念就是用合适的工具干合适的事情。
一般而言
通用的算法(比如正则)总是比不过专用的(只做,分割)。
封装的方法上总是比不上底层的。

论坛徽章:
1
戌狗
日期:2014-04-07 20:49:18
7 [报告]
发表于 2012-12-03 09:07 |只看该作者
回复 6# laputa73
恩,是这个理,Perl就是方便,方便到神奇,甚至不用关心数据类型,不像java,C那样必须申明


   

论坛徽章:
1
狮子座
日期:2013-12-16 16:09:24
8 [报告]
发表于 2012-12-04 12:40 |只看该作者
楼主你学学Perl 的 C Embedding
有人嫌YAML慢,写了YAML::XS
JSON->JSON::XS
etc

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2012-12-04 13:42 |只看该作者
可能测试方法不够科学吧。
按道理 Perl 的正则表达式性能不应该会差,再说了,这个差距还不到 4 倍,也不算大。

另外,你拿字符串切割来和正则表达式比,肯定有失公允,要不都用字符串处理,要不都用正则表达式,定位一样的情况下比较性能才有意义。

论坛徽章:
0
10 [报告]
发表于 2012-12-04 17:05 |只看该作者
这帖子主题不太明确。看不懂
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP