Re: henyepMail [SPAM Suspected] Re: [cpp] 请问:3000个try{}catch{}宏是否会影响程序的性能呢?

qiaojie qiaojie at gmail.com
Fri Dec 21 11:36:09 CST 2007


如果对写C++程序没有信心那还不如用java或者.net,健壮性比C++强百倍,而性能可能还比蹩脚的C++程序更好。


在07-12-21,Carl Liu(Henyep SZ) <xxliu at cn.henyep.com> 写道:
>
>  我昨晚测了一下:效率相差了350倍左右。 但是觉得这样也未必能反映真实情况。
> 这个方法是比较僵硬,主要是考虑遇到的程序崩溃大部分都是由于内存访问违规引起的,
>
> char szSrc[100] = "adfsadkfjsa;ldfjsafjsa;dfjks;adfkjsa;f"
> char szDest[100]="" ;
>
> dword dw1 = GetTickCount() ;
> for(int i=0; i<10000; i++)
> {
>     rp(memcpy(szDest, SzSrc,sizeof(szDest))) ;
> }
> dword dw2 = GetTickCount() ;
> dword dwdif = dw2-dw1 ; //=5625
> for(int j=0; j<10000; j++)
> {
>    memcpy(szDest, SzSrc,sizeof(szDest)) ;
> }
> dword dwdif2 = GetTickCount() - dw2 ; //=16
>
> -----------------------------------
> Regards
>
>
>                     Carl
> -----------------------------------
>
>
>  ------------------------------
> *From:* cpp-bounces at codingnow.com [mailto:cpp-bounces at codingnow.com] *On
> Behalf Of *Guorui Ji
> *Sent:* 2007年12月20日 16:00
> *To:* C++ Discuss Group
> *Subject:* henyepMail [SPAM Suspected] Re: [cpp]
> 请问:3000个try{}catch{}宏是否会影响程序的性能呢?
>
> 建议自己做个测试吧,别人的答案只能参考。
>
> On Dec 20, 2007 3:56 PM, Carl Liu(Henyep SZ) <xxliu at cn.henyep.com> wrote:
>
> >  最近准备开发一个服务器程序,为了在程序崩溃时得到出错的代码位置(文件名,行数), 我想通过TRY/CATCH的机制自定义一个宏来实现。如下:
> > #define rp(x) \
> > try{x;}\
> > catch (...)\
> > {CString str; str.Format("Crashed on Line:%d,in File:%s",__LINE__,
> > __FILE__) ;AddtoLog(str, LOG_RELEASE) ; exit(1) ;}
> > 3000组左右的TRY/CATCH
> > 这样,在程序中涉及到内存操作的代码都会加上这个宏 (如, rp( memcpy(dest,src,size_t))
> > ;),大概会增加3000组左右的TRY/CATCH, 问题在于这3000~5000组左右额外的TRY/CATCH对性能的影响有多大?
> >
> >
> >
> >
> > -----------------------------------
> > Regards
> >
> >
> >                     Carl
> > -----------------------------------
> >
> >
> >  ------------------------------
> >
> >
> > _______________________________________________
> > Cpp mailing list
> > Cpp at codingnow.com
> > http://codingnow.com/mailman/listinfo/cpp
> >
> >
>
> _______________________________________________
> Cpp mailing list
> Cpp at codingnow.com
> http://codingnow.com/mailman/listinfo/cpp
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://codingnow.com/pipermail/cpp/attachments/20071221/b28fb9fb/attachment-0001.html


More information about the Cpp mailing list