Op 12/28/2020 om 2:03 AM schreef Mattias Gaertner via lazarus:

- When I press F1 for the lHelp enabled for context searching, then
Lazarus send group of command as

     got BeginUpdate
     got BeginUpdate
     got rturl, filename M:\lazarus\docs\chm\fcl.chm, url /index.html
     got rturl, filename M:\lazarus\docs\chm\fclres.chm,
url /index.html got rturl, filename M:\lazarus\docs\chm\fpdoc.chm,
url /index.html got rturl, filename M:\lazarus\docs\chm\ideintf.chm,
url /index.html got rturl, filename M:\lazarus\docs\chm\lazutils.chm,
url /index.html got rturl, filename M:\lazarus\docs\chm\lcl.chm,
url /index.html got rturl, filename M:\lazarus\docs\chm\prog.chm,
url /index.html got rturl, filename M:\lazarus\docs\chm\ref.chm,
url /index.html got rturl, filename M:\lazarus\docs\chm\rtl.chm,
url /index.html got rturl, filename M:\lazarus\docs\chm\toc.chm,
url /index.html got rturl, filename M:\lazarus\docs\chm\user.chm,
url /index.html got EndUpdate
     got rturl, filename M:\lazarus\docs\chm\ref.chm,
url /ref/refse92.html#keyword_function got EndUpdate
     got rtmisc/mrShow
Lazarus sends commands for opening all chm files and the last
command is for performing contex search. As result hh.exe always does
it more faster then lHelp. I think behavior have to be same, only a
perform of context seaching. On second request lHelp can open next
file and index and so on.

Afaik most of the binary indexes (index, FTS) can be mergesorted together rather cheaply and then stored on disk. Using these rather than converting everything to text and then parse that again would make it very fast. This is what HH does.

Even faster is caching the result of the merge on disk (which HH also does, but only in case of "merged" chm files, which doesn't work with FPC generated CHM files yet), these are then stored as CHW.

But to invalidate the cache, it should be stored which CHMs were used to generate it. So that the cache can be invalided.

I'll look into the various fpdoc and chm stuff from tomorrow, when I get home again

--
_______________________________________________
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus
  • [Lazarus] lHelp... Соболь Андрей Евгеньевич via lazarus
    • Re: [Lazar... Mattias Gaertner via lazarus
      • Re: [L... Andrey Sobol via lazarus
      • Re: [L... Werner Pamler via lazarus
      • Re: [L... Marco van de Voort via lazarus
        • Re... Andrey Sobol via lazarus
          • ... Marco van de Voort via lazarus
            • ... Mattias Gaertner via lazarus
              • ... Andrey Sobol via lazarus
                • ... Mattias Gaertner via lazarus
    • Re: [Lazar... Sergey Bodrov via lazarus

Reply via email to