2

我即将制作批处理程序,然后用BAT到EXE转换器编译它。如果我正在制作类似的程序

@echo off
set Line=0
:Start
set /a Line=%Line% + 1
echo %Line%
goto :Start

我每次都看到,以前的号码,+1。

这进展很快,但我仍然可以按照顺序进行。

我知道计算机的速度要快数千倍,因为它们必须为计算机本身计算更多。

是否有可能为程序强制执行额外的性能?保留RAM,或类似的东西?

4

2 回答 2

3

代码,你可以测试:

@echo off & SETLOCAL
for /l %%i in (0) do <nul set/p=.

@echo off & SETLOCAL
:loop
SET /a var+=1
ECHO %var%
goto:loop
于 2013-06-23T19:17:01.193 回答
1

通过使用真正的编程语言,你可以让它快一百万倍。

在批处理中,您实际上是在执行纯文本命令,这些命令由命令解释器单独解析和执行。这从未针对速度进行优化。批处理到 exe 转换器只不过是包装批处理文件的代码并将其提供给命令解释器,因此它的执行速度不会比常规批处理文件快(或至少不会快多少)。

顺便说一句,额外的 RAM 并不意味着额外的性能。额外的 RAM 仅在您的应用程序可用的 RAM 太少而无法容纳其所有数据时为您提供额外的性能。如果发生这种情况,应用程序的一部分内存将被交换到磁盘,从而导致额外的性能损失。但是无论如何,您对此无能为力。

许多编程语言都有编译器,可以将您的代码转换为实际的机器指令,或者至少是用于高度优化的虚拟机的指令,例如 .NET 或 JVM。甚至像 PHP 这样的脚本语言也经过了高度优化,因为它们需要能够在很短的时间内执行大量代码。对于批处理,情况并非如此。您只是错过了批处理的目的,即重复大量命令行指令,因为您不想每次都输入它们。;-)

于 2013-06-23T17:58:10.447 回答