The trigger command was importing plugin config for every plugin within it's loop. For the Dokku codebase, this caused a 10x decrease in performance due to the number of plugins, making it prohibitively expensive to perform a trigger.
While we can probably still refactor further to drop the command namespacing - which takes up half the entire runtime with a trigger implemented twice - this still provides a significant boost (4x as fast overall for the user-auth trigger).
The trigger command was importing plugin config for every plugin within it's loop. For the Dokku codebase, this caused a 10x decrease in performance due to the number of plugins, making it prohibitively expensive to perform a trigger.
While we can probably still refactor further to drop the command namespacing - which takes up half the entire runtime with a trigger implemented twice - this still provides a significant boost (4x as fast overall for the
user-auth
trigger).Additionally, we now ignore SIGURG, which allows using a Golang newer than 1.13. See https://github.com/golang/go/issues/37942 for details.
Finally, I officially switched to go-bindata/go-bindata. The source did not reflect what was previously used to wrap up the files.