Files
org-roam/manual/Garbage-Collection.html
2020-09-27 07:22:27 +00:00

89 lines
3.9 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 2020-2020 Jethro Kuan <jethrokuan95@gmail.com>
You can redistribute this document and/or modify it under the terms
of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any
later version.
This document is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
-->
<!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Garbage Collection (Org-roam User Manual)</title>
<meta name="description" content="Garbage Collection (Org-roam User Manual)">
<meta name="keywords" content="Garbage Collection (Org-roam User Manual)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<link href="index.html#Top" rel="start" title="Top">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Performance-Optimization.html#Performance-Optimization" rel="up" title="Performance Optimization">
<link href="Appendix.html#Appendix" rel="next" title="Appendix">
<link href="Profiling-Key-Operations.html#Profiling-Key-Operations" rel="prev" title="Profiling Key Operations">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
<link rel="stylesheet" type="text/css" href="assets/page.css">
</head>
<body lang="en">
<a name="Garbage-Collection"></a>
<div class="header">
<p>
Previous: <a href="Profiling-Key-Operations.html#Profiling-Key-Operations" accesskey="p" rel="prev">Profiling Key Operations</a>, Up: <a href="Performance-Optimization.html#Performance-Optimization" accesskey="u" rel="up">Performance Optimization</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
<hr>
<a name="Garbage-Collection-1"></a>
<h3 class="section">18.2 Garbage Collection</h3>
<p>During the cache-build process, Org-roam generates a lot of in-memory
data-structures (such as the Org file&rsquo;s AST), which are discarded after use. These structures are garbage collected at regular intervals (see <a href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Garbage-Collection.html#Garbage-Collection">(elisp)info:elisp#Garbage Collection</a>).
</p>
<p>Org-roam provides the option <code>org-roam-db-gc-threshold</code> to temporarily change
the threshold value for GC to be triggered during these memory-intensive
operations. To reduce the number of garbage collection processes, one may set
<code>org-roam-db-gc-threshold</code> to a high value (such as <code>most-positive-fixnum</code>):
</p>
<div class="lisp">
<pre class="lisp">(setq org-roam-db-gc-threshold most-positive-fixnum)
</pre></div>
</body>
</html>