不防把三个代码都编个号
代码一、- @echo off
- set tm=%time%
- for /f "delims=" %%a in (B.txt)do if not defined .%%a set ".%%a=i"
- for /f "delims=" %%a in (A.txt)do if not defined .%%a echo %%a>>888.txt
- echo %tm% %time%
- pause
复制代码 代码二、- @echo off
- set tm=%time%
- for /f "delims=" %%a in (B.txt)do if not defined .%%a set ".%%a=i"
- (for /f "delims=" %%a in (A.txt)do if not defined .%%a echo %%a)>888.txt
- echo %tm% %time%
- pause
复制代码 代码三、- @echo off
- set tm=%time%
- echo. >nul 3>888.txt
- for /f "delims=" %%a in (B.txt)do if not defined .%%a set ".%%a=i"
- for /f "delims=" %%a in (A.txt)do if not defined .%%a echo %%a
- echo. >nul 4>con
- echo %tm% %time%
- pause
复制代码 三个代码,不知道最后结果888.txt有多少行?先假设是9楼 keen 推测的2万行吧。
第一个代码和第二个代码的区别是
第一个代码只有第一个for占用了内存,但开关 i/o 2万次。
第二个代码两个for都占用了内存,但开关 i/o 1次
但这两个代码的效率却差不多,说明什么?
难道说开关 i/o 2万次 和 将2万个邮箱地址赋予内存效率是一样的?
但第三个代码的效率,楼主测试也是差不多的,这就很难理解了。
因为它也是只有第一个for占用了内存,并且也只开关 i/o 1次,怎么会效率没有区别呢?
费解~ |