导航:首页 > 程序命令 > 1024程序员加速

1024程序员加速

发布时间:2023-02-19 01:14:43

Ⅰ Windows XP的加速设置

硬件优化

1、内存性能优化

Windows XP中有几个选项可以优化内存性能,它们全都在注册表下面位置:HKEY_LOCAL_ ManagerMemory Management

1)禁用内存页面调度(Paging Executive)

在正常情况下,XP会把内存中的片断写入硬盘,我们可以阻止它这样做,让数据保留在内存中,从而提升系统性能。要注意的是,拥有很多内存的用户(256M以上)才好使用这个设置。这个设置的名字正如它的功能一样,叫“DisablePagingExecutive”。把它的值从0改为1就可以禁止内存页面调度了。

2)提升系统缓存:把LargeSystemCache键值从0改为1,Windows XP就会把除了4M之外的系统内存全部分配到文件系统缓存中,这意味着XP的内核能够在内存中运行,大大提高系统速度。剩下的4M内存是用来做磁盘缓存的,在一定条件下需要的时候,XP还会分配更多一些。一般来说,这项优化会使系统性能得到相当的提升,但也有可能会使某些应用程序性能降低。正如前面所说的,必须有256M以上的内存,才好激活LargeSystemCache,否则不要动它。

3)输入/输出性能:这个优化只对server用户才有实在意义??它能够提升系统进行大容量文件传输时的性能。在默认情况下,这个键值在注册表中是不存在的,必须自己建一个DWORD(双字节值)键值,命名为IOPageLockLimit。多数人在使用这项优化时都发现8到16M字节之间性能最好,具体设什么值,可以设进ナ允钥茨母鲋悼梢曰竦米罴研阅堋<亲≌飧鲋凳怯米纸诶醇扑愕模?虼耍?┤缒阋?峙?2M的话,就是12 * 1024 * 1024,也就是12582912。跟前面的内存优化一样,只有当你的内存大于256M的时候才好更改这里的值。

2、打开DMA:到装置管理员里选择IDE ATA/ATAPI controllers ,到Primary/Secondary IDE Channel里面的进阶设定 ,将所有的转送模式都设定为使用DMA(如果可用的话) ,系统就会自动打开DMA支援(在BIOS里也应该要先设为支援DMA)

3、XP里关闭光驱自启动(Autorun)功能:打开:我的电脑,在“移动存储设备”下,右键单击CD-ROM 驱动器,然后单击“属性”,看到“自动播放”选项卡了么?自己去改吧。

4、设置CPU:Windows XP无法自动检测处理器的二级缓存容量,需要我们自己在注册表中手动设置,首先打开注册表(运行中输入“Regedit”),打开:

HKEY_LOCAL_ ManagerMemory Management,选择“SecondLevelDataCache”,根据自己所用的处理器设置即可,例如PIII Coppermine/P4 Willamette是“256”,Athlon XP是“384”,P4 Northwood是“512”

5、XP安装驱动程式时,往往会出现一个窗口,说这个程序没有经过微软的验证,我们可以在控制面板??系统??硬件??设备管理员??驱动程序签名,看到了选项了么,知道该怎么做了吧。

6、为IRQ中断请求排优先次序

计算机的每一个主要部件都设了个IRQ中断号。这里就是要通过修改每个IRQ请求的优先次序达到优化目的。这里主要的优化对象是系统/CMOS实时钟,它通过主板来提升性能。首先,要确定你想要哪个组件获得更高的性能,然后找到这个硬件正在使用的IRQ中断号。怎么找呢?打开控制面板里的系统属性(也可以按键盘上的Windows+Break热键组合打开它)。选中“硬件”选项卡,然后点击“设备管理器”按钮。右键点击要查IRQ号的组件,选择“属性”,然后点击“资源”选项卡。这里可以看到设备正在使用的IRQ中断号(如果没有IRQ中断号,选择另一个设备)。把中断号记下来,然后运行注册表编辑器regedit,找到注册表中的HKEY_LOCAL_ 位置。我们要在这里建立一个名为IRQ#Priority(其中“#”是具体的IRQ中断号)的DWORD双字节值,然后把它的值设为1。譬如说,我的系统CMOS实时钟的IRQ中断号是8,我要建立的键名就是IRQ8Priority。重新启动计算机之后,就会发现刚优化过的组件性能有所提高。笔者强烈建议用这个方法优化系统CMOS实时钟,因为它能改善整块主板的性能。当然也可以把多个IRQ中断号优先级提高,但这样做的效果没那么好,而且有可能造成系统不稳定。要把这个优化设置撤消的话,只要把刚才建立的注册表键值删掉就OK了

网络优化:

1、加速共享:这是一项很棒的优化,在找到这项优化之前,我经常在漫长地等待窗口显示其它机子上的共享目录中敲破头皮。通常情况下,当Windows XP连接到其它计算机时,会检查对方机子上所有预定的任务??这真是多余,而且还会让你等上30秒钟,实在太糟糕了。所幸的是,很容易就可以把这个过程给禁掉。首先,在注册表中找到HKEY_LOCAL_/Current 。在这里面,应该有个

{D6277990-4C6A-11CF-87-00AA0060F5BF}键。只需把它删掉,重新启动计算机后,Windows就不再检查预定任务了,速度明显提高!

2、解决WinXP执行时候停顿一下的问题

开始??网络连接??本地连接,按右键,选择属性,选择“Internet协议(TCP/IP)”,点击属性,使用下面的IP地址:192.168.0.1,子网掩码:255.255.255.0,这样就好了,以后开机就不会停顿了

3、如何让XP自动连网:

IE?? 工具??internet选项??连接,勾选 `网路不存在时拨号` ,把 IE 拉到 `启动`

每次开机完成后, 你已经上线了 ! 还有一种方法:

进入连线内容,把“提示名称、密码、凭证等”的勾勾取消掉,然后把该连线拉到“启动”(蓝调注:估计原作者是港台的,用语不同。因为我上网用宽带,所以这里简体中文是什么用语不清楚。修改成功的朋友回个帖子,便于我修改。)

