This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
jwlua:finalescriptvsjwlua [2013/09/18 18:20] jariw created |
jwlua:finalescriptvsjwlua [2013/09/18 19:24] (current) jariw [Conclusion] |
||
---|---|---|---|
Line 5: | Line 5: | ||
==== The MakeMusic blog ==== | ==== The MakeMusic blog ==== | ||
- | Today (Sep. 18, 2013), Kelby Stine at MakeMusic posted a blog on MakeMusic about replacing Wizard-created staff names through FinaleScript. I thought it would be interesting to do a FinaleScript vs. JW Lua comparison on this (testing on beta 0.05 functionality, which is soon available). | + | Today (Sep. 18, 2013), Kelby Stine at MakeMusic made a post on the MakeMusic blog about replacing Wizard-created staff names through FinaleScript. I thought it would be interesting to do a //FinaleScript// vs. //JW Lua// comparison on this (testing on the //JW Lua beta 0.05// functionality, which is soon available). |
Kelby's blog post is here: | Kelby's blog post is here: | ||
Line 68: | Line 68: | ||
==== Comparison Result ==== | ==== Comparison Result ==== | ||
- | I did the comparisons on the same file (a "Concert Band (Full)" created by the 2012c Document Wizard). | + | I did the comparisons on the same Finale document (a "Concert Band (Full)" created by the 2012c Document Wizard) on my Windows machine. |
^ Comparison Area ^ FinaleScript ^ JW Lua ^ | ^ Comparison Area ^ FinaleScript ^ JW Lua ^ | ||
| Total Execution Time | 9.25 seconds (manually timed) | 0.02486 seconds | | | Total Execution Time | 9.25 seconds (manually timed) | 0.02486 seconds | | ||
- | | Lines of Code (not counting comment lines) | | 19 | 37 | | + | | Lines of Code (not counting comment lines) | 19 | 37 | |
| User Restrictions | Make sure to run only once, base document on Wizard's output | Base document on Wizard's output (see remark in "Conclusion" below) | | | User Restrictions | Make sure to run only once, base document on Wizard's output | Base document on Wizard's output (see remark in "Conclusion" below) | | ||
==== Conclusion ==== | ==== Conclusion ==== | ||
- | //JW Lua// is a programming language, and the comparison clearly shows that difference. You need to code a bit more, but you have full flexibility, can control the brevity of the language - and you get execution speed. | + | //JW Lua// is a programming language, and the comparison clearly shows that difference. You'll need to code a bit more, but you have full coding flexibility, can control the brevity of the language - and you get execution speed. |
- | However, in Finale 2012 string replacement like this is generally a bad approach since it put restrictions on the script. Instead, the //JW Lua// script should make changes primarily based on the ''InstrumentUUID'' property. In the specific example above, the //JW Lua// execution is **372 times faster** than //FinaleScript//, which would be even more difference if a ''InstrumentUUID'' solution would be used. But that's way beyond this comparison. :-) | + | However, in Finale 2012 string replacement in staff names is generally a bad approach since it put user restrictions on the script. Instead, the //JW Lua// script should make changes primarily based on the ''InstrumentUUID'' property. In the specific example above, the //JW Lua// execution is about **372 times faster** than //FinaleScript//, which would probably be an even larger difference if a ''InstrumentUUID'' solution would be used. But that's way beyond this comparison. :-) |