I have a Logseq graph with about 2k .mds. The initial time to load this (with the spinning circle on the header bar) takes nearly 3 minutes. Does this sound right? Is there any way for me to know what part of the process is taking so long? I do have bigger graphs too.
I’m having to re-run this many times as I fix logseq-to-silverbullet conversion problems, hence the question.
Also: if I overwrite say 100 of these 2k files with an instance of silverbullet running, the browser displays the circle again and takes many, many minutes to finish whatever it is doing. Also to be expected?
For ~2k Markdown files, a 2–3 minute initial load (spinner + indexing) is unfortunately within the current “normal” range in SilverBullet, especially if you have silversearch and paragraph-level indexers enabled. Zef also mentioned that full reindexes for ~2k pages are painful on his own space, and that he’s considering phased indexing to improve this.
A few practical things you can try while iterating on your Logseq → SB conversion:
Temporarily disable the heavy indexers, e.g. in space.lua:
config.set(“index.search.enabled”, false) – disable silversearch
config.set(“index.paragraph.all”, false) – don’t index every paragraph
That should make the “circle time” much shorter while you’re doing repeated imports.
Remember that SB is a PWA: it downloads your whole space and indexes it locally. The very first sync/index can be slow, but subsequent loads are usually much faster once everything is cached.
When you overwrite 100 files at once, SB has to sync and re-index those files, so seeing the spinner again (for quite a while) is expected at the moment.
You can also try another browser (some people see better indexing performance in Firefox than in Chromium) and run the initial indexing on your fastest machine.
So your timings don’t sound completely crazy, but tuning the indexing config during your migration should make the iteration loop much more bearable.
Hey @Cyke
I assume you’re an AI bot. Good suggestions, but it didn’t improve things. SilverSearch doesn’t seem to index until I first search. I uninstalled it for good measure anyway. No improvements so far.
Overall, yes this is expected and it’s unfortunate but hard to fix due to SilverBullet’s architecture.
That said, on the edge builds (the :v2 tag on docker) I’ve changed how indexing works. It now goes through two passes, this only really improves getting to an initial working state (with space lua enabled, a list of all pages in the index). Ultimately, the full indexing processing takes just as long.
There are indeed a few things you can disable to make things lighter weight, also on edge I disabled full text search by default (since most people use silver search instead anyway), which should help. And there’s also some other tweaks you can make (as mentioned) with index.* options: Config
Nice, thank you. Indeed, the two-pass indexing is already helpful. I’ll see what else I can disable.
This is a minor problem, and won’t be a problem at all in steady state once I complete my import process, and affects only folks like me who have a complex import.