4、在默认情况下,XP Pro 会保留一块网卡的20%的.带宽。 修改的方法是,以管理员权限登陆 ,开始菜单??运行??键入 gpedit.msc ,出现“组策略”窗口, 展开 `管理模板”中的“网络” , 展开 `QoS 数据包调度程序`, 在右边窗右键单击“限制可保留带宽` ,在属性中的“设置”中有“限制可保留带宽` ,选择“已启用”,然后在下方`带宽限制`栏目里选择一个数值就可以了.不能选择`禁用`,因为那样做的话,系统会认为你认可了保留20%的带宽。具体修改可以参照“属性”旁边的“说明”栏目。当进行完上述修改并应用后,用户应该在网络连接的属性对话框内的一般属性标签栏中能够看到`QoS Packet Scheler(QoS 数据包调度程序)`。Home版不支持该操作,无法去除该限制!

5、xp内置了防火墙,默认设置是未打开。设置方法详见后面的“全面设置防火墙”。

XP系统所在分区减肥方法。

1. 删除系统文件备份 sfc.exe /purgecache (一般用户是不怎么用的)

2 删除驱动备份 windowsdriver cachei386目录下的Driver.cab文件 (73mb)

3. 取消系统还原 (总体来说系统还原功能还是不错的,建议除了xp安装的那个盘使用,其它盘都别用,如果哪一天硬盘的空间不够了,可以通过系统清理程序删除一些比较早的还原点)

4、删除帮助文件(减掉40多mb) (使用中文汉化包的文件大小为92兆,刚开始使用xp的同志最好别删)

5、删掉WINDOWSsystem32dllcache下文件(减去200??300mb)。(这是备用的dll文件,只要你拷贝了安装文件,完全可以这样做。既然这样删你没话说)

6、把我的文档、IE的临时文件夹都转到其他盘(分区)。 (同时对系统的速度,和硬盘都有好处,如果使用的是双系统,最好把两个系统的IE临时文件都放在同一个文件夹,这样既加快速度有节省空间)

7、把虚拟内存也转到其他盘。(就是将这些东西和平时临时下载文件放在一个不大的分区里,这样也方便整理硬盘)

8、将应用软件装在其他盘(这对重装系统也有好处,可以省很多事)。

9、删除windowsime下不用的输入法! (日文,韩文,繁体中文输入法,84.5MB) (到底哪个是哪个自己研究一下吧!有时候也要自己动动脑子的,锻炼一下吧!)

10、如用ntfs装xp,本身就节省地盘。

五、其他

1、激活显示:

开机后,打开开始菜单中的运行栏,打入:oobe/msoobe /a

如果出现“Windows 产品启用”,表明Windows 已经启用

2、制做dos启动盘:

右键点击“3.5软盘”,选格式化,再选“建立一个MS-DOS开机磁盘”

3、解决任务栏假死(权威的消除QQ、IE等引起任务栏假死)

控制面板`-??`区域和语言选项`-??`语言`-??`详细信息`,在弹出的`设置窗口`中选择`首选项`的`语言栏`,关闭“在桌面上显示语言栏”,在第三项`在通知区域显示其他语言栏图标`复选框上打上勾。如果不需要手写识别、语音识别的话,也可以再勾选最后一项`关闭高级文字服务`。

4、某些软件的兼容性(适用于家用版`HomeEdition`及专业版`Professional`)

对于QQ假死,以及其它某些程序在XP下不能正常运行的现象,可以找到该程序的执行文件,点右键,在弹出的对话框中选择`兼容性`标签,在`兼容模式`下选择相应需要的运行环境。

5、双操作系统,怎么卸载xp

先用启动盘启动,然后键入“a:sys c: ”,再从硬盘重新启动,然后删去 boot.ini, bootsect.dos, ntdetect.com, ntldr ,然后把xp的windows, program files, Documents and Settings等目录直接删去,或格式化 winxp 的硬盘(如果你的xp和win98不在一个分区上的话)

Ⅱ 如何提高WINDOWSXP的运行速度

大家通常都是通过优化大师,魔法兔子类的优化软件来进行系统的优化,不知道大家发
觉没有,有时候装了优化软件后经常会出现一些莫名其妙的问题,在这里我列举一些常
用注册表优化系统的方法,也是最原始的方法。
1、加快窗口显示速度:我们可以通过修改注册表来改变窗口从任务栏弹出,以及最

小化回归任务栏的动作,步骤如下:打开注册表编辑器,找到HKEY_CURRENT_USER\
Control Panel\Desktop\WindowMetrics子键分支,在右边的窗口中找到MinAniMate键值

,其类型为REG_SZ,默认情况下此健值的值为1,表示打开窗口显示的动画,把它改为0
,则禁止动画的显示,接下来从开始菜单中选择“注销”命令,激活刚才所作的修改即


2、去掉“更新”选项:对于大多数的用户来说,Windows XP的Windows Update功能
似乎作用不大,我们可以去掉它,操作步骤如下:打开注册表编辑器,找到
HKEY_CURRENT_USER\Software \Microsoft\Windows\CurrentVersion\Policies\
Explorer子键分支,选择“编辑”菜单下的“新建”命令,新建一个类型为REG_DWORD的
值,名称为NoCommonGroups,双击新建的NoCommonGroups子键,在“编辑字符串”文本
框中输入键值“1”,然后单击“确定”按钮并重新启动系统即可。
3、修改Windows XP的登录背景图案:面对长久不变的单调的登录图案,你可能日久
生厌,我们可以通过注册表来把它换成自己喜欢的图案,步骤如下:打开注册表编辑器
,找到HKEY_USERS\.DEFAULT\Control Panel\Desktop子键分支,双击wallpaper,键入
你选择好的图片的路径,如:c:\Documents and Settings\My Documents\My
Pictures\mypic.bmp,点击“确定”,然后找到Tilewallpaper,双击它输入键值“1”
,重新启动系统即可看到效果。
4、修改登录时的背景色:如果你还想修改登录时的背景颜色,可以按以下步骤操作
:打开注册表编辑器,找到HKEY_USERS\.DEFAULT\Control Panel\Colors子键分支,双
击子键分支下的Background键值名,出现“编辑字符串”对话框,在“数值数据”文本
框中输入代表颜色的键值(比如黑色的RGB值为000,白色的RGB值为255 255 255,系统
默认值是58 110 165),点击“确定”按钮,重新启动系统即可。
5、设置启动信息或增加警告信息:如果在启动Windows XP时,希望显示一些自己定
义的个性化信息,可以按以下步骤来操作:打开注册表编辑器,找到HKEY_LOCAL_MACHIN
E_SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon子键分支,双击在它下面
的LegalNoticeCaption健值名称,打开“编辑字符串”窗口,在“数值数据”文本框中
输入信息对话框的标题,比如“你好,欢迎使用本机器”,然后双击LegalNoticeText,
在随后出现的“编辑字符串”窗口中输入想要显示的警告信息,比如“请不要随意修改
本级的设置,谢谢!”,单击“确定”按钮,重新启动即可看到修改后的效果了。
6、每次启动时保持桌面设置不变:我们可以通过修改注册表来保护我们的桌面设置
,无论做了什么样的修改,只要重新启动之后桌面就会恢复原样。步骤如下:打开注册
表编辑器,找到HKEY_CURRENT_USERS\Software\Microsoft\Windows\CurrentVersion\Po
lices\Explorer子键分支,在它的下面找到NoSaveSettings,其类型为REG_SZ,将其键
值改为“0”,或者直接删除该键值项,重新启动系统使设置生效。
7、任意定制按钮颜色:尽管Windows XP本身带有多种窗口显示方案,但用户想定义
某一个部位的颜色,比如把按钮的颜色由黑色改为蓝色或红色,这时就需要修改注册表
了,步骤如下:打开注册表编辑器,找到HKEY_CURRENT_USER\Control Panel\Colors子
键分支,双击在它下面的Bottontext,在打开的对话框中将其键值改为你想要颜色的值
,比如红色255 0 0,单击“确定”按钮,并重新启动系统即可看到效果了,此时按钮上
的文字颜色将变成红色,此外你还可以修改按钮的宽度和高度及背景等参数。
8、禁止Dr.Watson的运行:Dr.Watson是自带的系统维护工具,它会在程序加载失败
或崩溃时显示,我们可以通过注册表来取消它,步骤如下:打开注册表编辑器,找到HKE
Y_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug子键分支
,双击在它下面的Auto键值名称,将其“数值数据”改为0,最后按F5刷新使设置生效。

9、修改鼠标右键菜单
我们知道在98下可以通过注册表来修改鼠标右键菜单,其实在WinXP中也可以。方法如下
:这里以在鼠标右键菜单上添加“用DOS窗口在这里浏览”为例。
1)打开注册表编辑器,找到HKEY_CLASSES_ROOT\Directory\shell,然后选中它,点击鼠
标右键,新建一个主键,取名为“DOS”,然后选中新建的主键,在右边双击默认字符串
值,在弹出的对话框中输入“用DOS窗口在这里浏览”,然后选中新建的主键,再建立一
个主键,取名为“command”,选中“command”主键,修改默认值为“cmd.exe /k
"cd %L"”即可。
2)检查:在任意一个文件夹上按下鼠标右键,可以在弹出的菜单里面看到“用DOS窗口在
这里浏览”,选择用DOS窗口在这里浏览,按下鼠标左键,看到没有,DOS窗口弹了出来

2.修改系统ID号(ID号在WinXP里面很重要)
在系统属性里面的常规标签下我们可以看到一串数字,如:55661-005-0809362-22169等
等。这就是ID号。正版的WinXP每一套的ID号是不相同的(应该可以猜到我的目的了吧?
),那么我们可不可以修改呢?当然可以(废话!如果不可以就没有必要写这篇文章了
)。跟我来,看看我的本领!
1)ID号是存放在注册表里面的。主要放在这几个键值下:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Registration的字符串P
roctId
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\User information的字符串产品标识 /*如果
没有使用向微软注册的话,这里不会出现*/
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion的字符串ProctId

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion的字符串Proc
tId
以上4个地方就是在注册表中存放ID的键值,修改的时候要同时修改,修改完以后再看系
统属性里面的常规标签,以免修改失败,导致ID还原。
10.修改版本号:
在关于Windows里面有一个内部版本号(正式版的是:2600.xpclient.010817-1148),这
个版本号也是存放在注册表中的,具体位置是HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
\Windows NT\CurrentVersion,
他用一个字符串来记录,修改这个名字叫做BuildLab的字符串就可以修改你的XP的版本
号。
一、系统优化设置。
1、删除Windows强加的附件:
a . 用记事本NOTEPAD修改\winnt\inf\sysoc.inf,用查找/替换功能,在查找框中输入,
hide(一个英文逗号紧跟hide),将“替换为”框设为空。并选全部替换,这样,就把
所有的,hide都去掉了,
b. 存盘退出,
c. 再运行“添加-删除程序”,就会看见“添加/删除 Windows 组件”中多出了好几个选
项;这样你可以删除好些没有用的附件
2.关掉调试器Dr. Watson;
运行drwtsn32,把除了“转储全部线程上下文”之外的全都去掉。否则一旦有程序出错
,硬盘会响很久,而且会占用很多空间。如果你以前遇到过这种情况,请查找user.dmp
文件并删掉,可能会省掉几十M的空间。这是出错程序的现场,对我们没用。另外蓝屏时
出现的memory.dmp也可删掉。可在我的电脑/属性中关掉BSOD时的DUMP
3.关闭“系统还原”:鼠标右健单击桌面上的“我的电脑”,选择“属性”,找到“系
统还原”,如果你不是老噼里啪啦安装一些软件(难道你比我还厉害??),你也可以
去掉,这样可以节省好多空间
4.关闭“休眠支持”:因为休眠功能占的硬盘空间蛮大的, 所以关闭比较好,
控制台-->电源选项-->休眠(不要打勾)
注:我觉得休眠还是很有用的。蓝调。
5、在“开始-运行”中输入regedit,
打开“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control”,将右边窗口的SystemSt
artOptions键值 改为NODETECT
6.加快Win XP浏览速度!
打开注册表点击到:
HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/Current
Version/Explorer/RemoteComputer/NameSpace。分栏出选择键值:{D6277990-4C6A-11C
F-8D87-00AA0060F5BF}

二、硬件优化
1、内存性能优化
Windows XP中有几个选项可以优化内存性能,它们全都在注册表下面位置: HKEY_LO
CAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory
Management
1)禁用内存页面调度(Paging Executive)
在正常情况下,XP会把内存中的片断写入硬盘,我们可以阻止它这样做,让数据保
留在内存中,从而提升系统性能。要注意的是,拥有很多内存的用户(256M以上)才好
使用这个设置。这个设置的名字正如它的功能一样,叫“DisablePagingExecutive”。
把它的值从0改为1就可以禁止内存页面调度了。
2) 提升系统缓存:把LargeSystemCache键值从0改为1,Windows XP就会把除了4M之
外的系统内存全部分配到文件系统缓存中,这意味着XP的内核能够在内存中运行,大大
提高系统速度。剩下的4M内存是用来做磁盘缓存的,在一定条件下需要的时候,XP还会
分配更多一些。一般来说,这项优化会使系统性能得到相当的提升,但也有可能会使某
些应用程序性能降低。正如前面所说的,必须有256M以上的内存,才好激活LargeSystem
Cache,否则不要动它。
3)输入/输出性能:这个优化只对server用户才有实在意义——它能够提升系统进行
大容量文件传输时的性能。在默认情况下,这个键值在注册表中是不存在的,必须自己
建一个DWORD(双字节值)键值,命名为IOPageLockLimit。多数人在使用这项优化时都
发现8到16M字节之间性能最好,具体设什么值,可以设进去试试看哪个值可以获得最佳
性能。记住这个值是用字节来计算的,因此,譬如你要分配12M的话,就是12 * 1024
* 1024,也就是12582912。跟前面的内存优化一样,只有当你的内存大于256M的时候才
好更改这里的值。
2、WinXP的ADSL拨接功能
方法:控制台-->网路连线-->建立一个新连线-->连线到网际网路
-->手动设定我的连线-->使用需要使用者名称和密码的宽频连线来连线
-->ISP名称(随便填你想要的,如Hinet...)-->使用者名称.密码就填拨接帐号与密码
-->下面3选项看需要可选可不选(其实XP内建的防火墙功能不错)-->完成
P.S 如要开机就自动拨接上网的话,把连线ICON抓到启动中,应该就可以罗
XP的网路芳邻(先假设网路都没问题)
控制台-->使用者帐户-->建立新的帐户
-->输入那台电脑的开机帐号(电脑名称)及密码
-->选择"受限制的帐户"-->完成
这样别人就可以登陆你的电脑里罗
3、XP里怎麽开DMA
关于DMA:
到装置管理员里选择IDE ATA/ATAPI controllers
到Primary/Secondary IDE Channel里面的进阶设定
将所有的转送模式都设定为使用DMA(如果可用的话)
系统就会自动打开DMA支援(在BIOS里也应该要先设为支援DMA)
4、XP里关闭光盘Autorun功能
打开光盘机的内容,将自动拨放里所有的光盘格式都设为不要有任何动作。
OR
利用Group Policy (执行gpedit.msc) :
到电脑设定-->系统管理范本-->系统
找到-->关闭自动拨放
按右键选-->内容,选择已-->启用,
在下面那里选-->所有的磁盘机,
然后套用,重新开机,应该也可以,但是这个方法不能关闭音乐CD的自动拨放
5、设置处理器二级缓存容量
Windows XP无法自动检测处理器的二级缓存容量,需要我们自己在注册表中手动设
置,首先打开注册表(运行中输入“Regedit”),再打开:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory
Management\
选择“SecondLevelDataCache”,根据自己所用的处理器设置即可,例如PIII
Coppermine/P4 Willamette是“256”,Athlon XP是“384”,P4 Northwood是“512”

6、XP安装驱动程式往往因为数位签署关系挂不上去, 把数位签署忽略掉===>
控制台----->系统------>硬体----->装置管理员----->驱动程式签署---->略过
使用Winxp的网友请务必检查一下
开始-->>执行-->>regedit
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
将 "RegDone" = 的数值,由 "0" 改成 "1"
如此才算完全"破解" ,这个动作很重要
很多奇怪的小毛病因此而解决
7、为IRQ中断请求排优先次序
计算机的每一个主要部件都设了个IRQ中断号。这里就是要通过修改每个IRQ请求的
优先次序达到优化目的。这里主要的优化对象是系统/CMOS实时钟,它通过主板来提升性
能。首先,要确定你想要哪个组件获得更高的性能,然后找到这个硬件正在使用的IRQ中
断号。怎么找呢?打开控制面板里的系统属性(也可以按键盘上的Windows+Break热键组
合打开它)。选中“硬件”选项卡,然后点击“设备管理器”按钮。
右键点击要查IRQ号的组件,选择“属性”,然后点击“资源”选项卡。
这里可以看到设备正在使用的IRQ中断号(如果没有IRQ中断号,选择另一个设备)。把
中断号记下来,然后运行注册表编辑器regedit,找到注册表中的HKEY_LOCAL_MACHINE\S
ystem\CurrentControlSet\Control\
PriorityControl 位置。我们要在这里建立一个名为IRQ#Priority(其中“#”是具体的
IRQ中断号)的DWORD双字节值,然后把它的值设为1。譬如说,我的系统CMOS实时钟的IR
Q中断号是8,我要建立的键名就是IRQ8Priority。重新启动计算机之后,就会发现刚优
化过的组件性能有所提高。笔者强烈建议用这个方法优化系统CMOS实时钟,因为它能改
善整块主板的性能。当然也可以把多个IRQ中断号优先级提高,但这样做的效果没那么好
,而且有可能造成系统不稳定。要把这个优化设置撤消的话,只要把刚才建立的注册表
键值删掉就OK了。

Ⅲ 如何加速XP系统

如何提高电脑开机启动速度的实用方法

1.取消开机获取IP地址

很多家庭采用ADSL方式上网的电脑在启动之后,右下角会出现一个带感叹号的本地连接标志,用鼠标指向它时,会显示“受限制或无连接”之类的话。这种情况的出现,是由于本地连接无法自动获得IP地址,而每次启动时,系统都要自动进行获得IP地址的尝试,导致在WINDOWS桌面已经出现后的一段时间里,对我们的操作没有响应,甚至双击“我的电脑”也没有反应,严重影响电脑启动速度。

解决办法是这样:右击“网上邻居”——属性,右击“本地连接”——属性,双击“TCP-IP协议”项,选中“使用下面的IP地址”,然后在“IP地址”中输入192.168.0.1,子关掩码设为255.255.255.0,确定就OK了。这样下次在开机时,我们就不必眼睁睁的看着WINDOWS界面啥也干不了,基本上开机后电脑就可以工作了,极大的提高启动速度。

2.取消开机时无用的硬件搜索

多数电脑都只有一块硬盘,而电脑在开机时却每次都要搜索是否存在第二块硬盘,浪费了启动时的时间。如果你的电脑和多数电脑一样,只有一块硬盘,那么可以将开机时搜索第二硬盘的步骤取消;方法是右击我的电脑——属性——硬件——设备管理器——IDEATA/ATAPI控制器——主要IDE通道——高级设置,将“当前传输模式”为“不适用”的设备类型设为“无”;然后用同样的方法,对“次要IDE通道”进行设置。

另外,如果你的电脑不用优盘,也不用MP3等需要USB口的设备,也可以用类似的方法将开机时系统对USB口的搜索取消,进一步提高启动速度。

3.去掉不需要的自动运行项

在开始——运行中输入msconfig,回车,调出“系统配置实用程序”——启动,可以看开机时系统自动运行哪些东西,将你不需要的项前面的对号去掉,然后确定重启;一般说来,可以将除了ctfmon和杀毒软件之外,其它的项前面的对号都去掉;ctfmon项和任务栏中的输入法图标有关,去掉就不显示这个图标了。

4.进一步提高速度

右击“我的电脑”——属性——高级——启动和故障恢复项中的“设置”,将所有的对号去掉,确定即可,这样可大大提高速度。

右击“我的电脑”——属性——系统还原,选中“在所有驱动器上关闭系统还原”,确定。这一点非常重要,系统还原功能可以说是非常的鸡肋,占用大量的系统资源。

右击“我的电脑”——属性——高级——性能项中的“设置”,如果你想追求极品速度,请选中“调整为最佳性能”,这可能要牺牲一些视觉效果。

5.利用专业软件,让电脑运行如飞

建议下载一个“超级兔子”软件,推荐下载地址:http://www.pctutu.com

这个软件功能强大,使用方便,在对付像“雅虎助手”,“划词搜索”这样的流氓软件时,得心应手,还可以对垃圾文件和注册表进行清理,保护你的IE不被恶意网站修改,并且可以对系统进行进一步的优化。

windows优化大师也不错,不过使用上稍有难度,适合对电脑比较熟悉的人士使用。

以上几点,通过实践证实,可大幅度提高电脑速度。
附:其他方法

1.加快系统启动速度

WindowsXP的启动速度比Windows2000要快30%左右,但相对于Windows98仍然要慢了不少,不过,我们可以通过优化设置,来大大提高WindowsXP的启动速度。加快系统启动速度主要有以下方法:尽量减少系统在启动时加载的程序与服务;对磁盘及CPU等硬件进行优化设置;修改默认设置,减少启动等待时间等。这些方法大部分既可减少系统启动的时间,又可以节省系统资源,加快电脑运行速度。

(1)Msconfig

WindowsXP的启动速度在系统安装初期还比较快,但随着安装的软件不断增多,系统的启动速度会越来越慢,这是由于许多软件把自己加在了启动程序中,这样开机即需运行,大大降低了启动速度,而且也占用了大量的系统资源。对于这样一些程序,我们可以通过系统配置实用程序Msconfig将它们从启动组中排除出去。

选择“开始”菜单中的“运行”命令,在“运行”对话框中键入“Msconfig”,回车后会弹出“系统配置实用程序”对话框,选择其中的“启动”选项卡,该选项卡中列出了系统启动时加载的项目及来源,仔细查看每个项目是否需要自动加载,否则清除项前面的复选框,加载的项目越少,启动的速度就越快。设置完成后需要重新启动方能生效。

(2)Bootvis

Bootvis是微软提供的一个启动优化工具,可提高WindowsXP的启动速度。

用BootVis提升WindowsXP的启动速度必须按照正确的顺序进行操作,否则将不会起到提速的效果。其正确的操作方法如下:

启动Bootvis,从其主窗口(如图2)中选择“工具”菜单下的“选项”命令,在“符号路径”处键入Bootvis的安装路径,如“C:\ProgramFiles\Bootvis”,单击“保存”退出。

从“跟踪”菜单中选择“下次引导”命令,会弹出“重复跟踪”对话框,单击“确定”按钮,BootVis将引导WindowsXP重新启动,默认的重新启动时间是10秒。

系统重新启动后,BootVis自动开始运行并记录启动进程,生成启动进程的相关BIN文件,并把这个记录文件自动命名为TRACE_BOOT_1_1。程序记录完启动进程文件后,会重新启动BootVis主界面,在“文件”菜单中选择刚刚生成的启动进程文件“TRACE_BOOT_1_1”。

窗口中即会出现“CPU>使用”、“磁盘I/O”、“磁盘使用”、“驱动程序延迟”等几项具体图例供我们分析,不过最好还是让BootVis程序来自动进行分析:从“跟踪”菜单中选择“系统优化”命令,程序会再次重新启动计算机,并分析启动进程文件,从而使计算机启动得更快。

(3)禁用多余的服务

WindowsXP在启动时会有众多程序或服务被调入到系统的内存中,它们往往用来控制Windows系统的硬件设备、内存、文件管理或者其他重要的系统功能。但这些服务有很多对我们用途不大甚至根本没有用,它们的存在会占用内存和系统资源,所以应该将它们禁用,这样最多可以节省70MB的内存空间,系统速度自然也会有很大的提高。

选择“开始”菜单中的“运行”命令,在“运行”对话框键入“services.msc”后回车,即可打开“服务”窗口。窗口的服务列表中列出了系统提供的所有服务的名称、状态及启动类型。要修改某个服务,可从列表双击它,会弹出它的属性对话框(如图3),你可从“常规”选项卡对服务进行修改,通过单击“启动”、“停止”、“暂停”、“恢复”四个按钮来修改服务的状态,并可从“启动类型”下拉列表中修改启动类型,启动类型有“自动”、“手动”、“已禁用”三种。如果要禁止某个服务在启动自动加载,可将其启动类型改为“已禁用”。

WindowsXP提供的所有服务有36个默认是自动启动的,实际上,其中只有8个是必须保留的(见下表),其他的则可根据自己的需要进行设置,每种服务的作用在软件中有提示。

(4)修改注册表来减少预读取,减少进度条等待时间

WindowsXP在启动过程中会出现一个进度条,我们可以通过修改注册表,让进度条只跑一圈就进入登录画面。

选择“开始”菜单中的“运行”命令,在“运行”对话框键入“regedit”命令后回车,即可启动注册表编辑器,在注册表中找HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\PrefetchParameters,选择其下的EnablePrefetcher键,把它的键值改为“1”即可。

(5)减少开机磁盘扫描等待时间

当Windows日志中记录有非正常关机、死机引起的重新启动,系统就会自动在启动的时候运行磁盘扫描程序。在默认情况下,扫描每个分区前会等待10秒钟,如果每个分区都要等上10秒才能开始进行扫描,再加上扫描本身需要的时间,会耗费相当长的时间才能完成启动过程。对于这种情况我们可以设置取消磁盘扫描的等待时间,甚至禁止对某个磁盘分区进行扫描。

选择“开始→运行”,在运行对话框中键入“chkntfs/t:0”,即可将磁盘扫描等待时间设置为0;如果要在计算机启动时忽略扫描某个分区,比如C盘,可以输入“chkntfs/xc:”命令;如果要恢复对C盘的扫描,可使用“chkntfs/dc:”命令,即可还原所有chkntfs默认设置,除了自动文件检查的倒计时之外。

2.提高系统运行速度

提升系统运行速度的思路与加快启动的速度类似:尽量优化软硬件设置,减轻系统负担。以下是一些常用的优化手段。

(1)设置处理器二级缓存容量

WindowsXP无法自动检测处理器的二级缓存容量,需要我们自己在注册表中手动设置,首先打开注册表,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”,选择其下的“SecondLevelDataCache”,根据自己所用的处理器设置即可,例如PIIICoppermine/P4Willamette是“256”,AthlonXP是“384”,P4Northwood是“512”。

(2)提升系统缓存

同样也是在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”位置,把其下的“LargeSystemCache”键值从0改为1,WindowsXP就会把除了4M之外的系统内存全部分配到文件系统缓存中,这样XP的内核能够在内存中运行,大大提高系统速度。

通常来说,该优化会使系统性能得到相当的提升,但也有可能会使某些应用程序性能降低。需要注意的是必须有256M以上的内存,激活LargeSystemCache才可起到正面的作用,否则不要轻易改动它。

(3)改进输入/输出性能

这个优化能够提升系统进行大容量文件传输时的性能,不过这只对服务器用户才有实在意义。我们可在中新建一个DWORD(双字节值)键值,命名为IOPageLockLimit。一般情况下把数据设置8~16MB之间性能最好,要记住这个值是用字节来计算的,例如你要分配10MB的话,就是10×?1024×1024,也就是10485760。这里的优化也需要你的机器拥有大于256M的内存。

(4)禁用内存页面调度

在正常情况下,XP会把内存中的片断写入硬盘,我们可以阻止它这样做,让数据保留在内存中,从而提升系统性能。在注册表中找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”下的“DisablePagingExecutive”键,把它的值从0改为1即可禁止内存页面调度了。

(5)关闭自动重新启动功能

当WindowsXP遇到严重问题时便会突然重新开机,可从注册表将此功能取消。打开注册表编辑器,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\”将AutoReboot键的Dword值更改为0,重新启动后设置即可生效。

(6)改变视觉效果

WindowsXP在默认情况下启用了几乎所有的视觉效果,如淡入淡出、在菜单下显示阴影。这些视觉效果虽然漂亮,但对系统性能会有一定的影响,有时甚至造成应用软件在运行时出现停顿。一般情况下建议少用或者取消这些视觉效果。

选择桌面上“我的电脑”图标,单击鼠标右键,在弹出的快捷菜单中选择“属性”命令,打开“系统属性”对话框。选择“高级”选项卡,在其中的“性能”栏中单击“设置”按钮,会弹出“性能选项”对话框(如图4),可选择“调整为最佳性能”单选框来关闭所有的视觉效果,也可选择“自定义”然后选择自己需要的视觉效果。

(7)合理设置页面虚拟内存

同样也是在“性能选项”对话框中,选择“高级”选项卡,在其中的“虚拟内存”栏中单击“更改”按钮,接下来选择虚拟内存为“自定义大小”,然后设置其数值。一般情况下,把虚拟设为不小于256M,不大于382M比较合适,而且最大值和最小值最好一样。

(8)修改外观方案

WindowsXP默认的外观方案虽然漂亮,但对系统资源的占用也多,可将其改为经典外观以获得更好的性能。

在桌面空白位置单击鼠标右键,从弹出的快捷菜单中选择“属性”命令,会打开“显示属性”对话框,在“主题”选项卡选择主题为“Windows经典”,即可将外观修改为更为经济的Windows经典外观。

(9)取消XP对ZIP支持

WindowsXP在默认情况下打开了对zip文件支持,这要占用一定的系统资源,可选择“开始→运行”,在“运行”对话框中键入“regsvr32/uzipfldr.dll”,回车确认即可取消XP对ZIP解压缩的支持,从而节省系统资源。

(10)关闭Dr.Watson

Dr.Watson是WindowsXP的一个崩溃分析工具,它会在应用程序崩溃的时候自动弹出,并且在默认情况下,它会将与出错有关的内存保存为DUMP文件以供程序员分析。不过,记录DUMP文件对普通用户则毫无帮助,反而会带来很大的不便:由于Dr.Watson在应用程序崩溃时会对内存进行DUMP记录,将出现长时间硬盘读写操作,要很长一断时间程序才能关闭,并且DUMP文件还会占用大量磁盘空间。

要关闭Dr.Watson可打开注册表编辑器,找到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug”分支,双击其下的Auto键值名称,将其“数值数据”


**【据说最为有效、最快捷方法】:

点我的电脑右键-管理-计算机管理-设备管理器-IDEATA/ATAPI控制器-展开-先选择主要IDE通道-高级设置,将当前传输模式为不适用的设备类型改为无
同理,把次要IDE通道里显示当前模式为不使用的设备类型改为无。(如果显示仅为pio那么一定要改为DMA)即可大大提高Xp开机速度,缩短XP进度条滚动的时间。

其原理是关闭检测不存在的IDE通道,测试前XP滚动条滚动圈数为6圈,修改后为半圈,大大提高了开机速度。

Ⅳ 软件开发有什么要求

不同的软件,对电脑的配置要求不同一般常用的公软件、娱乐软件,电脑都能正常运行。专业的制图、建模软件则对电脑配置有要求。例如3Dmax对电脑的配置要求比较高,详情如下:1、Intel或AMD处理器,主频至少1GB(推荐使用双IntelXeon处理器或双AMDAthlon系统)。2、512内存,至少500MB硬盘交换空间(推荐使用1GB内存及2GB硬盘交换空间)。3、1024*76816位色显存的图形卡(需支持OpenGL和Direct3D硬件加速;推荐选用256MB显存、1280*102424位色3D图形加速器)。以上是最低配置要求,电脑的配置越高,使用3Dmax渲图、做视频、建模更有效率,速度也更快。
没什么要求 我就程序员,内存最少512的才不卡,cpu 一点几的都行,但是最好使双核的,这不是对程序员的要求,而是现在双核不贵,你再买老的就没什么意思了。硬盘一般都是5400转的 你也不用挑 ,也没的挑。但是硬盘最好大点的,我买的本才40G,感觉不够用。显卡无所谓了,因为你是程序员用,也不用玩游戏,集成显卡就够了,要是玩游戏买个独显的。最好买IBM的,虽然贵点,但是值
从业十年,看到过许多优秀的程序员,也见过不少平庸这辈,更有不少只能转做其它。原因我想也许他们一开始对自己的要求就不高,更重要的也可能是他们没有抓住程序的本质,没有搞清楚如何才能把事情做好。首先想把每个程序都做到最好这种信念是先决条件,人首先要有志向,只要想做好才有可能做好,下文所有的内容都是给这类人写的,如果只想混口饭吃,或者以后想做市场等其它方面的人就不用想这些事了。以下是我认为比较重要的几个原则,不当之处共同谈讨。1,思路要简单,这样写出来的代码就会比较简单易懂。在这点上我比较占优势,当年一直没有学好过数学,所以太复杂的问题想不懂,因而一直采取比较简单的方法,容易的思路。君不见有人写代码非要想的很多,本来很简单的一个道理:两点之间直线距离最短,他偏要来个九曲十八弯。这种代码时间长了或者转给别人就不好维护。要做到也很容易,写代码之间大概想一下思路,一开始不清楚也没有关系,写的过程中发现代码有点拗口或者自己也不大明白时一定要停下来想一想这个思路本身是否有问题。2,要做思想上的勤劳者,动手时的懒人。代码尽量少,这至少有两个好处:少打一些字,机器执行时的效率也会高,当然附加作用是看的人也容易理解。写好代码之后多想想这些东西是否还可以简化,力争将代码做到最少,代码少有两层意思:源代码量小及机器码也少,所以我们对每句源代码可能产生的机器也要有所了解。3,代码量要小的另一重要环节是尽量不要调用系统api,复杂操作系统的api一般都是在一个功能提供者进程中实现的,其它调用者调用这些api时需要在提供运者进程中启动一个线程来完成这些调用,如此造成多执行很多代码。4,每个程序都应该很好的模块化,分层定位准确。例如就驱动来讲,驱动功能最简单的描述就是向上(操作系统)提供接口供调用,向下操作硬件实现自己的功能。在这过程中需要经过一些调用,我们需要将这些代码模块化,使得最终操作硬件的代码在一起,不要很多函数都在操作同一硬件,实现差不多的功能,这种函数就可以归结为一个,通过不同的对数来区别各个功能,实现自己的目的,这样出现问题以后就比较好查。5,代码要整洁,至少每一个源文件的编译风格要一致,这就不用多说了,谁也不想看乱七八糟的程序。

Ⅳ Elasticsearch为啥这么快

思考几个问题:

这里有篇 文章 讲解的很形象:

这是集群cluster。

这是节点Node:就是个机器。

由一个或者多个节点,多个绿色小方块组合在一起形成一个ElasticSearch的索引。

在一个索引下,分布在多个节点里的绿色小方块称为分片:Shard。

一个分片就是一个Lucene Index。

在Lucene里面有很多小的Segment,即为存储的最小管理单元。

我们分别从Node维度、Shard维度、Segment维度来阐明为啥Elasticsearch这么快。

多节点的集群方案,提高了整个系统的并发处理能力。

路由一个文档到一个分片中:当索引一个文档的时候,文档会被存储到一个主分片中。 Elasticsearch 如何知道一个文档应该存放到哪个分片中呢?实际上,这个过程是根据下面这个公式决定的:

routing 是一个可变值,默认是文档的 _id ,也可以设置成一个自定义的值。这就解释了为什么我们要在创建索引的时候就确定好主分片的数量,并且永远不会改变这个数量:因为如果数量变化了,那么所有之前路由的值都会无效,文档也再也找不到了。

确定了在哪个分片中,继而可以判定其在哪个节点上。

那么主分片数确定的情况下,如果做集群扩容呢?下图是一种主分片的扩容办法,开始设置为5个分片,在单个节点上,后来扩容到5个节点,每个节点有一个分片。也就是说单个分片的容量变大了,但是数量并不增加。

节点分为主节点 Master Node、数据节点 Data Node和客户端节点 Client Node(单纯为了做请求的分发和汇总)。每个节点都可以接受客户端的请求,每个节点都知道集群中任一文档位置,所以可以直接将请求转发到需要的节点上。当接受请求后,节点变为“协调节点”。从这个角度,整个系统可以接受更高的并发请求,当然搜索的就更快了。

以更新文档为例:

Elasticsearch 中使用的这种方法假定冲突是不可能发生的,并且不会阻塞正在尝试的操作。因为没有阻塞,所以提升了索引的速度,同时可以通过 _version 字段来保证并发情况下的正确性:

