分享到:文章主题: python这种高级语言是怎么处理字符串的
hillok楼主
ddddddd
身份
用户
文章
8467
星座
射手座
积分
41808
等级
沉香(10)

发信人: hillok (ddddddd), 信区: Python
标  题: python这种高级语言是怎么处理字符串的
发信站: 水木社区 (Thu Feb 13 19:47:40 2020), 转信
  
写了一个程序,拼字符串几十万次,拼出来的有几十万个字符
搞一把要10几秒
  
嫌太慢  改用c,strcpy  memcpy都用了
结果直接变成几分钟
  
感觉很神奇   python是怎么优化的? 直接操作内存?
  
--
  
※ 来源:·水木社区 stepinmars.com·[FROM: 218.78.173.*]
  

返回顶部
MetalSlugX第1楼
冰天雪地敲冰块,春光灿烂挖臭虫
身份
用户
文章
9713
积分
62629
等级
斗拱(14)

发信人: MetalSlugX (冰天雪地敲冰块,春光灿烂挖臭虫), 信区: Python
标  题: Re: python这种高级语言是怎么处理字符串的
发信站: 水木社区 (Thu Feb 13 19:50:47 2020), 转信
  
你是用+?
【 在 hillok (ddddddd) 的大作中提到: 】
: 写了一个程序,拼字符串几十万次,拼出来的有几十万个字符
: 搞一把要10几秒
: 嫌太慢  改用c,strcpy  memcpy都用了
: ...................
  
--
  
※ 来源:·水木社区 stepinmars.com·[FROM: 123.119.232.*]

返回顶部
hillok第2楼
ddddddd
身份
用户
文章
8467
星座
射手座
积分
41808
等级
沉香(10)

发信人: hillok (ddddddd), 信区: Python
标  题: Re: python这种高级语言是怎么处理字符串的
发信站: 水木社区 (Thu Feb 13 19:51:53 2020), 转信
  
啊  是啊
  
【 在 MetalSlugX (冰天雪地敲冰块,春光灿烂挖臭虫) 的大作中提到: 】
: 你是用+?
  
  
--
  
※ 来源:·水木社区 stepinmars.com·[FROM: 218.78.173.*]

返回顶部
here080第3楼
hero080
身份
用户
文章
6785
星座
狮子座
积分
46310
等级
灵樨(8)

发信人: here080 (hero080), 信区: Python
标  题: Re: python这种高级语言是怎么处理字符串的
发信站: 水木社区 (Fri Feb 14 02:13:15 2020), 转信
  
学习一下怎么估算程序的时间复杂度?
【 在 hillok (ddddddd) 的大作中提到: 】
: 标  题: python这种高级语言是怎么处理字符串的
: 发信站: 水木社区 (Thu Feb 13 19:47:40 2020), 转信
:  
: 写了一个程序,拼字符串几十万次,拼出来的有几十万个字符
: 搞一把要10几秒
:  
: 嫌太慢  改用c,strcpy  memcpy都用了
: 结果直接变成几分钟
:  
: 感觉很神奇   python是怎么优化的? 直接操作内存?
:  
: --
:  
: ※ 来源:·水木社区 stepinmars.com·[FROM: 218.78.173.*]
  
  
--
  
※ 来源:·水木社区 stepinmars.com·[FROM: 76.126.252.*]

返回顶部
Madlee第4楼
无竹居士
身份
核心驻版
文章
4858
积分
60309
等级
斗拱(14)

发信人: Madlee (无竹居士), 信区: Python
标  题: Re: python这种高级语言是怎么处理字符串的
发信站: 水木社区 (Fri Feb 14 09:10:46 2020), 站内
  
你的程序写的烂呗
--
  
※ 来源:·水木社区 http://stepinmars.com·[FROM: 101.88.160.*]

返回顶部
ToSimplicity第5楼
致简
身份
用户
文章
274
星座
处女座
积分
5609
等级
灵樨(8)

发信人: ToSimplicity (致简), 信区: Python
标  题: Re: python这种高级语言是怎么处理字符串的
发信站: 水木社区 (Fri Feb 14 09:23:21 2020), 站内
  
C和PY的版本都发出来对比一下。
--
  
※ 来源:·水木社区 http://stepinmars.com·[FROM: 183.195.14.*]

返回顶部
hillok第6楼
ddddddd
身份
用户
文章
8467
星座
射手座
积分
41808
等级
沉香(10)

发信人: hillok (ddddddd), 信区: Python
标  题: 高手指点一下
发信站: 水木社区 (Fri Feb 14 09:37:47 2020), 站内
  
while (len(a) < 100000000):
    count=0
    while count<1000:
      count=count+1
      a=a+"1111111111"
  
  
  
  
char a[8000000];
char *b="1111111111";
for (int i=1; i<200000; i++) {
         strcat(a,b);
}
  
  
以上两段分别是python3和C的代码
前者执行3秒,字符串累加到了1亿个字符
后者执行9秒,才累加到20万个字符
  
请问python3是怎么做到的?
C可以怎么优化?
  
  
【 在 ToSimplicity (致简) 的大作中提到: 】
: C和PY的版本都发出来对比一下。
  
  
--
  
※ 修改:·hillok 于 Feb 14 09:41:27 2020 修改本文·[FROM: 218.78.173.*]
※ 来源:·水木社区 stepinmars.com·[FROM: 218.78.173.*]

返回顶部
z16166第7楼
z16166
身份
用户
文章
4700
星座
魔羯座
积分
39996
等级
灵樨(8)

发信人: z16166 (z16166), 信区: Python
标  题: Re: python这种高级语言是怎么处理字符串的
发信站: 水木社区 (Fri Feb 14 10:05:59 2020), 站内
  
估计是c的字符串没存储长度信息导致的
  
【 在 hillok 的大作中提到: 】
:  
: while (len(a) < 100000000):  
: count=0  
: while count count=count+1  
: a=a+"1111111111"  
  
#发自zSMTH@HLTE700T
--
  
※ 来源:·水木社区 http://stepinmars.com·[FROM: 123.115.134.*]

返回顶部
hillok第8楼
ddddddd
身份
用户
文章
8467
星座
射手座
积分
41808
等级
沉香(10)

发信人: hillok (ddddddd), 信区: Python
标  题: Re: python这种高级语言是怎么处理字符串的
发信站: 水木社区 (Fri Feb 14 10:14:19 2020), 站内
  
代码写在上面了
帮看一下?
  
【 在 z16166 (z16166) 的大作中提到: 】
: 估计是c的字符串没存储长度信息导致的
: #发自zSMTH@HLTE700T
  
  
--
  
※ 来源:·水木社区 stepinmars.com·[FROM: 218.78.173.*]

返回顶部
hgoldfish第9楼
老鱼
身份
版主
文章
69970
积分
100123
等级
斗拱(14)

发信人: hgoldfish (老鱼), 信区: Python
标  题: Re: python这种高级语言是怎么处理字符串的
发信站: 水木社区 (Fri Feb 14 10:15:16 2020), 转信
  
python 里面拼接字符串要用 io.StringIO()
  
【 在 hillok (ddddddd) 的大作中提到: 】
: 写了一个程序,拼字符串几十万次,拼出来的有几十万个字符
: 搞一把要10几秒
: 嫌太慢  改用c,strcpy  memcpy都用了
: ...................
  
--
灭绝人性啊
  
  
※ 来源:·水木社区 stepinmars.com·[FROM: 183.250.222.*]

返回顶部

页面底部区域 foot.htm