c – 大缓冲区与大型静态缓冲区有比较有优势吗?
发布时间:2020-12-16 10:51:53 所属栏目:百科 来源:网络整理
导读:请考虑以下代码. DoSomething1()在1000次连续执行中比DoSomething2()更快吗? 我会假设,如果我在哪里调用DoSomething1()它1000次,它会比调用DoSomething2()1000倍更快. 使我的所有大缓冲区都静止有什么不利吗? #define MAX_BUFFER_LENGTH 1024*5 void DoSom
请考虑以下代码.
DoSomething1()在1000次连续执行中比DoSomething2()更快吗? 使我的所有大缓冲区都静止有什么不利吗? #define MAX_BUFFER_LENGTH 1024*5 void DoSomething1() { static char buf[MAX_BUFFER_LENGTH] ; memset( buf,MAX_BUFFER_LENGTH ); } void DoSomething2() { char buf[MAX_BUFFER_LENGTH] ; memset( buf,MAX_BUFFER_LENGTH ); } 感谢您的时间. 解决方法
静态缓冲区的缺点:
>如果您需要线程安全,那么使用静态缓冲区可能不是一个好主意. 静态缓冲区的优点: >静态缓冲区的分配较少.您不需要每次都在堆栈上进行分配.>使用静态缓冲区,由于分配过高,堆栈溢出的可能性较小. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |