ITPUB??ì3
ITPUB论坛 » 动态语言 » jython-python性能简单比较

新一届的微软MVP评选已经开始,欢迎各位推荐!

标题: [笔记] jython-python性能简单比较
离线 hotiice
版主


精华贴数 10
个人空间 0
技术积分 16699 (62)
社区积分 1796 (648)
注册日期 2004-9-9
论坛徽章:21
现任管理团队成员会员2007贡献徽章铁扇公主生肖徽章2007版:牛2008北京奥运纪念徽章:帆船2008北京奥运纪念徽章:游泳
设计板块每日发贴之星设计板块每日发贴之星生肖徽章2007版:蛇2008年新春纪念徽章生肖徽章2007版:龙生肖徽章2007版:兔

发表于 2006-8-7 10:33 
jython-python性能简单比较

一个法人单位代码校验函数
从c代码
PHP code:


bool VerifyCode
(char code[])

{

    if(
strlen(code)!=9)

    {

        return 
false;

    }

    
//strcpy(code,&quot;HBA90021X&quot<img src="images/smilies/23.gif" smilieid="206" border="0" alt="" />;

    
int v=0;

    for(
int i=0;i<8;i++)

    {

        
char c=toupper(code[i]);

        if(
isdigit(c))

            
c-='0';

        else if (
isalpha(c))

            
c=c-'A'+10;

        else

            return 
false;

        
int t=c*((1<<(8-i)) % 11);

        
v=v+t;

    }

    
v=(11-(v%11))%11//11->0

    
if(v<10)

        
v=v+'0';

    else

        
v='X';

    if(
v==toupper(code[8])) //'x'=='X'

        
return true;

    else

        return 
false;



}

改写

# vc.py 

import string 

def VerifyCode
(code): 

 if(
len(code)!=9): 

  return 


 v
=

 
for i in range(8): 

  
c=string.upper(code[i]) 

  if(
c in string.digits): 

   
c1=ord(c)-ord('0'

  
elif (c in string.letters): 

   
c1=ord(c)-ord('A')+10 

  
else: 

   return 


  t
=c1*((1<<(8-i)) % 11

  
v=v+

 v
=(11-(v%11))%11 

 
if(v<10): 

  
v=v+ord('0'

 else: 

  
v=ord('X'

 if(
v==ord(string.upper(code[8]))): 

  return 


 
else: 

  return 


然后用

# tt.py

import vc

import time

print time.strftime(&quot;%a, %%%%H:%M:%+0000&quot;, time.gmtime())

for 
i in range(100000):

 
str(900000000+i)

print 
time.strftime(&quot;%a, %%%%H:%M:%+0000&quot;, time.gmtime())

for 
i in range(100000):

 
vc.VerifyCode(str(900000000+i))

print 
time.strftime(&quot;%a, %%%%H:%M:%+0000&quot;, time.gmtime())



测试100000次循环





-------

结果如下
C:\jython22>jython tt.py
星期一, 07 八月 2006 02:30:00 +0000
星期一, 07 八月 2006 02:30:01 +0000
星期一, 07 八月 2006 02:30:09 +0000

C:\jython22>cd \py*

C:\Python25>python tt.py
Mon, 07 Aug 2006 02:30:28 +0000
Mon, 07 Aug 2006 02:30:29 +0000
Mon, 07 Aug 2006 02:30:31 +0000


__________________
①②⑧

只看该作者    顶部
离线 hotiice
版主


精华贴数 10
个人空间 0
技术积分 16699 (62)
社区积分 1796 (648)
注册日期 2004-9-9
论坛徽章:21
现任管理团队成员会员2007贡献徽章铁扇公主生肖徽章2007版:牛2008北京奥运纪念徽章:帆船2008北京奥运纪念徽章:游泳
设计板块每日发贴之星设计板块每日发贴之星生肖徽章2007版:蛇2008年新春纪念徽章生肖徽章2007版:龙生肖徽章2007版:兔

发表于 2006-8-8 13:53 
大家知道还有什么测算的办法


__________________
①②⑧

只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问