我即将制作批处理程序,然后用BAT编译它到EXE转换器。 如果我正在制作像
这样的节目@echo off
set Line=0
:Start
set /a Line=%Line% + 1
echo %Line%
goto :Start
我每次看到前一个号码+1。
这很快,但我仍然可以按顺序进行。
我知道计算机的速度要快几千倍,因为它们必须为计算机本身计算更多。
是否有可能强制程序的额外性能?保留RAM,还是类似的东西?
答案 0 :(得分: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
答案 1 :(得分:1)
使用真正的编程语言可以使速度提高一百万倍。
在批处理中,您实际上正在执行纯文本命令,这些命令由命令解释程序单独解析和执行。这从未针对速度进行优化。批处理转换器只是包装批处理文件的代码并将其提供给命令解释器,因此它不会比常规批处理文件执行任何(或至少不会太多)。
额外的RAM并不意味着额外的性能。如果您的应用程序具有太少的RAM可用于容纳其所有数据,则额外的RAM仅为您提供额外的性能。如果发生这种情况,应用程序内存的一部分将交换到磁盘,从而导致额外的性能损失。 但无论如何,你无论如何都无法做到这一点。
许多编程语言都有编译器,可以将代码转换为实际的机器指令,或者至少是高度优化的虚拟机(如.NET或JVM)的指令。甚至像PHP这样的脚本语言也是高度优化的,因为它们需要能够在很短的时间内执行大块代码。 对于批处理,情况并非如此。你只是错过了批处理的目的,它重复了很多命令行指令,因为你不想每次都输入它们。 ; - )