melcat Offline Upload & Sell: Off
|
p.2 #1 · p.2 #1 · Adobe officially admits speeding up Lightroom is 'top priority' | |
It can't help that around 60% of Lightroom¹ is implemented in a dynamic language called Lua². It calls into the native C++ Camera Raw to process the raw files, and probably some other things. Clearly from the linked blog post Adobe's medium term strategy is going to be to isolate some areas of performance concern and recode them in C++ (or maybe Objective C on macOS).
That will probably produce some results fairly quickly, but not for any generalized sluggishness. If you consider the similar Javascript language, which is the one web sites download into the browser to do complex processing, performance was abysmal until first Google, and then Apple and Microsoft, wrote specialized high-performance just-in-time compilers for Javascript. Those were major projects that took several years and would have cost each company millions. I don't know that Adobe has the capability and willingness to do that for Lua, although the presentation I linked to in the footnote does say they "tweaked" the standard Lua distribution. (From a quick look at the plug-in SDK it looks like they forked it.)
Even if you fix the implementation, the language is still less rich in data tyoes. I notice for example that Lua has only one floating point type. which must be set at compliation time as either 32 or 64 bit. Normally one would want both for image processing (indeed Apple now provide all three of 16, 32 and 64 bit on iOS).
Disclaimer: I don't and have never used Lightroom, despite now having a license.
¹ See, e.g., this presentation.
² See the Lua reference manual.
|