Fangliding 反对为 Xray-core 的 DNS 引入 Lua 脚本引擎
在 Xray-core 一个「为 DNS 查询加入 Lua 脚本」的开放 PR 讨论中,Fangliding 表示反对。他说自己看到了上面提到的二进制体积膨胀,但问题不只这一处,还有引入这东西带来的额外逻辑和维护问题:它不是一个纯粹因为需要复杂逻辑才引入的图灵机,而是为了这个 Lua 引擎,需要把各种本来在 Go 里的对象捏成 Lua 可调用的东西,这些都要写代码,之后还得维护一份文档;现在捏了一个可调 geodata,以后还得要 balancer 变更的回调,回头可能再看一眼 observer 里的观测数据,都要改到这些组件里去。他认为这一切的一切只是为了选个 DNS,而且除了 PR 作者以外的人大概看不懂。PR 作者此前称体积约增加 500KiB、有效代码 600 行,并称 DNS 只是第一个接入点,Lua 的目的是把各模块串起来。该 PR 目前仍未合并。
作者原文@Fangliding我看到上面说的二进制大小的膨胀了 不是只有这样重 还有加这玩意的额外逻辑和维护问题
重点它不是一个纯是需要复杂逻辑而引入的图灵机 而是为了这个lua引擎 需要把各种本来go里的对象捏成lua可调用的东西 这都需要代码 完了还得维护一个文档 现在捏了个可调geodata 以后还得要个balancer change的回调 回头可能再看一眼observer里的观测数据 都需要改到这些组件里去 这一切的一切 只是为了选个DNS 而且除了你以外的人大概还看不懂