That's because Aperture is doing its layer processing in real-time using CoreImage and storing it in an SQLite database through CoreData.
It is interesting to note that Lightroom uses SQLite for its database --you can read it in the ReadMe--... and uses plugins written in the Lua scripting language. This approach allows Adobe to be able to use bindings for each particular operating system, design the UI in whatever framework they choose, and have its core unaltered for all possible target platforms...
However, a straight port is not possible, as Lightroom has been built as a Cocoa application, with proper use of bundles for Frameworks --Lua for Lightroom is implemented as a dynamic library--, and Lua resources...
It also leaves a lot of room for speed improvement, if need be;-)
That's because Aperture is doing its layer processing in real-time using CoreImage and storing it in an SQLite database through CoreData.
It is interesting to note that Lightroom uses SQLite for its database --you can read it in the ReadMe--... and uses plugins written in the Lua scripting language. This approach allows Adobe to be able to use bindings for each particular operating system, design the UI in whatever framework they choose, and have its core unaltered for all possible target platforms...
However, a straight port is not possible, as Lightroom has been built as a Cocoa application, with proper use of bundles for Frameworks --Lua for Lightroom is implemented as a dynamic library--, and Lua resources...
It also leaves a lot of room for speed improvement, if need be ;-)