kickstart.nvim icon indicating copy to clipboard operation
kickstart.nvim copied to clipboard

Input latency when using kickstart

Open jknightdoeswork opened this issue 1 year ago • 3 comments
trafficstars

Describe the bug

I can feel the input latency when using kickstart nvim. Specifically creating a new line in the godot repo is noticably slower.

To Reproduce

  1. install kickstart
  2. git clone [email protected]:godotengine/godot.git
  3. nvim godot
  4. open main.cpp
  5. press o

Desktop

  • linux mint 21.1
  • kernel version 5.15.0-97-generic
  • AMD Ryzen 7 1700 Eight-Core Processor × 8
  • gnome terminal

Neovim Version

NVIM v0.9.5 Build type: Release LuaJIT 2.1.1692716794

Video of me inserting new lines into godot's main.cpp:

https://github.com/nvim-lua/kickstart.nvim/assets/1339925/c478978f-8420-4157-8ac8-10f313eed36a

In stock nvim, it takes 2 frames of video from the onscreen keyboard's 'o' key for the new line to insert.

After kickstart is installed it takes 14 frames of video from the onscreen keyboard's 'o' key for the new line to insert.

Let me know what I can do to help diagnose this issue.

jknightdoeswork avatar Feb 28 '24 17:02 jknightdoeswork

checkhealth output sorry i cant figure out how to copy it to my clipboard image image image

jknightdoeswork avatar Feb 28 '24 17:02 jknightdoeswork

Hi.

Thanks for the report.

Please run:

nvim --startuptime startuptime.log

feoh avatar Feb 28 '24 19:02 feoh

times in msec
 clock   self+sourced   self:  sourced script
 clock   elapsed:              other lines

