Extension talk:VariablesLua
Add topicAppearance
Latest comment: 7 years ago by FO-nTTaX in topic Question
| This page used the Structured Discussions extension to give structured discussions. It has since been converted to wikitext, so the content and history here are only an approximation of what was actually displayed at the time these comments were made. |
Question
[edit]Interesting extension that I'd love to try out. I was wondering: why exactly did you develop this extension? Did you develop it to get better performance out of the Variables extension? Or does the Variables extension offer functionality that you can't get (easily) from Lua otherwise? Cavila 08:59, 5 June 2018 (UTC)
- No it does not provide any additional functionality. All the extension does is call something like mw.getCurrentFrame():callParserFunction( '#var', 'foo' ) You can implement it with a module without much of a performance decrease. I think the main point of the extension is that it's easy to distribute across the Liquipedia wiki farm. The performance benefits are minimal at best.EDIT:
local start = os.clock() local var = mw.ext.VariablesLua.var for i=1,10000 do var( 'foo' ) end mw.log( os.clock() - start ) --> 0.114381835 local start = os.clock() for i=1,10000 do mw.getCurrentFrame():callParserFunction( '#var', 'foo' ) end mw.log( os.clock() - start ) --> 0.120059905
- Seems like there's a bit more difference when also using <code>vardefine</code> (but probably still negligible):Litzsch (talk) 20:24, 11 June 2018 (UTC)
local start = os.clock() local var = mw.ext.VariablesLua.var local vardefine = mw.ext.VariablesLua.vardefine for i=1,10000 do vardefine( 'foo', 'bar' ) var( 'foo' ) end mw.log( os.clock() - start ) --> 0.151331927 local start = os.clock() for i=1,10000 do mw.getCurrentFrame():callParserFunction( '#vardefine', { 'foo', 'bar' } ) mw.getCurrentFrame():callParserFunction( '#var', 'foo' ) end mw.log( os.clock() - start ) --> 0.253298621 - Thanks! I'm not aware of any performance issues with the Variables extension myself, but I was wondering if power users - people who aren't afraid to declare 500 variables on a single page - might stand to benefit from a Lua solution. Looks useful anyway. Cavila 06:58, 13 June 2018 (UTC)
- I know I'm late, but to jump in as the author: I mostly made this to familiarize myself with the interface of creating Scribunto extensions. Having an actual project that produces something is always more fun. FO-nTTaX (talk) 14:40, 24 September 2018 (UTC)