精华内容
下载资源
问答
  • 最近经常挺多很多人有这方面的问题,那么到底什么是百度快照呢,快照根据字面意思就是快速照相用于储存和查看。快照大方向分为:搜索引擎快照,存储快照,图像快照。我们这里说到的百度快照主要就是搜索引擎快照...
        

    百度快照是什么?百度快照排名怎么做?如何删除百度快照?最近经常挺多很多人有这方面的问题,那么到底什么是百度快照呢,快照根据字面意思就是快速照相用于储存和查看。快照大方向分为:搜索引擎快照,存储快照,图像快照。我们这里说到的百度快照主要就是搜索引擎快照(百度快照,搜狗快照,360快照)。下面主要给大家介绍一下如何删除百度快照,什么是百度快照优化。

    3144730-119bb9fe716fa602.png

    如何删除更新百度快照?

    3144730-3018b393e91fc021.png

    百度官方提供删除更新百度快照的通道一般情况可以通过投诉快照的方式来删除快照或者更新快照,删除快照的条件是网站页面不存在或者网站无法打开才能判定为快照无效使之删除。除过手动更新百度快照外,百度搜索引擎也会定期自动更新网站上变化的内容。

    什么是百度快照优化?

    3144730-50b8ff64cae7162f.png

    百度快照优化通常也叫百度排名优化/百度SEO,大多数不清楚SEO的伙伴会分不清楚百度快照优化和百度优化的区别。我们通常看到的百度快照只是个名词就叫做百度快照,百度优化(百度网站优化)其实是通过对网站自身网站结构连接代码等调整来达到排名提高的效果,其实大家看到的百度快照是相对百度竞价广告的另一种展现形式而已。

    来源:王尘宇博客,欢迎分享,(QQ/微信:314111741)

    展开全文
  • Web前端开发学习3:SEO代码优化

    千次阅读 2015-10-31 18:28:17
    代码优化概述  关于代码优化的知识是纯理论的知识,学习的很枯燥。在学到CSS时,不免遇到CSS+div进行代码优化的知 识,因此在网上看了一些关于这方面的知识,简单的整合一下,梳理自己所了解的代码优化问题。  ...

            一代码优化概述

           关于代码优化的知识是纯理论的知识,学习的很枯燥。在学到CSS时,不免遇到CSS+div进行代码优化的知

    识,因此在网上看了一些关于这方面的知识,简单的整合一下,梳理自己所了解的代码优化问题。

            所谓代码优化是指对程序代码进行等价(指不改变程序的运行结果)变换。程序代码可以是中间代码,也可以是

    标代码。等价的含义是使得变换后的代码运行结果与变换前代码运行结果相同。优化的含义是最终生成的目标代码

    (运行时间更短、占用空间更小),时空效率优化。原则上,优化可以在编译的各个阶段进行,但最主要的一类是

    对中间代码进行优化,这类优化不依赖于具体的计算机。

           简单地说,就是在不改变程序运行效果的前提下,对被编译的程序进行等价变换,使之能生成更加高效的目标代

    码。

           二那么对于我们学习Web前端开发的网页制作来说有哪些要求呢?

           (1)尽量采用div+css布局您的页面,div+css布局的好处是让搜索引擎爬虫能够更顺利的、更快的、更友好的爬完

    您的页面;div+css布局还可以大量缩减网页大小,提高浏览的速度,使得代码更简洁、流畅、更容易放置更多内容。

           (2)尽量缩减您的页面大小,因为搜索引擎爬虫每次爬行您的站点时,存储数据的容量有限,一般建议100KB以

    下,越小越好,但不能小于5KB。网页大小减少还有一个好处,能够促使您的站点形成巨大的内部链接网。

           (3)尽量少用无用的图片和flash。内容索引所派出的搜索引擎爬虫,不认识图片,只能根据图片“ALT,TITLE”等属

    性的内容判断图片的内容。对于flash搜索引擎爬虫更是视而不见。

           (4)尽量满足w3c标准,网页代码的编写满足W3C标准,能够提升网站和搜索引擎的友好度,因为搜索引擎收录标

    准,排名算法,都是在W3C标准的基础上开发的。

           (5)尽量更深层次套用标签h1、h2、h3、h4、h5…..,让搜索引擎能够分辨清晰网页那一块很重要,那一块次之。

           (6)尽量少用JS,JS代码全部用外部调用文件封装。搜索引擎不喜欢JS,影响网站的友好度指数。

           (7)尽量不使用表格布局,因为搜索引擎对表格布局嵌套3层以内的内容懒的去抓取。搜索引擎爬虫有时候也是比

    较懒的,望各位一定要保持代码和内容在3层以内。

           (8)尽量不让CSS分散在HTML标记里,尽量封装到外部调用文件。如果CSS出现在HTML标记里,搜索引擎爬虫

    就要分散注意力去关注这些对优化没有任何意义的东西,所以建议封装到专用CSS文件中。

           (9)清理垃圾代码,要把代码编辑环境下敲击键盘上的空格键所产生的符号;把一些默认属性代码,不会影响显示

    的代码;注释语句如果对代码可读性没有太大影响,清理这些垃圾代码,会减少不少的空间。

           一个网页是由多种语言组成的,最基础的是HTML,CSS和JS。那么代码优化对于这些的要求又是什么?

           三html优化

           html代码是最为基础的网站制作语言,对于网站优化来说,html代码也有一定的影响,是特别需要注意的优化细

    节之一。

           (1)title标签

           title标签就是网页的标题,是一个对于网站优化有很大影响的html标签,每个页面都必须有且内容不同!基本格

    式为<title>网页标题</title>。

           (2)META元素

           meta元素在浏览器界面是无法看到的html标签,对于优化有影响的主要有两个,一个是关键字(keywords)、一

    个是描述(description)。其实,这两个标签随着seoer的胡乱使用,对于网站优化已经没有多少用处了,你完全可以

    不用设定,但我们还是习惯性的设置一下较为妥当。关键字,设定与本页内容相关的主关键词一到三个,之间用英文

    状态下的逗号分割。需要注意的是,不要再滥用关键字,除了给搜索引擎不好的印象外别无他用。描述还是很有用的

    一个东东了,虽然对于网站的优化排名么有多大的影响,但会作为搜索引擎展示网站索引的一个依据,可以把你的主

    关键字链接起来组合成一段通顺的话,一般60到80字即可。格式为:

      <meta name="keywords"content="">

      <meta name="description"content="">

           (3)h标签

           h标签在html代码中是“标题”的意思,就如一篇文章,标题是文章最为重要的一个对象,也是搜索引擎在排名时重

    点考虑的一个对象。html中的h标签一共有六个,分别是h1/h2/h3/h4/h5/h6,分别代表不同的级别,我们称之为一级

    标题、二级标题……当然,一级标题具备更多的权重。需要注意的是h标签是块级元素,默认是粗体显示,独占一

    行,前后会有空行。当然,你可以利用css来改变这些效果。

          关于h标签的使用,需要根据实际情况来使用,不可任意滥用。如一篇文章,不可能出现多个一级标题,所以

    h1,在同一个页面中只能出现一次,而h2等则可以出现多次,根据你需要表现的内容的重要程度,分别使用不同的h

    标签即可。特别注意,h标签中最好出现关键字!还有就是,随其自然,万不可刻意地用h标签来处理某些关键字!

           基本格式为:<h1>这里是标题文字</h1>

           (4)加强和强调

           strong被认为是“加强”,em被认为是“强调”,也就是这两个标签是有特殊含义的,这对于网站优化至关重要。多

    数时候,我们在优化网站时会对关键字进行突出,这时使用strong或em就比使用B或者I好很多,特别谨记!

           (5)alt和title

           alt是图像中的注释,title是图像或链接的标题,这两者对于优化,尤其是图像的优化至关重要,但也不要滥用!

    一般在插入图像时,我们在alt中设置图像的描述内容,其中可以包含关键字但不要故意堆砌,title则当作图像标题来

    处理。特别需要注意的是,这些内容是不可以重复的!也就是说,当你的页面中有多张图像,你不能每张图像的描述

    和标题都设置成一样的,这样很容易被搜索引擎惩罚!

      <img src="test.jpg"alt="一个美女站在黄昏的街头默默等待爱人的回归,眼神中充满了忧伤"title="静待">除此之

    外,title属性在a标签中也有所使用,只是有些泛滥了,视觉效果也不好,影响用户体验,所以笔者并不推荐,除非你

    的a标签中的内容是一张图片。

      <a href="product.html"title="产品展示">产品展示</a>

           (6)缩写abbr(目前我没有遇到过)
           这个标签是自定义的一种缩写方式,可以利用它合理的添加一些关键字,同样不要滥用。如下所示:

      公司的产品涉及<abbr title="以石材为原料的雕刻作品">石雕</abbr>、<abbr title="以铜料为胚,运用雕刻、铸塑

    等手法制作的一种造型艺术">铜雕</abbr>、<abbr title="附属在某一平面上的雕刻艺术">浮雕</abbr>、镂雕等各种雕

    刻形式。
           (7)canonical标签

           Canonical(权威链接标记)是09年,Google,Yahoo及Microsoft三大搜索引擎联合推出了一个旨在减少重复内容的

    一个建议,并不是命令,也就是说这个标签搜索引擎可能不遵守。国内最大的中文搜索引擎百度也已经支持

    Canonical标签。

           部分搜索引擎引入了Link的一个新属性Canonical。A页面声明B为权威链接,B声明C为权威网页,则搜索引擎会

    认为C是A和B共同的首选权威版本。此时Canonical标签起到了301重定向的作用。只能作用于同一个域名所在的网

    址,不能作用于不同域名上的重复内容。也就是说如果文章被其它网站抄袭,也不会因为这个标签而给你的原文章带

    来权重。如果是跨站,可以使用301重定向。该链接标签可用于定义相对地址,也可用于定义绝对地址。但为了保险

    起见,建议使用绝对地址。

           使用方法:为网页指定权威链接(authoritative|canonical URL),以解决副本内容(duplicate content)问题。

           使用样式:<link rel=”canonical” href=”网页权威链接”/>

           四CSS优化

           于网站排名优化来说,css的几乎没有任何影响,但往大的方向如网站优化来说,样式表css的优化就至关重要

    了,其主要作用即是提高网页的响应速度。
           (1)外链css
           css的使用有多种方式,一是嵌入式,即在html标签中直接定义样式表,如下所示:<p style="font-family:arial;font-

    size:16px;font-weight:bold;">Outside now its raining,and tears are falling from my eyes…</p>

    还有一种是直接定义在页面头部的如下:<styletype="text/css">p{ background:#f1f1f1; color:#333; line-height:20px;}

     </style>这两种方式都是把css写在当前html中,这样会造成hml文档变大,降低网页的响应速度,所以我们需要外链

    css,将所有与本页面相关的样式写入到该样式表中:<link href="style/common.css"rel="stylesheet"type="text/css"/>

           (2)精简css

           对于这一点需要一定的css能力才可以做到了。所谓精简,指的是用尽可能少的样式代码实现整个网页的样式效

    果,需要充分利用css的继承和综合使用,举一个简单的例子来说明。如页面中的链接,全部不需要下划线、大部分

    为12像素,但链接的颜色并不相同,个别的字体效果也不相同,我们就可以这样来写:
           a{ text-decoration:none; font-size:12px;}/*定义通用a样式*/
           a.a_red{ color:#e00;}
           a.a_blue{ color:#009;}
           a.a_menu{ color:#fff; font-size:14px; font-weight:bold;}/*针对特殊a标签只指定特殊样式*/
           因为css的继承作用,a_red和a_blue都具备没有下划线、12像素这一样式,而a_menu同样具备没有下划线,但

    因指定了大小,就不再继承12像素的指定而使用14像素。

            (3)整合css

            一般情况下,前端制作人员喜欢把通用样式写成一个文件,把专用样式写成另一个文件以便各个页面调用。如笔

    者,就喜欢把页面通用样式(包括通用的布局样式、文字样式等)写在common.css中,而把专用的写在另一个样式

    表中。如首页,我们就需要调用common.css和index.css两个样式表文件。这样做,对于前端来说是正确的。但对于

    优化,却不太好。多一个文件调用就需要多一次请求,当然也会多耗费一点时间。所以,在网站制作完成后,我们需

    要把页面的所有样式合并大一起以提高网页的响应速度!但需注意,合并css不利于网站后期整改,权衡利弊各取所

    需吧,具体是否合并还需根据你的实际情况而定。
            (4)压缩css

            压缩css其实很简单,就是去掉多余的空格和换行。实现起来也非常的简单,网上有很多工具,请自行搜索“css

    压缩”即可找到很多在线压缩工具。同上面一点,压缩后的css不便于后期整改,需要自己权衡取舍。

            五JavaScript优化编辑

            javascript代码对于网站排名优化同样没有多大影响,但从网站优化的角度来看却是至关重要的一步优化操作,

    优良的javascript代码可以大幅度提升网页的响应速度!

            (1)外链js代码

            js代码跟css的使用差不多,都有三种方式:

           内部定义:<A οnclick="if(confirm('确认?'){...}else{...})"href="#">confirm</A>

         头部插入:<script>...</script>

         外链调用:<SCRIPT language=javascript type=text/javascript src="jquery-1.7.2.min.js"></SCRIPT>

            (2)精简js代码

            这一点需要更为专业的js技术才能做到,尽可能根据需要实现的效果编写js,而不用从网上找一段代码直接拿来

    用,网上的代码很多功能很全,从而质量很大,而其中的很多功能对于我们要实现的效果是没有任何用处的,所以广

    拓企业网站建议你针对需要实现的效果定制js以便得到更为精简的代码,从而提高网页的响应速度。

            (3)压缩js代码
            对于这点,网上也有很多的工具,请百度查询“js压缩工具”即可。

            (4)置底js代码

            一般情况下,我们都是把js放到head之间的,这种方式在页面加载时即会加载,当然也就导致响应速度的降低

    ,百度站长平台建议把js放到页面最底部,也就是</html>之外。等html加载完毕之后才加载js代码,当然,有部分特

    殊功能的js代码是没有办法放到页面底部的,具体请根据实际情况操作。

           补充说明:针对js图像特效等,可能会影响网站关键字排名的!有的特效图像的路径、说明等都是写入到js中的,

    这种特效尽量不要使用。

           上面说到了三种技术对网页优化起到的作用,我们都知道CSS+div是一个重要的优化过程。我们要着重说一下

    CSS+DIV的优化问题。

           六DIV+CSS优化

           对于蜘蛛在爬行一个网站的页面时,若是有太多的垃圾代码,会使搜索蜘蛛对其产生不友好、不信任感,同时蜘

    蛛的爬行速度也会因此而减缓,对于网站SEO而言,可谓一大忌。就如传统的用table页面,对此我们就需要对网站进

    行代码优化,而这便需要动用CSS+div了,下面便来谈谈使用CSS+div进行代码优化的一些益处。

            (1)精简代码,降低重构难度。

            网站使用DIV+CSS布局使代码很是精简,相信大多朋友也都略有所闻,css文件可以在网站的任意一个页面进行

    调用,而若是使用table表格修改部分页面却是显得很麻烦。要是一个门户网站的话,需手动改很多页面,而且看着那

    些表格也会感觉很乱也很浪费时间,但是使用css+div布局只需修改css文件中的一个代码即可。

           (2)网页访问速度

           使用了DIV+CSS布局的网页与Table布局比较,精简了许多页面代码,那么其浏览访问速度自然得以提升,也从

    而提升了网站的用户体验度。

           (3)SEO优化

           采用div-css布局的网站对于搜索引擎很是友好,因此其避免了Table嵌套层次过多而无法被搜索引擎抓取的问

    题,而且简洁、结构化的代码更加有利于突出重点和适合搜索引擎抓取。

           (4)浏览器兼容性

           DIV+CSS相比TABLE布局,更容易出现多种浏览器不兼容的问题,主要原因是不同的浏览器对web标准默认值不

    同。国内主流是ie,firefox及chrome用的较少,在兼容性测试方面,首先需要保证在ie多版本不出现问题,这里涉及

    到一些方法和技巧,可以针对具体问题在网站查找解决办法。

           (5)CSS+DIV网页布局的时候常犯的小错误

           1. 检查HTML元素是否有拼写错误、是否忘记结束标记

            即使是老手也经常会弄错div的嵌套关系。可以用dreamweaver的验证功能检查一下有无错误。

           2. 检查CSS是否书写正确

           检查一下有无拼写错误、是否忘记结尾的 } 等。可以利用CleanCSS来检查 CSS的拼写错误。CleanCSS本是为

    CSS减肥的工具,但也能检查出拼写错误。

           3. 用删除法确定错误发生的位置

           如果错误影响了整体布局,则可以逐个删除div块,直到删除某个div块后显示恢复正常,即可确定错误发生的位

    置。
           4. 利用border属性确定出错元素的布局特性

           使用float属性布局一不小心就会出错。这时为元素添加border属性确定元素边界,错误原因即水落石出。

           5. float元素的父元素不能指定clear属性

           MacIE下如果对float的元素的父元素使用clear属性,周围的float元素布局就会混乱。这是MacIE的著名的bug,倘

    若不知道就会走弯路。

           6. float元素务必指定width属性

    很多浏览器在显示未指定width的float元素时会有bug。所以不管float元素的内容如何,一定要为其指定width属性

    另外指定元素时尽量使用em而不是px做单位。

           7. float元素不能指定margin和padding等属性

           IE在显示指定了margin和padding的float元素时有bug。因此不要对float元素指定margin和padding属性(可以在

    float元素内部嵌套一个div来设置margin和padding)。也可以使用hack方法为IE指定特别的值。

           8. float元素的宽度之和要小于100%

    如果float元素的宽度之和正好是100%,某些古老的浏览器将不能正常显示。因此请保证宽度之和小于99%。

           9. 是否重设了默认的样式?

    某些属性如margin、padding等,不同浏览器会有不同的解释。因此最好在开发前首先将全体的margin、padding设置

    为0、列表样式设置为none等。
           10. 是否忘记了写DTD?

           如果无论怎样调整不同浏览器显示结果还是不一样,那么可以检查一下页面开头是不是忘了写下DTD声明。最

    后,需要注意的是,蜘蛛不喜欢一个页面有太多的css代码,否则同样会影响蜘蛛的爬行,影响搜索引擎的收录,所

    以采用外部调用的方式调用CSS是非常不错的方法。而同时,若非必须太多花哨的网站,采用CSS布局,同样可以到

    达所想要的效果。如网站导航中的文字颜色变化、下拉菜单等。

           

           

           





    展开全文
  • 本文地址:...一个简单的累加求和程序: TYPE S=0; for(int i = 0;i ; i++) { S += a[i]; } ...很多人都觉得这个程序写得不好,编译器不能生成很好的汇编代码。于是有了以下的几种“优化”: #inc

    TODO: 用while写法的程序会不会循环展开?

    本文地址:http://blog.csdn.net/hengyunabc/article/details/7170865

    一个简单的累加求和程序:

    	TYPE S=0;  
    	for(int i = 0;i < SIZE; i++) {  
    		S += a[i];  
    	}


    很多人都觉得这个程序写得不好,编译器不能生成很好的汇编代码。于是有了以下的几种“优化”:

    #include <iostream>
    using namespace std;
    
    void main(int argc,char **argv)
    {
    #define TYPE int
    #define SIZE 10000
    
    	TYPE* a=new TYPE[SIZE];  
    	for(int i = 0; i<SIZE; ++i){
    		a[i] = i;
    	}
    	//求和,通常版本
    	TYPE S=0;  
    	for(int i = 0;i < SIZE; i++) {  
    		S += a[i];  
    	}
    	cout<<S<<endl;
    
    	TYPE S2 = 0;
    	//版本1:认为中间产生的变量i是多余的,改为用移动指针
    	TYPE* end = a + SIZE;
    	for( ; a != end; ) {  
    		S2 += *(a++);  
    	}
    	cout<<S2<<endl;
    
    	//版本1中把a移到了数组的最后,现在移回原来的位置
    	a = end - SIZE;
    
    	//版本2:认为循环次数太多了,可以改为减少循环次数
    	TYPE S3 = 0;
    	for(int i = 0; i < SIZE; ){ //仅当SIZE为偶数时
    		S3 += a[i++];
    		S3 += a[i++];
    	}
    	cout<<S3<<endl;
    
    	//版本3:认为版本2中会使CPU不能乱序执行,降低了效率,应该改为汇编,把中间结果放到独立的寄存器中
    	//谢谢 menzi11 的文章,让我认识到程序中相关的数据会让CPU不能乱序执行。
    	//这里用伪汇编代替
    	TYPE S4 = 0;
    
    	register TYPE r1 = 0;
    	register TYPE r2 = 0;
    	for(int i = 0; i < SIZE; ){ //仅当SIZE为偶数时
    		r1 += a[i++];
    		r2 += a[i++];
    	}
    
    	cout<<r1 + r2<<endl;
    }

    上面的几种版本都合理,但是这些优化都是建立在编译器不能生成高效的汇编代码的假设上的。

    下面来看下编译器生成的结果(vs2010,release):

    	for(int i = 0;i < SIZE; i++) {  
    		S += a[i];  
    013B1040  mov         ebx,dword ptr [eax+4]  //把a[0],a[4],a[8]...累加到ebx中
    013B1043  add         ecx,dword ptr [eax-8]  //把a[1],a[5],a[9]...累加到ecx中
    013B1046  add         edx,dword ptr [eax-4]  //把a[2],a[6],a[10]...累加到edx中
    013B1049  add         esi,dword ptr [eax]    //把a[3],a[7],a[11]...累加到esi中
    013B104B  add         dword ptr [ebp-4],ebx  
    013B104E  add         eax,10h  
    013B1051  dec         dword ptr [ebp-8]  
    013B1054  jne         main+40h (13B1040h)  
    	}
    	cout<<S<<endl;
    013B1056  mov         eax,dword ptr [ebp-4]  
    013B1059  add         eax,esi  		      
    013B105B  add         eax,edx  
    013B105D  mov         edx,dword ptr [__imp_std::endl (13B204Ch)]  
    013B1063  add         ecx,eax                //上面的3条add指令把ebx,ecx,edx,edi都加到ecx中,即ecx是累加结果

    可见编译器生成的代码是最好的代码,消灭了中间变量i,减少了循环次数,消灭了会造成CPU不能乱序执行的因素。


    BTW:

    有人可能会有疑问:要是size不是偶数,编译器能生成类似的高效汇编代码不?

    当SIZE = 9999时:

    //当SIZE = 9999时,编译器把中间结果放到三个寄存器中,perfect
    	for(int i = 0;i < SIZE; i++) {  
    		S += a[i];  
    01341030  add         ecx,dword ptr [eax-8]  
    01341033  add         edx,dword ptr [eax-4]  
    01341036  add         esi,dword ptr [eax]  
    01341038  add         eax,0Ch  
    0134103B  dec         ebx  
    0134103C  jne         main+30h (1341030h)  
    	}

    当SIZE  = 9997 时:

    //当SIZE = 9997时,有点复杂,先把a[0]到a[9995]累加到ecx和edx中
    //再把a[9996]入到edi中,最后把ecx,edi都加到edx中
    //edx压栈,调用operator<< 函数
    	for(int i = 0;i < SIZE; i++) {  
    00D31024  xor         eax,eax  
    		S += a[i];  
    00D31026  add         ecx,dword ptr [esi+eax*4]  
    00D31029  add         edx,dword ptr [esi+eax*4+4]  
    00D3102D  add         eax,2  
    00D31030  cmp         eax,270Ch  
    00D31035  jl          main+26h (0D31026h)  
    	for(int i = 0;i < SIZE; i++) {  
    00D31037  cmp         eax,270Dh  
    00D3103C  jge         main+41h (0D31041h)  
    		S += a[i];  
    00D3103E  mov         edi,dword ptr [esi+eax*4]  
    	}
    	cout<<S<<endl;
    00D31041  mov         eax,dword ptr [__imp_std::endl (0D3204Ch)]  
    00D31046  add         edx,ecx  
    00D31048  mov         ecx,dword ptr [__imp_std::cout (0D32050h)]  
    00D3104E  push        eax  
    00D3104F  add         edx,edi  
    00D31051  push        edx  
    00D31052  call        dword ptr [__imp_std::basic_ostream<char,std::char_traits<char> >::operator<< (0D32048h)]  

    上面的分析都是SIZE,即数组的大小是已知情况下,那个数组大小是未知情况下,编译器又会怎样?

    TYPE mySum(TYPE* a, int size){
    	TYPE s = 0;
    	for(int i = 0; i < size; ++i){
    		s += a[i];
    	}
    	return s;
    }

    生成的汇编代码:

    //先累加a[0] 到 a[size-2]
    	TYPE s = 0;
    00ED100C  xor         esi,esi  
    	for(int i = 0; i < size; ++i){
    00ED100E  xor         eax,eax  
    00ED1010  cmp         ebx,2  
    00ED1013  jl          mySum+27h (0ED1027h)  
    00ED1015  dec         ebx  
    		s += a[i];
    00ED1016  add         ecx,dword ptr [edi+eax*4]    //a[0],a[2],a[4]...加到ecx中
    00ED1019  add         edx,dword ptr [edi+eax*4+4]  //a[1],a[3],a[5]...加到edx中
    00ED101D  add         eax,2  
    00ED1020  cmp         eax,ebx  
    00ED1022  jl          mySum+16h (0ED1016h)  
    00ED1024  mov         ebx,dword ptr [size]  
    	for(int i = 0; i < size; ++i){
    00ED1027  cmp         eax,ebx                       //判断最后一个元素有没有加上
    00ED1029  jge         mySum+2Eh (0ED102Eh)  
    		s += a[i];
    00ED102B  mov         esi,dword ptr [edi+eax*4]     //当size是奇数是会执行,偶数时不会执行
    00ED102E  add         edx,ecx  
    	}


    总结:C++的编译器生成的汇编代码在绝大多数情况下都和人写出的最好的汇编代码相当。

    关键的一点是编译器会不断升级,适应新的cpu指令,体系等,手写的汇编代码则通常悲剧了。

    知道编译器能优化到什么程度,编译器到底怎样优化,是程序员很重要的素质。


    展开全文
  • 在我们之前的文章中也或多或少地向大家介绍了有关HTML代码优化技巧,接下来将系统地讲解HTML代码的几个优化重点。 1.Title 标签 Title 标签能够告诉用户和搜索引擎网页页面的主题思想是什么,一直是搜索引擎的...

    众所周知,HTML代码一直是搜索引擎抓取的重点。搜索引擎会将HTML中的某些元素标签作为影响网页排名的重要依据

    在我们之前的文章中也或多或少地向大家介绍了有关HTML代码的优化技巧,接下来将系统地讲解HTML代码的几个优化重点。

    1.Title 标签

    Title 标签能够告诉用户和搜索引擎网页页面的主题思想是什么,一直是搜索引擎的抓取重点。通常,搜索引擎抓取Title标签出于两个目的:作为影响网页排名的重要因素和作为搜索结果页面的显示信息。不管是哪一个目的,对我们做SEO来说都非常重要。
    一般来说,Title标签中的单词最好保持在3~6个左右,最好包含关键字。但Title标签中的单词不要全部都是关键字,因为这样可能会造成页面关键字堆砌,导致过度优化。所选单词应简洁明了、具有描述性,要与网页内容具有很大的相关性,并且每个不同的页面都应该包含Title标签。

    2.Meta Description标签

    对Title标签优化之后,接下来就是对Meta Description标签的优化。Meta Description标签可以说是对Title标签的进一步解释,可以是一句话或者是包含十几个单词的短语。每个页面都该有其自己的Meta Description标签,并且Meta Description标签还可包含一些与网站内容相关但Title标签中未提及的信息。与Title标签要求相似,该部分内容也应具有描述性,与网页内容具有相关性,可包含关键字,但不可过多。

    3.Heading标签

    Heading标签包含了H1、H2、H3等等,是搜索引擎识别页面信息的重要标记。合理使用H1、H2、H3等不同级别的标签能够使得页面结构更加清晰,有利于搜索引擎的抓取。H1、H2、H3等标签是按照重要程度来排名的。一般一个页面按照需求程度来适当添加该标签:从H1开始,依次往下添加。但不可添加太多Heading标签,否则会适得其反。

    4.Strong和B标签

    相信大多数朋友都知道Strong和B标签都有加粗的意思,但是很多人并不清楚两者具体有什么区别。其实B标签就是单纯地将文字加粗,而Strong标签不仅是对文字加粗,并且这种形式的加粗会告诉搜索引擎该部分文字比较重要。所以两者从搜索引擎优化的角度来看,是有很大的区别的。
    上文中所提到的Heading标签页具有加粗效果,那么这三种标签到底该怎么用?其实,Heading标签一般用于文章大标题以及每段的小标题,而Strong标签一般用于文章段落中的重点词汇,而B标签一般只是强调一种视觉效果。

    5.ALT标签

    ALT标签是一种图片标签,它将图片的信息以文本的形式展现。对ALT标签的使用没有太多要求,只要在网页中出现图片的部分添加上该属性即可,但其标签内容应与相应页面内容具有相关性,长度不得过长,一般1~5个单词即可。

    以上介绍了HTML代码中的五种重要标签,相信会对做SEO工作的人员特别是SEO新手具有很大帮助。对HTML代码的优化一直是我们做搜索引擎优化工作的非常基础并且重要的一部分,只有做好了这部分优化工作,我们才能开展更加深层的优化。

    原文:http://www.jb51.net/yunying/154286.html

    展开全文
  • Delphi 代码优化

    千次阅读 2007-06-29 23:32:00
    Delphi 代码优化 Come from: http://www.optimalcode.com 文章编目 [显示隐藏] 1. 字符串优化 1.1. 不重复初始化 1.2. 使用SetLength预分配长字符串(AnsiString) 1.3. 字符串与动态数组的线程安全(Thread Safety) ...
  • Java 代码性能优化

    千次阅读 2016-11-02 10:05:52
    代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,...
  • 35个Java代码优化的细节,推荐

    万次阅读 2020-06-23 14:59:14
    代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,...
  • java优化代码常见套路

    万次阅读 多人点赞 2019-12-28 11:32:03
    程序员的痛点(烂代码) ...首先说一个最重要的优化原则:代码优化是你觉得你代码很繁琐、阅读性很差的时候一定要马上优化,立刻马上,不管你现在有多忙,每天优化才叫重构,每年优化那叫重写 这个原则为什么重...
  • java代码优化:35个技巧

    千次阅读 2019-05-22 10:02:25
    代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,...
  • 不得不看的Java代码性能优化总结

    千次阅读 多人点赞 2015-11-30 15:19:24
    前言 代码优化,一个很重要的课题。...代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考
  • C 语言高效编程与代码优化

    千次阅读 2017-02-14 20:23:23
    译文链接:... 英文原文:Writing Efficient C and C Code Optimization 翻译作者:码农网 – gunner ...应用这些经验和方法,可以帮助我们从执行速度和内存使用等方面来优化
  • 整理的一些代码优化细节

    千次阅读 2018-05-15 23:28:18
    代码优化细节1、尽量指定类、方法的final修饰符带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,...
  • 代码优化-之-优化除法

    万次阅读 热门讨论 2006-08-25 10:21:00
    > HouSisong@GMail.comtag:代码优化,除法,牛顿迭代,减法代替除法,除法优化 说明:文章中的很多数据可能在不同的CPU或不同的系统环境下有不同的结果,数据仅供参考 x
  • C语言高效编程与代码优化

    千次阅读 2017-03-13 16:11:08
    应用这些经验和方法,可以帮助我们从执行速度和内存使用等方面来优化C语言代码。 简介 在最近的一个项目中,我们需要开发一个运行在移动设备上但不保证图像高质量的轻量级JPEG库。期间,我总结了一些让程序...
  • JAVA常见代码优化技巧 ---面试总结

    千次阅读 多人点赞 2020-03-04 18:33:17
    代码优化,一个很重要的课题。 随着互联网技术的更新,越来越多的新技术的发明帮助我们更好的解决处理问题,当然面对已知的问题总是存在更好的解决方案。代码优化就好比建楼房,本来你只用十吨水泥完成的量,你却...
  • Pandas初学者代码优化指南

    千次阅读 2017-11-21 17:07:42
    摘要:Pandas 是Python Data Analysis Library的简写,它是为了解决数据分析任务而创建的工具,本文介绍了五种由慢到快逐步优化其效率的方法 ,以下是译文如果你用Python语言做过任何的数据分析
  • 如何让自己的代码更加优雅,如何让自己的代码越来越健壮,如何让自己跳出天天都在处理bug的怪圈。如何让自己过了2个月后看自己编辑的代码依然轻轻松松就知道它是干嘛的。 一个开发了50年的老程序员Bob大叔告诉你就...
  • 情景介绍:在项目的demo期,为了快速完成任务,有时候难免在项目上写...Q1:什么是query 101错误? A:通俗的讲,就是查询次数太多超出了API限制。 Q2:有代码实例来再现这个问题吗? A:以促销为例展开说明。 描述:假
  • 在学数组的时候出现的问题,用简便的循环来排序,还是用略多的代码来达到效率的优化
  • 六则糟糕代码优化方案

    千次阅读 2021-06-05 00:52:28
    点击下方“前端开发博客”,选择“设为星标”第一时间关注技术干货!这里分享代码 review中发现的六则糟糕代码的案例,并进行分析:案例一变量、属性和函数名应该使用小驼峰式命名法,并且名称...
  • 35 个 Java 代码性能优化总结

    千次阅读 2015-12-28 09:21:38
    代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,...
  • CCS中的DSP代码优化指令

    千次阅读 2013-07-15 16:49:45
    restrict的作用就是限制一个指针对一块内存的访问,进一步说就是如果一块内存区域通过一个受限制指针访问,...引入restrict的目的是确保同一块内存上没有其它引用,让编译器更好地优化指令,生成更有效的汇编代码
  • 来自:www.cnblogs.com/xrq730/代码优化的最重要的作用应该是:避免未知的错误在代码上线运行的过程中,往往会出现很多我们意想不到的错误,因为线上环境和开...
  • 35+ 个 Java 代码性能优化总结

    万次阅读 2016-03-28 23:19:02
    前言 代码优化,一个很重要的课题。可能有些人觉得没用,一些...代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候
  • 代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,...
  • 在公司有一个需求需要将前端传过来的10张照片,后端接收过来进行处理以后压缩成一个压缩包通过网络流传输出去。之前没有接触过用Java压缩文件的,所以就...未优化压缩文件的代码如下: private static String ZI...
  • 25种代码坏味道总结+优化示例

    千次阅读 2021-05-16 19:19:19
    什么样的代码是好代码呢?好的代码应该命名规范、可读性强、扩展性强、健壮性…而不好的代码又有哪些典型特征呢?这25种代码坏味道大家要注意啦 公众号:捡田螺的小男孩 github地址 1. Duplicated Code (重复代码...
  • 怎样优化代码中那么多的if else

    千次阅读 2020-04-25 09:22:56
    if else 是我们写代码时,使用频率最高的关键词之一,然而有时过多的 if else 会让我们感到脑壳疼。...那么我们本文就来详细聊聊,有没有什么方法可以让我们避免来写这么多的 if else 呢? 我们本文提供了 9 种...
  • 如何优化我们的代码(vue项目)

    千次阅读 2019-04-30 14:07:18
    作为一个前端,可能绝大多数的时间都是在写的业务代码,时间一长,大家会觉得乏味、没意思等等,但是其实就算只是写业务代码,我们也依然能够找到有兴趣的点,说的简单一点就是代码优化,不仅仅局限在业务逻辑这块,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 223,828
精华内容 89,531
关键字:

代码优化是什么意思