Eldorados/script.module.urlresolver — pull request #191 by VioletRed (2014-08-20 16:15:09+00:00)
Title: Autoloader

Overall performance overhaul: Plugin autoload + ignore priority

Plugins are not initialized at import time, but only if they are
requested. This change significantly improves initialization time,
especially in devices with restricted processing power. For example,
initializing UrlResolver in my Raspberry Pi took between 14 and 20
seconds, and with this changes it is reduced to 1 to 2 seconds. This
change especially improves UI responsiveness of plugins that use the
library.

Plugins are no longer sorted by priority, but just stored "first come,
first served," and matched only against domain (instead of calling all
"valid_url()" methods). This reduces average resolution time from 2-3
seconds to 1 second when the plugin is already in memory, without
significant lost in the first call (3 seconds).