neovim/runtime
Pablo Arias 8e739af064
fix(startup): multiprocess startuptime #26790
Problem:
Since 2448816956, the --startuptime report shows
two blocks of data. The TUI process and its embedded nvim process write to the
file concurrently, which may interleave the two startup sequences into the same
timeline.

Solution:
Report each process as a separate section in the same file.
1. Each process buffers the full report.
2. After startup is finished, the buffer is flushed (appended) to the file.

Fix #23036
Sample report:

    --- Startup times for process: Primary/TUI ---

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

    000.006  000.006: --- NVIM STARTING ---
    000.428  000.422: event init
    000.728  000.301: early init
    ...
    005.880  000.713: init highlight
    005.882  000.002: --- NVIM STARTED ---

    --- Startup times for process: Embedded ---

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

    000.006  000.006: --- NVIM STARTING ---
    000.409  000.403: event init
    000.557  000.148: early init
    000.633  000.077: locale set
    ...
    014.383  000.430: first screen update
    014.387  000.003: --- NVIM STARTED ---
2024-02-09 14:56:52 -08:00
..
autoload refactor: create function for deferred loading 2024-02-03 16:53:41 +01:00
colors vim-patch:9.1.0061: UX of visual highlighting can be improved (#27256) 2024-01-29 18:39:57 +08:00
compiler vim-patch:9.1.0013: Modula2 filetype support lacking (#27020) 2024-01-16 17:45:57 +00:00
doc fix(startup): multiprocess startuptime #26790 2024-02-09 14:56:52 -08:00
ftplugin fix(runtime): source c ftplugins in correct order (#27377) 2024-02-08 07:42:16 +08:00
indent vim-patch:83f627ff42a3 2024-02-01 10:04:32 +01:00
keymap vim-patch:caee7956a21a 2023-11-05 21:56:56 +01:00
lua refactor: rename FloatConfig to WinConfig #27397 2024-02-09 08:17:10 -08:00
macros vim-patch:e8d6f03f6a61 2023-08-23 20:36:16 +01:00
pack/dist/opt vim-patch:9.1.0025: A few typos in tests and justify.vim 2024-01-12 22:24:52 +01:00
plugin fix(osc52): do not use 'vim.iter' (#27218) 2024-01-26 12:06:13 -06:00
queries feat(treesitter)!: new standard capture names 2024-01-21 10:41:18 +01:00
spell
syntax vim-patch:f7f33e3719c8 2024-02-06 11:42:15 +01:00
tools
tutor feat(tutor): add Japanese tutor #27268 2024-02-08 14:43:18 -08:00
CMakeLists.txt build: various fixes 2024-02-01 12:06:55 +01:00
delmenu.vim vim-patch:e978b4534a5e (#24697) 2023-08-13 13:25:10 +01:00
filetype.lua fix(filetype): make sure buffer is valid before call nvim_buf_call (#24922) 2023-08-30 10:14:58 -05:00
ftoff.vim vim-patch:e978b4534a5e (#24697) 2023-08-13 13:25:10 +01:00
ftplugin.vim vim-patch:e978b4534a5e (#24697) 2023-08-13 13:25:10 +01:00
ftplugof.vim vim-patch:e978b4534a5e (#24697) 2023-08-13 13:25:10 +01:00
indent.vim vim-patch:e978b4534a5e (#24697) 2023-08-13 13:25:10 +01:00
indoff.vim vim-patch:e978b4534a5e (#24697) 2023-08-13 13:25:10 +01:00
macmap.vim
makemenu.vim vim-patch:9.1.0013: Modula2 filetype support lacking (#27020) 2024-01-16 17:45:57 +00:00
menu.vim vim-patch:e059fae10044 2023-08-24 11:33:06 +09:00
mswin.vim vim-patch:e978b4534a5e (#24697) 2023-08-13 13:25:10 +01:00
neovim.ico
nvim.appdata.xml docs: add wiki FAQ to the runtime documentation (#26539) 2023-12-13 17:31:39 +01:00
nvim.desktop
nvim.png
optwin.vim vim-patch:0b8b145bf8bf 2023-08-31 10:58:54 +02:00
synmenu.vim vim-patch:9.1.0013: Modula2 filetype support lacking (#27020) 2024-01-16 17:45:57 +00:00