Open zao111222333 opened 4 months ago
Thank you for your hard work! I am no longer working on Molt, and have not since, I think, 2020. The license is BSD; if you would like to continue development of your own fork, you have my blessing.
Thank you for your hard work! I am no longer working on Molt, and have not since, I think, 2020. The license is BSD; if you would like to continue development of your own fork, you have my blessing.
Thank you again for your support and creating such a solid foundation with Molt! If you ever decide to return or have any suggestions, I’d be delighted to hear from you.
Hey,
Thank you for creating this awesome work!
I’ve made some improvements while using this crate and wanted to share my fork. I would be delighted if some of my changes could be merged into this repo.
Some noticeable features include:
gen_command!
andgen_subcommand!
macros to statically register commands during compilation, utilizing match blocks for command/subcommand token matching instead of indexing by HashMap. This optimization enhances performance since native and embedded commands should remain unchanged at runtime.ContextMap
with a user-defined genericCtx
(the definition of Interpreter is nowInterp<Ctx>
), allowing direct access to the Interpreter’s context viainterp.context
.if
,for
, …). You can try it in the demo.Lastly, I evaluated the forked version against
molt 0.3.2
. Here are the results (note that performance is influenced by real-time CPU workload, and the values represent general cases):Command:
cd molt-app && cargo run --release bench ../benchmarks/basic.tcl
Platform: Intel Xeon 6348 CPU
0.4.0
(time unit in Nanos)0.3.2
Thank you for considering these changes! If could, I will organize the changes and make PR.