性能提高
文章平均质量分 51
windcsn
这个作者很懒,什么都没留下…
展开
-
动手实现TCP的Nagle算法,提高网络应用程序的性能
TCP有一个Nagle算法是用来提高TCP传输性能,主要是防止在对方窗口很小的情况下发送很少字节的包,来减少网络上不必要的数据包来提高internet的性能。详细信息参见TCP相关介绍。由于Nagle算法的存在,在某些时候导致小的及时传输的数据包不能被迅速的传递到对方,从而造成应用程序的性能问题,但如果将Nagle的算法Disable了,那么有些时候会出现1个有效字节40个包头(IP头+TCP头)原创 2005-07-18 20:00:00 · 8692 阅读 · 1 评论 -
使用WSASend改善网络程序的性能
socket本身有一个send函数,这个函数的只能一次发送一个缓冲区,这对于在发送大量数据的时候或者数据包很多的时候就可能导致可能导致系统的低性能,主要原因在于调用太多次的send函数,导致从用户态到核心态的不断切换,而耗费了当前的CPU时钟周期。那么解决办法就是减少调用send的次数,一种办法就是使用一个大一点的BUFFER,在发送数据的时候将多个数据包的内容COPY到这个BUFFER中,然后一原创 2005-07-19 09:41:00 · 3186 阅读 · 0 评论 -
怎么样编写高性能的C++程序
良好的代码风格是编写高性能程序的技术,下面是本人在做程序性能提高工作中总结的几点小知识,希望与大家一起分享:在文件或函数的头部定义变量,虽然C++可以随意定义变量,但头部定义变量有两点好处:首先便于阅读,第二就是可以根据变量的类型来调整顺序,从而方便CPU的处理考虑字节对齐,实际上面的第二点也就是这个问题。有个地方需要注意字节对齐:一是定义结构或类成员的时候,二是在传递参数的时候,三就是临时变量了原创 2005-07-19 10:02:00 · 2348 阅读 · 0 评论 -
影响网络应用程序性能的因素
随着网络的发展,越来越多的应用程序需要依赖于网络,所以网络的性能直接影响到我们应用程序的性能。那么都有那些因素影响到网络程序的性能来?我们以Windows平台上的应用程序来分析,首先将影响因素分为两个部分:基础网络部分,应用程序的网络驱动部分。基础网络部分指物理的网络结构和链路,主要有下面几个方面的因素:网络的速率和带宽。这是一个根本的问题,如果网络的基础设施不够快的话,那么其他都面谈。通讯计算机原创 2005-07-20 10:40:00 · 3139 阅读 · 2 评论 -
使用内存映射文件来提高你程序的性能
本人在学习《WINDOWS核心编程》的时候对JEFFREY大师提到的一个小程序写了两个版本来比较性能,该程序的原始需求是这样的:对一个大文件进行倒序,也就是将一个文件头变成尾,尾变成头。使用的方法有很多种,这里使用两个方法来比较,主要是突出使用内存映射文件好处;两种方法为:内存映射文件方法,I/O读写的缓存办法。第一种办法是创建内存映射文件对象,然后将该对象映射到进程的地址空间中,再读取文件内容,原创 2005-09-04 21:53:00 · 1809 阅读 · 2 评论 -
正确使用StretchBlt模式来改善缩放位图的性能
前段时间研究位图的放大,对StretchBlt的模式做了分析,其中主要比较的是默认模式和清晰度比较高的HALFTONE模式。为了进行图形缩放的时候得到质量较高的图形,HALFTONE模式被采用,但HALFTONE模式是将源矩形区中的像素映射到目标矩形区的像素块中,覆盖目标像素块的一般颜色与源像素的颜色接近,因此其运算量比较大,而且在设置为该模式以后需要设置刷子的源点。下面对使用默认模式和HALFT原创 2005-10-22 16:38:00 · 3964 阅读 · 0 评论 -
UDT协议-基于UDP的可靠数据传输协议
1. 介绍随着网络带宽时延产品(BDP)的增加,通常的TCP协议开始变的低效。这是因为它的AIMD(additive increase multiplicative decrease)算法彻底减少了TCP拥塞窗口,但不能快速的恢复可用带宽。理论上的流量分析表明TCP在BDP增加到很高的时候比较容易受包损失攻击。另外,继承自TCP拥塞控制的不公平的RTT也成为在分布式数据密集程序中的严重问题。拥原创 2006-01-04 16:41:00 · 13701 阅读 · 4 评论 -
Strlcpy和strlcat-一致的、安全的字符串复制和串接
Strlcpy和strlcat-一致的、安全的字符串复制和串接 本文描述了我们最常用的strcpy和strcat给代码带来的潜在问题:Crash、hacker方法,以及一些替代方法,例如:strncpy和strncat;但仍然解决不了所有问题,最后提到了strlcpy和strlcat的设计目标和作用。 翻译自同名英文版本 详细见:http://www.cppblog.com/windcsn/a原创 2006-10-05 18:46:00 · 2014 阅读 · 0 评论