控制在我们索引中的文档只有现在的 _version 为 1 时,本次更新才能成功。

可以设置分片的副本数量来提升高并发场景下的搜索速度,但是同时会降低索引的效率。

在底层采用了分段的存储模式,使它在读写时几乎完全避免了锁的出现,大大提升了读写性能。

怎样在保留不变性的前提下实现倒排索引的更新?即用上文提到的 _version ,创建更多的索引文档。实际上一个 UPDATE 操作包含了一次 DELETE 操作(仅记录标志待Segment Merge 的时候才真正删除)和一次 CREATE 操作。

为了提升写索引速度,并且同时保证可靠性,Elasticsearch 在分段的基础上,增加了一个 translog ,或者叫事务日志,在每一次对 Elasticsearch 进行操作时均进行了日志记录。

Segment在被refresh之前,数据保存在内存中,是不可被搜索的,这也就是为什么 Lucene 被称为提供近实时而非实时查询的原因。

但是如上这种机制避免了随机写,数据写入都是 Batch 和 Append,能达到很高的吞吐量。同时为了提高写入的效率,利用了文件缓存系统和内存来加速写入时的性能,并使用日志来防止数据的丢失。

LSM-Tree 示意图如下,可见 Lucene 的写入思想和 LSM-Tree 是一致的:

终于说到倒排索引了,都说倒排索引提升了搜索的速度,那么具体采用了哪些架构或者数据结构来达成这一目标?

如上是Lucene中实际的索引结构。用例子来说明上述三个概念:

ID是文档id,那么建立的索引如下:

Name:

Age:

Sex:

可见为每个 field 都建立了一个倒排索引。Posting list就是一个int的数组,存储了所有符合某个term的文档id。实际上,除此之外还包含:文档的数量、词条在每个文档中出现的次数、出现的位置、每个文档的长度、所有文档的平均长度等,在计算相关度时使用。

假设我们有很多个 term,比如:

如果按照这样的顺序排列,找出某个特定的 term 一定很慢,因为 term 没有排序,需要全部过滤一遍才能找出特定的 term。排序之后就变成了:

这样我们可以用二分查找的方式,比全遍历更快地找出目标的 term。这个就是 term dictionary。有了 term dictionary 之后,可以用 logN 次磁盘查找得到目标。

但是磁盘的随机读操作仍然是非常昂贵的(一次 random access 大概需要 10ms 的时间)。所以尽量少的读磁盘,有必要把一些数据缓存到内存里。但是整个 term dictionary 本身又太大了,无法完整地放到内存里。于是就有了 term index。term index 有点像一本字典的大的章节表。比如:

A 开头的 term ……………. Xxx 页

C 开头的 term ……………. Yyy 页

E 开头的 term ……………. Zzz 页

如果所有的 term 都是英文字符的话,可能这个 term index 就真的是 26 个英文字符表构成的了。但是实际的情况是,term 未必都是英文字符,term 可以是任意的 byte 数组。而且 26 个英文字符也未必是每一个字符都有均等的 term,比如 x 字符开头的 term 可能一个都没有,而 s 开头的 term 又特别多。实际的 term index 是一棵 trie 树:

例子是一个包含 "A", "to", "tea", "ted", "ten", "i", "in", 和 "inn" 的 trie 树。这棵树不会包含所有的 term,它包含的是 term 的一些前缀。通过 term index 可以快速地定位到 term dictionary 的某个 offset,然后从这个位置再往后顺序查找。

现在我们可以回答“为什么 Elasticsearch/Lucene 检索可以比 mysql 快了。Mysql 只有 term dictionary 这一层,是以 b-tree 排序的方式存储在磁盘上的。检索一个 term 需要若干次的 random access 的磁盘操作。而 Lucene 在 term dictionary 的基础上添加了 term index 来加速检索,term index 以树的形式缓存在内存中。从 term index 查到对应的 term dictionary 的 block 位置之后,再去磁盘上找 term,大大减少了磁盘的 random access 次数。

实际上,Lucene 内部的 Term Index 是用的“变种的”trie树,即 FST 。FST 比 trie树好在哪?trie树只共享了前缀,而 FST 既共享前缀也共享后缀,更加的节省空间。

一个FST是一个6元组 (Q, I, O, S, E, f):

例如有下面一组映射关系:

可以用下图中的FST来表示:

这篇文章讲的很好: 关于Lucene的词典FST深入剖析

想想为啥不用 HashMap,HashMap 也能实现有序Map?耗内存啊!牺牲了一点性能来节约内存,旨在把所有Term Index都放在内存里面,最终的效果是提升了速度。如上可知,FST是压缩字典树后缀的图结构,她拥有Trie高效搜索能力,同时还非常小。这样的话我们的搜索时,能把整个FST加载到内存。

总结一下,FST有更高的数据压缩率和查询效率,因为词典是常驻内存的,而 FST 有很好的压缩率,所以 FST 在 Lucene 的最新版本中有非常多的使用场景,也是默认的词典数据结构。

Lucene 的tip文件即为 Term Index 结构,tim文件即为 Term Dictionary 结构。由图可视,tip中存储的就是多个FST,
FST中存储的是<单词前缀,以该前缀开头的所有Term的压缩块在磁盘中的位置>。即为前文提到的从 term index 查到对应的 term dictionary 的 block 位置之后,再去磁盘上找 term,大大减少了磁盘的 random access 次数。

可以形象地理解为,Term Dictionary 就是新华字典的正文部分包含了所有的词汇,Term Index 就是新华字典前面的索引页,用于表明词汇在哪一页。

但是 FST 即不能知道某个Term在Dictionary(.tim)文件上具体的位置,也不能仅通过FST就能确切的知道Term是否真实存在。它只能告诉你,查询的Term可能在这些Blocks上,到底存不存在FST并不能给出确切的答案,因为FST是通过Dictionary的每个Block的前缀构成,所以通过FST只可以直接找到这个Block在.tim文件上具体的File Pointer,并无法直接找到Terms。

回到上面的例子,给定查询过滤条件 age=24 的过程就是先从 term index 找到 18 在 term dictionary 的大概位置,然后再从 term dictionary 里精确地找到 18 这个 term,然后得到一个 posting list 或者一个指向 posting list 位置的指针。然后再查询 sex=Female 的过程也是类似的。最后得出 age= 24 AND sex=Female 就是把两个 posting list 做一个“与”的合并。

这个理论上的“与”合并的操作可不容易。对于 mysql 来说,如果你给 age 和 gender 两个字段都建立了索引,查询的时候只会选择其中最 selective 的来用,然后另外一个条件是在遍历行的过程中在内存中计算之后过滤掉。那么要如何才能联合使用两个索引呢?有两种办法:

Elasticsearch 支持以上两种的联合索引方式,如果查询的 filter 缓存到了内存中(以 bitset 的形式),那么合并就是两个 bitset 的 AND。如果查询的 filter 没有缓存,那么就用 skip list 的方式去遍历两个 on disk 的 posting list。

用一个例子来说明如何使用 skip list 的思路来做合并(参考 Lucene学习总结之七:Lucene搜索过程解析(5) ):

Advance操作是什么?就是 skip list 提供的快速跳跃的特性。

另外一方面,对于一个很长的 posting list,比如:

[1,3,13,101,105,108,255,256,257]