000.012  000.012: --- NVIM STARTING ---
000.236  000.223: event init
000.388  000.153: early init
000.468  000.079: locale set
000.529  000.061: init first window
000.990  000.461: inits 1
001.019  000.028: window checked
001.023  000.005: parsing arguments
001.864  000.102  000.102: require('vim.shared')
002.070  000.077  000.077: require('vim._options')
002.074  000.203  000.127: require('vim._editor')
002.077  000.395  000.090: require('vim._init_packages')
002.081  000.662: init lua interpreter
002.169  000.089: expanding arguments
002.218  000.048: inits 2
002.731  000.513: init highlight
002.733  000.002: waiting for UI
003.593  000.860: done waiting for UI
003.666  000.073: clear screen
003.928  000.262: init default mappings & autocommands
004.974  000.095  000.095: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/ftplugin.vim
005.081  000.054  000.054: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/indent.vim
007.389  001.201  001.201: require('lazy')
007.477  000.047  000.047: require('ffi')
007.583  000.096  000.096: require('vim.loader')
007.728  000.061  000.061: require('vim.fs')
008.081  000.450  000.389: require('lazy.stats')
008.309  000.185  000.185: require('lazy.core.util')
008.624  000.308  000.308: require('lazy.core.config')
008.963  000.136  000.136: require('lazy.core.handler')
009.135  000.167  000.167: require('lazy.core.plugin')
009.150  000.519  000.217: require('lazy.core.loader')
010.667  000.172  000.172: require('lazy.core.handler.event')
010.801  000.124  000.124: require('lazy.core.handler.cmd')
010.931  000.119  000.119: require('lazy.core.handler.ft')
011.097  000.158  000.158: require('lazy.core.handler.keys')
011.945  000.472  000.472: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/filetype.lua
013.028  000.925  000.925: require('onedark')
015.020  000.390  000.390: require('onedark')
016.724  000.234  000.234: require('onedark.palette')
016.866  000.525  000.291: require('onedark.colors')
016.977  000.103  000.103: require('onedark.util')
017.127  001.367  000.739: require('onedark.highlights')
019.534  000.073  000.073: require('onedark.terminal')
019.549  005.368  003.538: sourcing /home/jason/.local/share/nvim/lazy/onedark.nvim/colors/onedark.lua
020.308  000.173  000.173: require('ibl.utils')
020.321  000.279  000.105: require('ibl.config')
020.508  000.084  000.084: require('ibl.indent')
020.520  000.196  000.112: require('ibl.hooks')
020.523  000.550  000.075: require('ibl.highlights')
020.659  000.134  000.134: require('ibl.autocmds')
020.745  000.083  000.083: require('ibl.inlay_hints')
020.818  000.070  000.070: require('ibl.virt_text')
021.340  000.460  000.460: require('ibl.scope_languages')
021.344  000.523  000.063: require('ibl.scope')
021.350  001.672  000.313: require('ibl')
021.906  000.144  000.144: require('vim.lsp.log')
022.207  000.297  000.297: require('vim.lsp.protocol')
022.495  000.132  000.132: require('vim.lsp._snippet')
022.571  000.073  000.073: require('vim.highlight')
022.586  000.012  000.012: require('vim.F')
022.602  000.392  000.175: require('vim.lsp.util')
022.621  000.939  000.106: require('vim.lsp.handlers')
022.725  000.102  000.102: require('vim.lsp.rpc')
022.839  000.112  000.112: require('vim.lsp.sync')
022.987  000.145  000.145: require('vim.lsp.semantic_tokens')
023.157  000.165  000.165: require('vim.lsp.buf')
023.281  000.121  000.121: require('vim.lsp.diagnostic')
023.441  000.158  000.158: require('vim.lsp.codelens')
023.534  002.031  000.289: require('vim.lsp')
023.906  000.094  000.094: sourcing /home/jason/.local/share/nvim/lazy/vim-rhubarb/plugin/rhubarb.vim
024.441  000.341  000.341: sourcing /home/jason/.local/share/nvim/lazy/vim-sleuth/plugin/sleuth.vim
024.909  000.033  000.033: sourcing /home/jason/.local/share/nvim/lazy/plenary.nvim/plugin/plenary.vim
025.458  000.011  000.011: require('vim.keymap')
025.549  000.337  000.325: sourcing /home/jason/.local/share/nvim/lazy/telescope.nvim/plugin/telescope.lua
026.497  000.270  000.270: require('lualine_require')
026.786  000.983  000.713: require('lualine')
028.744  000.055  000.055: require('lualine.utils.mode')
031.071  000.046  000.046: require('gitsigns.async')
031.160  000.085  000.085: require('gitsigns.config')
031.204  000.042  000.042: require('gitsigns.debug.log')
031.209  000.625  000.453: require('gitsigns')
032.595  000.047  000.047: require('vim.treesitter.language')
032.608  000.127  000.081: require('vim.treesitter.query')
032.656  000.046  000.046: require('vim.treesitter._range')
032.664  000.259  000.085: require('vim.treesitter.languagetree')
032.678  000.334  000.076: require('vim.treesitter')
032.681  000.387  000.053: require('nvim-treesitter.compat')
034.058  001.179  001.179: require('nvim-treesitter.parsers')
034.156  000.095  000.095: require('nvim-treesitter.utils')
034.165  001.420  000.146: require('nvim-treesitter.ts_utils')
034.171  001.488  000.068: require('nvim-treesitter.tsrange')
034.233  000.061  000.061: require('nvim-treesitter.caching')
034.248  002.034  000.098: require('nvim-treesitter.query')
034.268  002.181  000.147: require('nvim-treesitter.configs')
034.270  002.646  000.464: require('nvim-treesitter-textobjects')
034.596  000.128  000.128: require('nvim-treesitter.info')
034.829  000.229  000.229: require('nvim-treesitter.shell_command_selectors')
034.925  000.580  000.222: require('nvim-treesitter.install')
035.022  000.095  000.095: require('nvim-treesitter.statusline')
035.248  000.223  000.223: require('nvim-treesitter.query_predicates')
035.251  000.980  000.082: require('nvim-treesitter')
035.484  000.107  000.107: require('nvim-treesitter.textobjects.shared')
035.489  000.225  000.117: require('nvim-treesitter.textobjects.select')
035.693  000.090  000.090: require('nvim-treesitter.textobjects.attach')
035.786  000.089  000.089: require('nvim-treesitter.textobjects.repeatable_move')
035.797  000.286  000.106: require('nvim-treesitter.textobjects.move')
036.107  000.073  000.073: require('nvim-treesitter.textobjects.swap')
036.226  000.059  000.059: require('nvim-treesitter.textobjects.lsp_interop')
036.246  004.646  000.377: sourcing /home/jason/.local/share/nvim/lazy/nvim-treesitter-textobjects/plugin/nvim-treesitter-textobjects.vim
036.763  000.421  000.421: sourcing /home/jason/.local/share/nvim/lazy/nvim-treesitter/plugin/nvim-treesitter.lua
037.413  000.037  000.037: require('Comment.config')
037.518  000.058  000.058: require('Comment.ft')
037.523  000.107  000.049: require('Comment.utils')
037.561  000.037  000.037: require('Comment.opfunc')
037.596  000.033  000.033: require('Comment.extra')
037.600  000.607  000.393: require('Comment.api')
037.742  000.795  000.188: sourcing /home/jason/.local/share/nvim/lazy/Comment.nvim/plugin/Comment.lua
037.840  000.044  000.044: require('Comment')
038.987  000.890  000.890: sourcing /home/jason/.local/share/nvim/lazy/vim-fugitive/plugin/fugitive.vim
039.049  000.010  000.010: sourcing /home/jason/.local/share/nvim/lazy/vim-fugitive/ftdetect/fugitive.vim
040.449  000.957  000.957: require('vim.filetype')
041.067  000.039  000.039: require('luasnip.util.types')
041.073  000.087  000.048: require('luasnip.util.ext_opts')
041.206  000.035  000.035: require('luasnip.util.lazy_table')
041.248  000.040  000.040: require('luasnip.extras.filetype_functions')
041.261  000.143  000.069: require('luasnip.default_config')
041.264  000.190  000.047: require('luasnip.session')
041.267  000.628  000.352: require('luasnip.config')
041.483  000.089  000.089: require('luasnip.util.util')
041.577  000.032  000.032: require('luasnip.nodes.key_indexer')
041.586  000.100  000.067: require('luasnip.nodes.util')
041.673  000.035  000.035: require('luasnip.session.snippet_collection.source')
041.708  000.033  000.033: require('luasnip.util.table')
041.744  000.034  000.034: require('luasnip.util.auto_table')
041.751  000.163  000.060: require('luasnip.session.snippet_collection')
041.879  000.040  000.040: require('luasnip.util.select')
041.927  000.045  000.045: require('luasnip.util.time')
042.200  000.409  000.323: require('luasnip.util._builtin_vars')
042.279  000.073  000.073: require('vim.inspect')
042.340  000.588  000.107: require('luasnip.util.environ')
042.390  000.048  000.048: require('luasnip.util.extend_decorator')
042.499  000.059  000.059: require('luasnip.util.path')
042.645  000.069  000.069: require('luasnip.util.log')
042.653  000.152  000.083: require('luasnip.loaders.util')
042.700  000.045  000.045: require('luasnip.loaders.data')
042.802  000.100  000.100: require('luasnip.loaders.fs_watchers')
042.816  000.424  000.069: require('luasnip.loaders')
042.839  001.567  000.156: require('luasnip')
042.863  003.412  000.260: sourcing /home/jason/.local/share/nvim/lazy/LuaSnip/plugin/luasnip.lua
042.918  000.025  000.025: sourcing /home/jason/.local/share/nvim/lazy/LuaSnip/plugin/luasnip.vim
044.024  000.108  000.108: require('cmp.utils.api')
044.127  000.042  000.042: require('cmp.types.cmp')
044.238  000.058  000.058: require('cmp.utils.misc')
044.257  000.127  000.070: require('cmp.types.lsp')
044.315  000.056  000.056: require('cmp.types.vim')
044.318  000.290  000.065: require('cmp.types')
044.374  000.055  000.055: require('cmp.utils.highlight')
044.492  000.063  000.063: require('cmp.utils.debug')
044.501  000.125  000.061: require('cmp.utils.autocmd')
044.869  001.017  000.439: sourcing /home/jason/.local/share/nvim/lazy/nvim-cmp/plugin/cmp.lua
045.270  000.014  000.014: sourcing /home/jason/.local/share/nvim/lazy/which-key.nvim/plugin/which-key.vim
046.043  000.077  000.077: require('which-key.util')
046.047  000.154  000.077: require('which-key.tree')
046.149  000.101  000.101: require('which-key.config')
046.158  000.339  000.084: require('which-key.keys')
046.162  000.765  000.425: require('which-key')
047.065  000.058  000.058: require('mason-core.path')
047.274  000.131  000.131: require('mason-core.functional')
047.407  000.053  000.053: require('mason-core.functional.data')
047.415  000.127  000.074: require('mason-core.functional.function')
047.479  000.051  000.051: require('mason-core.functional.relation')
047.537  000.048  000.048: require('mason-core.functional.logic')
047.550  000.482  000.124: require('mason-core.platform')
047.669  000.117  000.117: require('mason.settings')
047.672  001.111  000.454: require('mason')
047.956  000.102  000.102: require('mason-core.functional.list')
048.030  000.069  000.069: require('mason-core.functional.string')
048.057  000.293  000.123: require('mason.api.command')
048.139  000.076  000.076: require('mason-registry.sources')
049.396  000.105  000.105: require('fidget.spinner.patterns')
049.400  000.162  000.057: require('fidget.spinner')
049.461  000.059  000.059: require('fidget.options')
049.470  000.301  000.081: require('fidget.progress.display')
049.635  000.090  000.090: require('fidget.logger')
049.642  000.171  000.080: require('fidget.progress.lsp')
050.017  000.105  000.105: require('fidget.poll')
050.024  000.215  000.110: require('fidget.notification.model')
050.126  000.100  000.100: require('fidget.notification.window')
050.403  000.274  000.274: require('fidget.notification.view')
050.472  000.749  000.159: require('fidget.notification')
050.482  000.838  000.089: require('fidget.progress.handle')
050.530  001.430  000.121: require('fidget.progress')
050.938  000.406  000.406: require('fidget.commands')
051.257  000.168  000.168: require('fidget.integration.nvim-tree')
051.447  000.187  000.187: require('fidget.integration.xcodebuild-nvim')
051.452  000.510  000.155: require('fidget.integration')
051.468  002.927  000.582: require('fidget')
052.973  000.250  000.250: sourcing /home/jason/.local/share/nvim/lazy/nvim-lspconfig/plugin/lspconfig.lua
053.300  000.102  000.102: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/editorconfig.lua
053.470  000.147  000.147: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/gzip.vim
053.515  000.008  000.008: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/health.vim
053.581  000.048  000.048: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/man.lua
054.049  000.171  000.171: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
054.107  000.464  000.292: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/matchit.vim
054.249  000.119  000.119: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/matchparen.vim
054.568  000.295  000.295: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/netrwPlugin.vim
054.653  000.044  000.044: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/nvim.lua
054.821  000.123  000.123: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/rplugin.vim
054.924  000.056  000.056: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/shada.vim
054.983  000.019  000.019: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/spellfile.vim
055.106  000.090  000.090: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/tarPlugin.vim
055.217  000.070  000.070: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/tohtml.vim
055.279  000.016  000.016: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/tutor.vim
055.426  000.121  000.121: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/zipPlugin.vim
055.909  000.057  000.057: require('cmp.utils.char')
055.917  000.104  000.047: require('cmp.utils.str')
056.032  000.031  000.031: require('cmp.utils.buffer')
056.038  000.084  000.053: require('cmp.utils.keymap')
056.041  000.123  000.040: require('cmp.utils.feedkeys')
056.171  000.042  000.042: require('cmp.config.mapping')
056.205  000.032  000.032: require('cmp.utils.cache')
056.300  000.042  000.042: require('cmp.config.compare')
056.302  000.095  000.053: require('cmp.config.default')
056.312  000.225  000.056: require('cmp.config')
056.321  000.278  000.053: require('cmp.utils.async')
056.390  000.030  000.030: require('cmp.utils.pattern')
056.393  000.071  000.041: require('cmp.context')
056.526  000.034  000.034: require('cmp.matcher')
056.531  000.092  000.058: require('cmp.entry')
056.536  000.142  000.050: require('cmp.source')
056.606  000.030  000.030: require('cmp.utils.event')
056.714  000.029  000.029: require('cmp.utils.options')
056.718  000.075  000.046: require('cmp.utils.window')
056.720  000.112  000.037: require('cmp.view.docs_view')
056.776  000.055  000.055: require('cmp.view.custom_entries_view')
056.824  000.046  000.046: require('cmp.view.wildmenu_entries_view')
056.867  000.041  000.041: require('cmp.view.native_entries_view')
056.918  000.049  000.049: require('cmp.view.ghost_text_view')
056.925  000.387  000.054: require('cmp.view')
057.236  001.487  000.382: require('cmp.core')
057.354  000.040  000.040: require('cmp.config.sources')
057.388  000.032  000.032: require('cmp.config.window')
057.424  001.738  000.179: require('cmp')
057.480  000.054  000.054: require('cmp_path')
057.499  001.910  000.118: sourcing /home/jason/.local/share/nvim/lazy/cmp-path/after/plugin/cmp_path.lua
057.678  000.037  000.037: require('cmp_nvim_lsp.source')
057.681  000.079  000.042: require('cmp_nvim_lsp')
057.694  000.144  000.064: sourcing /home/jason/.local/share/nvim/lazy/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua
057.837  000.043  000.043: require('cmp_luasnip')
057.876  000.134  000.091: sourcing /home/jason/.local/share/nvim/lazy/cmp_luasnip/after/plugin/cmp_luasnip.lua
057.989  000.065  000.065: sourcing /home/jason/.local/share/nvim/lazy/indent-blankline.nvim/after/plugin/commands.lua
058.239  000.145  000.145: require('vim.diagnostic')
058.357  000.042  000.042: require('telescope._extensions')
058.360  000.092  000.050: require('telescope')
058.577  000.036  000.036: require('plenary.bit')
058.611  000.032  000.032: require('plenary.functional')
058.636  000.154  000.086: require('plenary.path')
058.649  000.205  000.050: require('plenary.strings')
058.688  000.039  000.039: require('telescope.deprecated')
058.882  000.099  000.099: require('plenary.log')
058.918  000.169  000.069: require('telescope.log')
059.053  000.068  000.068: require('plenary.job')
059.110  000.040  000.040: require('telescope.state')
059.116  000.196  000.087: require('telescope.utils')
059.120  000.430  000.066: require('telescope.sorters')
060.867  002.505  001.831: require('telescope.config')
062.154  000.108  000.108: require('fzf_lib')
062.160  000.180  000.071: require('telescope._extensions.fzf')
062.289  000.120  000.120: require('telescope.builtin')
062.529  000.066  000.066: require('mason-core.log')
062.571  000.039  000.039: require('mason-lspconfig.settings')
062.574  000.168  000.064: require('mason-lspconfig')
062.665  000.034  000.034: require('mason-lspconfig.notify')
062.670  000.094  000.060: require('mason-lspconfig.lspconfig_hook')
062.792  000.121  000.121: require('lspconfig.util')
062.923  000.044  000.044: require('mason-core.functional.table')
062.963  000.168  000.124: require('mason-lspconfig.mappings.server')
063.053  000.038  000.038: require('mason-core.EventEmitter')
063.093  000.038  000.038: require('mason-core.optional')
063.191  000.051  000.051: require('mason-core.async')
063.228  000.034  000.034: require('mason-core.async.uv')
063.241  000.146  000.061: require('mason-core.fs')
063.259  000.295  000.073: require('mason-registry')
063.300  000.039  000.039: require('mason-lspconfig.server_config_extensions')
063.400  000.039  000.039: require('lspconfig.async')
063.403  000.101  000.062: require('lspconfig.configs')
063.453  000.049  000.049: require('lspconfig.server_configurations.omnisharp')
063.777  000.039  000.039: require('mason-core.functional.number')
063.799  000.140  000.100: require('mason-lspconfig.api.command')
064.179  000.377  000.377: require('neodev')
064.221  000.040  000.040: require('neodev.config')
064.312  000.042  000.042: require('neodev.util')
064.315  000.085  000.043: require('neodev.lsp')
064.593  000.062  000.062: require('mason-lspconfig.ensure_installed')
064.769  000.087  000.087: require('mason-core.result')
065.018  000.129  000.129: require('mason-core.process')
065.154  000.133  000.133: require('mason-core.spawn')
065.164  000.334  000.072: require('mason-core.managers.powershell')
065.214  000.048  000.048: require('mason.version')
065.217  000.445  000.063: require('mason-core.fetch')
065.276  000.058  000.058: require('mason-core.providers')
065.624  000.213  000.213: require('mason-core.purl')
065.641  000.313  000.099: require('mason-core.package')
065.917  000.093  000.093: require('mason-core.installer.registry.expr')
065.944  000.226  000.134: require('mason-core.installer.registry.link')
066.393  000.100  000.100: require('mason-core.receipt')
066.417  000.236  000.136: require('mason-core.installer.context')
066.490  000.072  000.072: require('mason-core.async.control')
066.570  000.077  000.077: require('mason-core.installer.linker')
066.577  000.491  000.107: require('mason-core.installer')
066.602  000.597  000.105: require('mason-core.installer.managers.std')
066.604  000.658  000.061: require('mason-core.installer.registry.schemas')
066.672  000.067  000.067: require('mason-core.installer.registry.util')
066.687  001.044  000.093: require('mason-core.installer.registry')
066.691  001.412  000.055: require('mason-registry.sources.util')
066.703  002.102  000.100: require('mason-registry.sources.github')
071.306  000.092  000.092: require('lspconfig')
071.390  000.079  000.079: require('lspconfig.server_configurations.lua_ls')
072.086  000.114  000.114: require('lspconfig.manager')
072.330  000.105  000.105: require('luasnip.session.enqueueable_operations')
072.517  000.183  000.183: require('luasnip.util.jsonc')
073.104  000.082  000.082: require('luasnip.util.events')
073.121  000.272  000.191: require('luasnip.nodes.node')
073.271  000.149  000.149: require('luasnip.nodes.insertNode')
073.358  000.084  000.084: require('luasnip.nodes.textNode')
073.462  000.101  000.101: require('luasnip.util.mark')
074.052  000.587  000.587: require('luasnip.util.pattern_tokenizer')
074.204  000.149  000.149: require('luasnip.util.dict')
074.542  000.017  000.017: require('jsregexp.core')
074.570  000.141  000.124: require('luasnip-jsregexp')
074.571  000.299  000.158: require('luasnip.util.jsregexp')
074.574  000.367  000.068: require('luasnip.nodes.util.trig_engines')
074.740  002.092  000.383: require('luasnip.nodes.snippet')
074.747  002.159  000.068: require('luasnip.nodes.duplicate')
074.753  002.231  000.071: require('luasnip.loaders.snippet_cache')
074.770  002.675  000.156: require('luasnip.loaders.from_vscode')
079.317  000.043  000.043: require('luasnip.util.parser.neovim_ast')
079.362  000.040  000.040: require('luasnip.util.str')
079.408  000.043  000.043: require('luasnip.util.directed_graph')
079.413  000.202  000.076: require('luasnip.util.parser.ast_utils')
079.467  000.053  000.053: require('luasnip.nodes.functionNode')
079.533  000.064  000.064: require('luasnip.nodes.choiceNode')
079.594  000.059  000.059: require('luasnip.nodes.dynamicNode')
079.691  000.095  000.095: require('luasnip.util.functions')
079.696  000.644  000.172: require('luasnip.util.parser.ast_parser')
079.768  000.070  000.070: require('luasnip.util.parser.neovim_parser')
079.795  000.899  000.185: require('luasnip.util.parser')
079.800  001.026  000.127: require('luasnip.nodes.snippetProxy')
079.845  000.043  000.043: require('luasnip.nodes.multiSnippet')
082.002  076.821  028.926: sourcing /home/jason/.config/nvim/init.lua
082.013  001.115: sourcing vimrc file(s)
082.253  000.045  000.045: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/filetype.lua
082.550  000.086  000.086: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/syntax/synload.vim
082.677  000.340  000.255: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/syntax/syntax.vim
082.692  000.294: inits 3
083.789  001.097: reading ShaDa
084.055  000.092  000.092: require('luasnip.loaders.from_lua')
084.135  000.075  000.075: require('luasnip.loaders.from_snipmate')
084.243  000.288: opening buffers
084.354  000.111: BufEnter autocommands
084.357  000.003: editing files in windows
084.493  000.083  000.083: require('which-key.plugins')
084.548  000.050  000.050: require('which-key.plugins.marks')
084.608  000.056  000.056: require('which-key.mappings')
084.982  000.062  000.062: require('which-key.plugins.spelling')
085.101  000.080  000.080: require('which-key.plugins.presets')
085.166  000.061  000.061: require('which-key.plugins.presets.misc')
085.232  000.047  000.047: require('which-key.plugins.registers')
085.411  000.047  000.047: require('which-key.colors')
092.753  007.909: VimEnter autocommands
092.821  000.068: UIEnter autocommands
093.233  000.255  000.255: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/autoload/provider/clipboard.vim
093.243  000.167: before starting main loop
094.207  000.963: first screen update
094.209  000.002: --- NVIM STARTED ---


