{"comment":{"created_at":"2011-10-24T02:24:17Z","body":"Hey @gmarik, it looks like you miss-understand these patches.\r\n\r\nLogically they are two parts, patches before \"Introduce BundleBind! command to speed up Vim startup\" (include itself) are really fixing the performance issue. The issue is kind of regression/trade-off for keep bundles get loaded same as the declaration order. The only thing this part added is the new `BundleBind!` command. Sure we should try fix issue by not introduce new feature/concept as possible as we can, but when the concept/complexity is just add a simple command without any argments to the configuration, and the benefit is clean, simple and efficient implementation, IMHO it is worth. That's why I finally chose this solution.\r\n\r\nAlso as I've mentioned in above comment, in most case we can call the `BundleBind!` command automatically and it works as before. The only case is if user's .vimrc try to reference a file which provided by a bundle, the attempt will be failed. In both case we can display a warning message to make user aware this implementation change.\r\n\r\nThe second part which implement manually bind slower bundles via tags is kind of \"deep optimization of the Vim startup process\", and it should be consider experimental due to the ugly syntax of tags definition. I pushed them because they also related to the \"Speed up Vim startup\" topic, and want to discuss here to work out a better \"user interface\". Actually the `BundleBind!` command also should accept name of a bundle as arguments, but it should be a different form compare to using tags, like:\r\n\r\n    BundleBind! c.vim\r\n    BundleBind! @slower\r\n\r\nAlso I don't think a simple feature like this is worth to be made as plugin. IMHO The benefit of plugin is user can turn on/off it, developer can separate complex code. But this feature is just about 40 lines code added 22 lines code deleted, and it is \"off\" by default. If user don't touch their configuration, everything works as before. What's the point to make it a plugin?\r\n","updated_at":"2011-10-24T02:24:17Z","url":"https://api.github.com/repos/gmarik/vundle/issues/comments/2499211","id":2499211,"user":{"avatar_url":"https://secure.gravatar.com/avatar/bd6b86d963816e225d1269857ec47049?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bd6b86d963816e225d1269857ec47049","url":"https://api.github.com/users/rainux","id":13707,"login":"rainux"}},"action":"created","issue":{"number":98,"created_at":"2011-10-21T19:19:02Z","pull_request":{"diff_url":"https://github.com/gmarik/vundle/pull/98.diff","patch_url":"https://github.com/gmarik/vundle/pull/98.patch","html_url":"https://github.com/gmarik/vundle/pull/98"},"body":"Hi gmarik,\r\n\r\nHere are some patches mainly focused on speed up Vim startup:\r\n\r\n1. Fix performance issue introduced by 55a5ef04.\r\n\r\n    Although there are other ways to resolve this, I finally chose to introduce a new command `BundleBind!`. The benefit is not only easy to implement and has the best performance, but also make it easy to implement below features. However, the command name \"BundleBind!\" may not be a good choice and can be changed. I haven't chose \"BundleLoad!\" because it doesn't really load plugins when it get executed.\r\n\r\n2. Use a `bind` option to control whether bind a scripts bundle (thus it will be loaded by Vim in the later stage of startup) at Vim startup.\r\n\r\n    This can be use on slower and rarely used scripts.\r\n\r\n3. Manually bind and load those scripts not bound at Vim startup with `BundleBind!`.\r\n\r\n    It accept tags as arguments which can be set by `Bundle` command.\r\n\r\nPlease review and consider pull them :)\r\n","comments":13,"title":"Speed up Vim startup","updated_at":"2011-10-24T02:24:17Z","url":"https://api.github.com/repos/gmarik/vundle/issues/98","id":2018615,"assignee":null,"milestone":null,"closed_at":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/bd6b86d963816e225d1269857ec47049?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bd6b86d963816e225d1269857ec47049","url":"https://api.github.com/users/rainux","id":13707,"login":"rainux"},"html_url":"https://github.com/gmarik/vundle/issues/98","labels":[],"state":"open"},"legacy":{"issue_id":2018615,"comment_id":2499211}}