我们可以把这个 list 分成三个 block:

[1,3,13] [101,105,108] [255,256,257]

然后可以构建出 skip list 的第二层:

[1,101,255]

1,101,255 分别指向自己对应的 block。这样就可以很快地跨 block 的移动指向位置了。

Lucene 自然会对这个 block 再次进行压缩。其压缩方式叫做 Frame Of Reference 编码。示例如下:

考虑到频繁出现的 term(所谓 low cardinality 的值),比如 gender 里的男或者女。如果有 1 百万个文档,那么性别为男的 posting list 里就会有 50 万个 int 值。用 Frame of Reference 编码进行压缩可以极大减少磁盘占用。这个优化对于减少索引尺寸有非常重要的意义。当然 mysql b-tree 里也有一个类似的 posting list 的东西,是未经过这样压缩的。

因为这个 Frame of Reference 的编码是有解压缩成本的。利用 skip list,除了跳过了遍历的成本,也跳过了解压缩这些压缩过的 block 的过程,从而节省了 cpu。

这也可以看到,Lucene 为了省内存真是做到了极致。

Bitset 是一种很直观的数据结构,对应 posting list 如:

[1,3,4,7,10]

对应的 bitset 就是:

[1,0,1,1,0,0,1,0,0,1]

每个文档按照文档 id 排序对应其中的一个 bit。Bitset 自身就有压缩的特点,其用一个 byte 就可以代表 8 个文档。所以 100 万个文档只需要 12.5 万个 byte。但是考虑到文档可能有数十亿之多,在内存里保存 bitset 仍然是很奢侈的事情。而且对于个每一个 filter 都要消耗一个 bitset,比如 age=18 缓存起来的话是一个 bitset,18<=age<25 是另外一个 filter 缓存起来也要一个 bitset。

所以秘诀就在于需要有一个数据结构:

可以很压缩地保存上亿个 bit 代表对应的文档是否匹配 filter;
这个压缩的 bitset 仍然可以很快地进行 AND 和 OR 的逻辑操作。
Lucene 使用的这个数据结构叫做 Roaring Bitmap。

其压缩的思路其实很简单。与其保存 100 个 0,占用 100 个 bit。还不如保存 0 一次,然后声明这个 0 重复了 100 遍。

为什么是以65535为界限?程序员的世界里除了1024外,65535也是一个经典值,因为它=2^16-1,正好是用2个字节能表示的最大数,一个short的存储单位,注意到上图里的最后一行“If a block has more than 4096 values, encode as a bit set, and otherwise as a simple array using 2 bytes per value”,如果是大块,用节省点用bitset存,小块就豪爽点,2个字节我也不计较了,用一个short[]存着方便。

在 Lucene 7.0之后,Lucene 针对 bitset的稠稀性,采用不同的存储方式:当 bitset比较稀疏时,直接存储DocID;当 bitset 稠密时,则直接存储 bitset 的Bits数据。根据数据的分布情况不同,采用适当的结构不仅可以提高空间的利用率,还能提高遍历的效率。

Elasticsearch/Lucene 为了提升索引和搜索的效率,从上层到底层,使用了各种巧妙的数据结构和设计,靠优秀的理论加极致的优化,做到查询性能上的极致。

Ⅵ 电脑显卡级别怎么分的

1、以性能来分,4650以下为入门级(9600以下),4670以上,4830、4850等 为中级(9600以上,GTX260以下),4870、5750、4890、5770等为高级(GTX260+以上),4870X2、5850、5870以上(GTX275285)为旗舰级,至于5970(GTX295)属于变态级。

2、显卡命名区分 (以英伟达GTX960M为例),GTX:代表的是高性能显卡,也就是游戏显卡。GT属于入门级别显卡。9:代表显卡代数为第九代,例如:GTX1060M,则10代表第十代。6:代表同系列显卡的高低端,显卡在代数相同的情况下,此数值越大越好。

0:显卡的一个小型号,数值前面所有数值相同情况下,越大越好。例如:GTX965M性能高于GTX960M。M:代表移动级别显卡,英伟达显卡后缀常见的有M 和MX,MX所代表的是低功耗版本,功耗要更低些。例如GT940M功耗36W大于GT940MX功耗为23W。

3、从名字区分,对于同芯片厂家的,如A卡或N卡,其本上用名字数字越大越高。对于A卡或N卡,显卡第一个数字最大就表示推出时间越后,第二个数字越大,性能就越高,如7900与8600,虽然8600是后期推出的,但性能上7900比8600更强。

(6)1024程序员加速扩展阅读

显卡推出时间越迟越高,但不是绝对的,有时厂家会先推出完整版,后面再推出简化的,所以不是绝对的,有一点可能说越迟推出的,支持最新技术就越高。

显卡的显存大小不同,也会影响显卡的性能,比如GTX1060 6G性能强于GTX1060 3G。由于显卡生产厂家的不同,以及厂家对同一型号显卡的不同市场定位,不同系列的同型号显卡性能也有差距,比如微星的魔龙系列与万图师系列,但是性能差距一般不会太大。

显卡的性能比对,还可以通过GPuz等专业工具进行,显卡体质的实测,进而了解其性能。

Ⅶ 正面对决硬碰硬,小鹏P7超越特斯拉Model3的底气从何而来

这是何小鹏早前转发的一条朋友圈,也是小鹏汽车眼中的下一个汽车时代。

本文来源于汽车之家车家号作者,不代表汽车之家的观点立场。

Ⅷ 解决电脑卡顿的方法

电脑运行卡顿通常是驱动程序、启动项加载较多、软件冲突、系统问题引起的
1、驱动程序建议在官网下载安装,避免第三方软件更新的驱动不兼容。
2、查看控制面板---程序---卸载---是否有安装一些不需要的软件或类似软件,如果杀毒软件或优化软件有多个,可以卸载,只保留一个。
3、建议关闭部分启动项:开始---运行---msconfig,一些不重要的启动项、或第三方软件程序前面的“勾选”去掉取消。
4、系统方面,建议使用预装系统或纯净版系统,避免ghost版本系统兼容性和稳定性不是很好。
5、电脑配置也是很重要的,如果您的电脑配置比较低,那么就会造成卡顿的情况,这个情况只能是升级性能更佳的硬件,比如固态硬盘 内存增容等。

阅读全文

与1024程序员加速相关的资料

热点内容
考勤表加密怎么办 浏览:735
arj压缩与解压批处理怎么写 浏览:658
php和大数据哪个好 浏览:930
未来最值得投资的加密货币 浏览:526
ascii码是编译的时候用吗 浏览:781
压缩机感应包可以通用吗 浏览:412
方舟服务器怎么发布到搜索列表 浏览:270
xml防反编译 浏览:241
数据传输加密系统技术方案 浏览:842
程序员没有准备去面试 浏览:4
51单片机usb鼠标 浏览:881
qq服务器的ip地址查询 浏览:112
java仿qq聊天 浏览:401
解压的ipa重新打包 浏览:143
程序员那么可爱vip版 浏览:240
程序员怎么升职 浏览:245
图形化命令按钮vb 浏览:987
vcu盘加密怎么设置 浏览:415
如何加密备份微信聊天记录 浏览:529
安卓手机如何模拟键盘 浏览:932