times in msec
 clock   self+sourced   self:  sourced script
 clock   elapsed:              other lines

000.013  000.013: --- NVIM STARTING ---
000.242  000.229: event init
000.424  000.181: early init
000.502  000.078: locale set
000.566  000.064: init first window
001.061  000.495: inits 1
001.074  000.013: window checked
001.078  000.004: parsing arguments
001.926  000.102  000.102: require('vim.shared')
002.137  000.077  000.077: require('vim._options')
002.141  000.209  000.132: require('vim._editor')
002.144  000.398  000.087: require('vim._init_packages')
002.148  000.672: init lua interpreter
003.166  001.018: expanding arguments
003.229  000.063: inits 2
003.763  000.534: init highlight

jknightdoeswork avatar Feb 28 '24 19:02 jknightdoeswork

For my case, the delay was caused by treesitter config where highlight is enabled

      require('nvim-treesitter.configs').setup {
        ensure_installed = { 'bash', 'c', 'html', 'lua', 'markdown', 'vim', 'vimdoc' },
        -- Autoinstall languages that are not installed
        auto_install = true,
        -- highlight = { enable = true },
        indent = { enable = true },
      }

denilson020898 avatar Mar 19 '24 19:03 denilson020898

Some tips from the treesitter official repo

highlight = {
   enable = true,

   -- NOTE: these are the names of the parsers and not the filetype. (for example if you want to
   -- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is
   -- the name of the parser)
   -- list of language that will be disabled
   disable = { "c", "rust" },
   -- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files
   disable = function(lang, buf)
       local max_filesize = 100 * 1024 -- 100 KB
       local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
       if ok and stats and stats.size > max_filesize then
           return true
       end
   end,

   -- Setting this to true will run `:h syntax` and tree-sitter at the same time.
   -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
   -- Using this option may slow down your editor, and you may see some duplicate highlights.
   -- Instead of true it can also be a list of languages
   additional_vim_regex_highlighting = false,
 },

denilson020898 avatar Mar 19 '24 19:03 denilson020898

Please feel free to create your own fork and optimize kickstart to within an inch of its life! :)

Our goal is to provide a simple, straight forward, easy to read initial configuration for people as an invitation to extend things themselves, so I don't think these changes are in scope for this project.

Thanks for the report!

feoh avatar Mar 19 '24 19:03 feoh