Lua-慢字节码

Lua-慢字节码,lua,bytecode,Lua,Bytecode,我有3个文件x.lua、y.lua和main.lua。这些文件执行一些数学运算(递增和递减数字)。当我运行命令时 lua main.lua 比以前快多了 luac-o main.luac-s x.lua y.lua main.lua 你能帮我解释一下为什么字节码比较慢吗?我猜main.lua确实dofile(“x.lua”)或者需要“x”并且y.lua也一样 在这种情况下,第二个表单运行x.lua和y.lua两次。我猜main.lua确实dofile(“x.lua”)或需要“x”,对于y.lua

我有3个文件x.lua、y.lua和main.lua。这些文件执行一些数学运算(递增和递减数字)。当我运行命令时

lua main.lua

比以前快多了

luac-o main.luac-s x.lua y.lua main.lua


你能帮我解释一下为什么字节码比较慢吗?

我猜
main.lua
确实
dofile(“x.lua”)
或者
需要“x”
并且
y.lua
也一样


在这种情况下,第二个表单运行
x.lua
y.lua
两次。

我猜
main.lua
确实
dofile(“x.lua”)
需要“x”
,对于
y.lua
也是如此


在这种情况下,第二个表单运行两次
x.lua
y.lua

它们是非常不同的操作:

  • lua main.lua
    :这是
    • 读取3个文件
    • 将它们编译为内存中的字节码,然后
    • 执行字节码的子集
  • luac-o main.luac-s x.lua y.lua main.lua
    :此功能:
    • 读取3个文件(由于未执行main,因此未读取由main读取的2个文件)
    • 将它们编译为内存中的字节码,然后
    • 将其中三个保存到磁盘上的一个文件中

  • 写入文件(操作2)是一个缓慢的操作,涉及磁盘访问、转储内存块等;它将比执行某些字节码(操作1)慢得多,除非后者是计算密集型的

    它们是非常不同的操作:

  • lua main.lua
    :这是
    • 读取3个文件
    • 将它们编译为内存中的字节码,然后
    • 执行字节码的子集
  • luac-o main.luac-s x.lua y.lua main.lua
    :此功能:
    • 读取3个文件(由于未执行main,因此未读取由main读取的2个文件)
    • 将它们编译为内存中的字节码,然后
    • 将其中三个保存到磁盘上的一个文件中

  • 写入文件(操作2)是一个缓慢的操作,涉及磁盘访问、转储内存块等;它将比执行某些字节码(操作1)慢得多,除非后者是计算密集型的

    谢谢,请问我怎样才能从其他3个文件中生成一个字节码而不丢失speed@lhf啊,是的,因为另外两次读取仅作为执行的一部分发生。更新了。谢谢,还有,我怎样才能从其他3个文件中生成一个字节码而不丢失speed@lhf啊,是的,因为另外两次读取仅作为执行的一部分发生。更新。我们需要显示问题的示例文件。我们需要显示问题的示例文件。