-
Notifications
You must be signed in to change notification settings - Fork 407
biber increases compile time and creates latency for big documents #3124
Description
Description
I am a neovim user that regularly uses vimtex to edit and compile latex documents. Recently I've been working on a document that is 79 pages with figures and references. I found that when I change the backend for autocite to biber from bibtex that I encountered the following issue: After I initially compile the document, edits create extreme latency that renders the cursor unmovable. The full time it takes from the edit and render to being able to move the cursor again is 30 seconds on average. When I switched the backend from biber to bibtex, the render time decreased to 9 seconds on average and the latency issue disappeared entirely.
I have encountered this issue on multiple devices running pop os 22.04. The neovim environment I am using is 10.4 with pchest/nvim-config as the configuration setup.
Steps to reproduce
No response
Expected behavior
No response
Actual behavior
No response
Do you use a latexmkrc file?
No
VimtexInfo
I am using neovim, so I don't have a VimtexInfo page. Here is the result of :checkhealth:
==============================================================================
coc: health#coc#check
- OK nvim version satisfied
- OK Environment check passed
- OK Javascript bundle build/index.js found
- OK Service started
==============================================================================
codecompanion: require("codecompanion.health").check()
- Neovim version: 0.10.4
- Log file: /home/patrick/.local/state/nvim/codecompanion.log
Dependencies: ~
- OK plenary.nvim installed
- OK nvim-treesitter installed
Tree-sitter parsers: ~
- OK markdown parser installed
- OK yaml parser installed
Libraries: ~
- OK curl installed
==============================================================================
diffview: require("diffview.health").check()
Checking plugin dependencies ~
- OK nvim-web-devicons installed.
Checking VCS tools ~
- The plugin requires at least one of the supported VCS tools to be valid.
- OK Git found.
- OK Git is up-to-date. (2.34.1)
- WARNING Configured `hg_cmd` is not executable: 'hg'
==============================================================================
dressing: require("dressing.health").check()
dressing.nvim ~
- OK vim.ui.input active
- OK vim.ui.select active: telescope
==============================================================================
fzf_lua: health#fzf_lua#check
fzf-lua [required] ~
- OK 'fzf' `0.29 (devel)`
- OK 'git' `git version 2.34.1`
- OK 'rg' `ripgrep 13.0.0`
- OK 'fdfind' `fd 8.3.1`
- WARNING 'fzf' `>= 0.53` is recommended.
fzf-lua [optional] ~
- OK `nvim-web-devicons` found
- OK 'rg' `ripgrep 13.0.0`
- OK 'fdfind' `fd 8.3.1`
fzf-lua [optional:media] ~
- WARNING 'viu' not found
- WARNING 'chafa' not found
- WARNING 'ueberzugpp' not found
fzf-lua [env] ~
- OK `FZF_DEFAULT_OPTS` is not set
- OK `FZF_DEFAULT_OPTS_FILE` is not set
==============================================================================
hop: require("hop.health").check()
Ensuring keys are unique ~
- OK Keys are unique
Checking for deprecated features ~
- OK All good
==============================================================================
lazy: require("lazy.health").check()
lazy.nvim ~
- {lazy.nvim} version `11.16.2`
- OK {git} `version 2.34.1`
- WARNING found existing packages at `/home/patrick/.local/share/nvim/site/pack/packer`
- OK packer_compiled.lua not found
luarocks ~
- OK luarocks disabled
==============================================================================
lspconfig: require("lspconfig.health").check()
LSP configs active in this session (globally) ~
- Configured servers: pylsp, bashls, vimls, ltex
- OK Deprecated servers: (none)
LSP configs active in this buffer (bufnr: 1) ~
- Language client log: ~/.local/state/nvim/lsp.log
- Detected filetype: `dashboard`
- 0 client(s) attached to this buffer
Docs for active configs: ~
==============================================================================
molten: require("molten.health").check()
molten-nvim ~
- OK NeoVim >=0.9
- OK Python >=3.10
- OK Python module pynvim found
- OK Python module jupyter-client found
- OK Python module cairosvg found
- OK Python module pnglatex found
- OK Python module plotly found
- OK Python module kaleido found
- OK Python module pyperclip found
- OK Python module nbformat found
- OK Python module pillow found
==============================================================================
nvim: require("nvim.health").check()
Configuration ~
- OK no issues found
Runtime ~
- OK $VIMRUNTIME: /home/linuxbrew/.linuxbrew/Cellar/neovim/0.10.4/share/nvim/runtime
Performance ~
- OK Build type: Release
Remote Plugins ~
- OK Up to date
terminal ~
- key_backspace (kbs) terminfo entry: `key_backspace=^H`
- key_dc (kdch1) terminfo entry: `key_dc=\E[3~`
- $COLORTERM="truecolor"
External Tools ~
- OK ripgrep 13.0.0 (/usr/bin/rg)
==============================================================================
nvim-treesitter: require("nvim-treesitter.health").check()
Installation ~
- OK `tree-sitter` found 0.24.7 (parser generator, only needed for :TSInstallFromGrammar)
- OK `node` found v19.3.0 (only needed for :TSInstallFromGrammar)
- OK `git` executable found.
- OK `cc` executable found. Selected from { vim.NIL, "cc", "gcc", "clang", "cl", "zig" }
Version: cc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
- OK Neovim was compiled with tree-sitter runtime ABI version 14 (required >=13). Parsers must be compatible with runtime ABI.
OS Info:
{
machine = "x86_64",
release = "6.12.10-76061203-generic",
sysname = "Linux",
version = "#202412060638~1740154617~22.04~b4b3ebc SMP PREEMPT_DYNAMIC Fri F"
} ~
Parser/Features H L F I J
- c ✓ ✓ ✓ ✓ ✓
- lua ✓ ✓ ✓ ✓ ✓
- luadoc ✓ . . . .
- markdown ✓ . ✓ ✓ ✓
- markdown_inline ✓ . . . ✓
- python ✓ ✓ ✓ ✓ ✓
- query x ✓ ✓ ✓ ✓
- r ✓ ✓ . ✓ ✓
- rnoweb ✓ . ✓ . ✓
- vim ✓ ✓ ✓ . ✓
- vimdoc ✓ . . . ✓
- yaml ✓ ✓ ✓ ✓ ✓
Legend: H[ighlight], L[ocals], F[olds], I[ndents], In[j]ections
+) multiple parsers found, only one will be used
x) errors found in the query, try to run :TSUpdate {lang} ~
The following errors have been detected: ~
- ERROR query(highlights): ...m/0.10.4/share/nvim/runtime/lua/vim/treesitter/query.lua:252: Query error at 14:2. Invalid node type "missing_node":
(missing_node
^
query(highlights) is concatenated from the following files:
| [ERROR]:"/home/patrick/.local/share/nvim/lazy/nvim-treesitter/queries/query/highlights.scm", failed to load: ...m/0.10.4/share/nvim/runtime/lua/vim/treesitter/query.lua:252: Query error at 14:2. Invalid node type "missing_node":
(missing_node
^
==============================================================================
provider.clipboard: require("provider.clipboard.health").check()
Clipboard (optional) ~
- OK Clipboard tool found: xclip
==============================================================================
provider.node: require("provider.node.health").check()
Node.js provider (optional) ~
- Disabled (loaded_node_provider=0).
==============================================================================
provider.perl: require("provider.perl.health").check()
Perl provider (optional) ~
- Disabled (loaded_perl_provider=0).
==============================================================================
provider.python: require("provider.python.health").check()
Python 3 provider (optional) ~
- Using: g:python3_host_prog = "/home/patrick/anaconda3/bin/python3"
- Executable: /home/patrick/anaconda3/bin/python3
- Python version: 3.12.2
- pynvim version: 0.5.0
- OK Latest pynvim is installed.
Python virtualenv ~
- OK no $VIRTUAL_ENV
==============================================================================
provider.ruby: require("provider.ruby.health").check()
Ruby provider (optional) ~
- Disabled (loaded_ruby_provider=0).
==============================================================================
r: require("r.health").check()
Checking applications and plugins: ~
- OK Neovim version: 0.10.4
- OK C compiler (`gcc` or `clang`) found.
- OK `R-nvim/cmp-r` found.
- OK `nvim-treesitter/nvim-treesitter` found.
Checking tree-sitter parsers: ~
- OK `r` found.
- OK `markdown` found.
- OK `markdown_inline` found.
- OK `rnoweb` found.
- ERROR `latex` not found.
- OK `yaml` found.
==============================================================================
render-markdown: require("render-markdown.health").check()
render-markdown.nvim [version] ~
- OK plugin 8.0.3
- OK neovim >= 0.10
render-markdown.nvim [configuration] ~
- OK valid
render-markdown.nvim [treesitter] ~
- OK markdown: parser installed
- OK markdown_inline: parser installed
- WARNING latex: parser not installed
- ADVICE:
- Disable LaTeX support to avoid this warning by setting { latex = { enabled = false } }
- OK markdown: highlight enabled
render-markdown.nvim [icons] ~
- OK using: nvim-web-devicons
render-markdown.nvim [executables] ~
- WARNING latex2text: not installed
- ADVICE:
- Disable LaTeX support to avoid this warning by setting { latex = { enabled = false } }
render-markdown.nvim [conflicts] ~
- OK headlines: not installed
- OK obsidian: not installed
==============================================================================
targets: health#targets#check
- WARNING Conflicting mapping found:
iB → :<C-U>call text_obj#Buffer()<CR>
B → {'pair': [{'c': '}', 'o': '{'}]}
- WARNING Conflicting mapping found:
ab → <Plug>(textobj-sandwich-auto-a)
b → {'pair': [{'c': ')', 'o': '('}, {'c': ']', 'o': '['}, {'c': '}', 'o': '{'}]}
- WARNING Conflicting mapping found:
ib → <Plug>(textobj-sandwich-auto-i)
b → {'pair': [{'c': ')', 'o': '('}, {'c': ']', 'o': '['}, {'c': '}', 'o': '{'}]}
==============================================================================
telescope: require("telescope.health").check()
Checking for required plugins ~
- OK plenary installed.
- OK nvim-treesitter installed.
Checking external dependencies ~
- OK rg: found ripgrep 13.0.0
- OK fd: found fd 8.3.1
===== Installed extensions ===== ~
Telescope Extension: `notify` ~
- No healthcheck provided
==============================================================================
vim.lsp: require("vim.lsp.health").check()
- LSP log level : WARN
- Log path: /home/patrick/.local/state/nvim/lsp.log
- WARNING Log size: 265427 KB
vim.lsp: Active Clients ~
- No active clients
vim.lsp: File Watcher ~
- file watching "(workspace/didChangeWatchedFiles)" disabled on all clients
vim.lsp: Position Encodings ~
- No active clients
==============================================================================
vim.treesitter: require("vim.treesitter.health").check()
- Nvim runtime ABI version: 14
- OK Parser: lua ABI: 14, path: /home/patrick/.local/share/nvim/lazy/nvim-treesitter/parser/lua.so
- OK Parser: luadoc ABI: 14, path: /home/patrick/.local/share/nvim/lazy/nvim-treesitter/parser/luadoc.so
- OK Parser: markdown ABI: 14, path: /home/patrick/.local/share/nvim/lazy/nvim-treesitter/parser/markdown.so
- OK Parser: markdown_inline ABI: 14, path: /home/patrick/.local/share/nvim/lazy/nvim-treesitter/parser/markdown_inline.so
- OK Parser: python ABI: 14, path: /home/patrick/.local/share/nvim/lazy/nvim-treesitter/parser/python.so
- OK Parser: r ABI: 14, path: /home/patrick/.local/share/nvim/lazy/nvim-treesitter/parser/r.so
- OK Parser: rnoweb ABI: 13, path: /home/patrick/.local/share/nvim/lazy/nvim-treesitter/parser/rnoweb.so
- OK Parser: vim ABI: 14, path: /home/patrick/.local/share/nvim/lazy/nvim-treesitter/parser/vim.so
- OK Parser: vimdoc ABI: 14, path: /home/patrick/.local/share/nvim/lazy/nvim-treesitter/parser/vimdoc.so
- OK Parser: yaml ABI: 14, path: /home/patrick/.local/share/nvim/lazy/nvim-treesitter/parser/yaml.so
- OK Parser: c ABI: 14, path: /home/linuxbrew/.linuxbrew/Cellar/neovim/0.10.4/lib/nvim/parser/c.so
- OK Parser: lua ABI: 14, path: /home/linuxbrew/.linuxbrew/Cellar/neovim/0.10.4/lib/nvim/parser/lua.so
- OK Parser: markdown ABI: 14, path: /home/linuxbrew/.linuxbrew/Cellar/neovim/0.10.4/lib/nvim/parser/markdown.so
- OK Parser: markdown_inline ABI: 14, path: /home/linuxbrew/.linuxbrew/Cellar/neovim/0.10.4/lib/nvim/parser/markdown_inline.so
- OK Parser: query ABI: 14, path: /home/linuxbrew/.linuxbrew/Cellar/neovim/0.10.4/lib/nvim/parser/query.so
- OK Parser: vim ABI: 14, path: /home/linuxbrew/.linuxbrew/Cellar/neovim/0.10.4/lib/nvim/parser/vim.so
- OK Parser: vimdoc ABI: 14, path: /home/linuxbrew/.linuxbrew/Cellar/neovim/0.10.4/lib/nvim/parser/vimdoc.so
==============================================================================
which-key: require("which-key.health").check()
- OK Most of these checks are for informational purposes only.
WARNINGS should be treated as a warning, and don't necessarily indicate a problem with your config.
Please |DON'T| report these warnings as an issue.
Checking your config ~
- WARNING |mini.icons| is not installed
- OK |nvim-web-devicons| is installed
Checking for issues with your mappings ~
- OK No issues reported
checking for overlapping keymaps ~
- WARNING In mode `n`, <c> overlaps with <cc>:
- <c>: Change
- WARNING In mode `n`, <gc> overlaps with <gcc>, <gcu>:
- WARNING In mode `n`, <,<Space>> overlaps with <,<Space>f<Space>f>, <,<Space>f<Space>g>, <,<Space>f<Space>r>, <,<Space>e<Space>v>:
- <,<Space>>: remove trailing space
- <,<Space>f<Space>f>: Dashboard-action: Find File
- <,<Space>f<Space>g>: Dashboard-action: Project grep
- <,<Space>f<Space>r>: Dashboard-action: Recently opened files
- <,<Space>e<Space>v>: Dashboard-action: Open Nvim config
- WARNING In mode `n`, <sr> overlaps with <srb>:
- WARNING In mode `n`, <sd> overlaps with <sdb>:
- WARNING In mode `i`, <,> overlaps with <,r;>:
- <,r;>: insert R pipe
- WARNING In mode `x`, <@> overlaps with <@(targets)>:
- <@>: :help |v_@-default|
- WARNING In mode `x`, <a> overlaps with <aI>, <as>, <ab>, <ai>:
- <a>: around
- <as>: sentence
- <ab>: [(]) block
- WARNING In mode `x`, <i> overlaps with <iI>, <iu>, <ii>, <iB>, <is>, <ib>:
- <i>: inside
- <iu>: URL text object
- <iB>: buffer text object
- <is>: inner sentence
- <ib>: inner [(])
- WARNING In mode `o`, <a> overlaps with <aI>, <as>, <ab>, <ai>:
- <a>: around
- <as>: sentence
- <ab>: [(]) block
- WARNING In mode `o`, <i> overlaps with <iI>, <iu>, <ii>, <iB>, <is>, <ib>:
- <i>: inside
- <iu>: URL text object
- <iB>: buffer text object
- <is>: inner sentence
- <ib>: inner [(])
- OK Overlapping keymaps are only reported for informational purposes.
This doesn't necessarily mean there is a problem with your config.
Checking for duplicate mappings ~
- OK No duplicate mappings found