Files
UnrealEngineUWP/Engine/Source/ThirdParty/mimalloc/docs/group__options.html

407 lines
22 KiB
HTML
Raw Normal View History

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mi-malloc: Runtime Options</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="mimalloc-doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="mimalloc-logo.svg"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">mi-malloc
Update mimalloc to version 2.0.0-2762784 for HUGE memory usage improvement in editor workloads This version of mimalloc is very efficient at distributing threaded allocations in a way that maintains locality which in turn improve the amount of memory that we're able to send back to the system after heavily multithreaded workloads. This also improves performance as less page fault and cache misses are expected coming from more densily packed allocations. mimalloc v1 seemed to waste more memory because of its commit size being larger than TBB. However, its allocation patterns was already way tigther than TBB but for it to become apparent, you had to activate the "page_reset" and "reset_decommits" options, which came at a performance loss. mimalloc v2 offers both better locality and by default will more agressively decommit memory with only minor performance loss in some cases and performance gain in many. Given the advantages of mimalloc v2 compared to Intel TBB, we should probably consider it as our next default allocator for the editor. - All tests performed on AMD TR 3970X with 256GB RAM - Loading FramingCameraTest map on special project with -ddc=cold and waiting until every asset is built - 699s @ 32GB for tbb malloc - 655s @ 37GB for mimalloc v1 - 757s @ 12GB for mimalloc v1 + page_reset and reset_decommits - 604s @ 15GB for mimalloc v2 - Loading P_World on Reverb -ddc=cold and waiting until every asset is built - 2372s @ 71GB for tbb malloc - 2587s @ 75GB for mimalloc v1 - 3212s @ 34GB for mimalloc v1 + page_reset and reset_decommits - 2503s @ 37GB for mimalloc v2 - Loading P_Construct_WP on special project with -ddc=cold and waiting until every asset is built - 6404s @ 56GB for tbb malloc - 6640s @ 37GB for mimalloc v2 - Loading Apollo_Terrain on FortniteGame with -ddc=cold and waiting until every asset is built - 751s @ 33GB for tbb malloc - 744s @ 25GB for mimalloc v2 - Cooking FramingCameraTest map on special project with a warmed-up DDC - 379s @ 34GB for tbb malloc - 367s @ 29GB for mimalloc v2 #rb Brandon.Dawson, Yuriy.ODonnell, Stefan.Boberg [CL 15859558 by danny couture in ue5-main branch]
2021-03-30 06:38:15 -04:00
&#160;<span id="projectnumber">1.6</span>
</div>
</td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('group__options.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Runtime Options</div> </div>
</div><!--header-->
<div class="contents">
<p>Set runtime behavior.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gafebf7ed116adb38ae5218bc3ce06884c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> { <br />
Update mimalloc to version 2.0.0-2762784 for HUGE memory usage improvement in editor workloads This version of mimalloc is very efficient at distributing threaded allocations in a way that maintains locality which in turn improve the amount of memory that we're able to send back to the system after heavily multithreaded workloads. This also improves performance as less page fault and cache misses are expected coming from more densily packed allocations. mimalloc v1 seemed to waste more memory because of its commit size being larger than TBB. However, its allocation patterns was already way tigther than TBB but for it to become apparent, you had to activate the "page_reset" and "reset_decommits" options, which came at a performance loss. mimalloc v2 offers both better locality and by default will more agressively decommit memory with only minor performance loss in some cases and performance gain in many. Given the advantages of mimalloc v2 compared to Intel TBB, we should probably consider it as our next default allocator for the editor. - All tests performed on AMD TR 3970X with 256GB RAM - Loading FramingCameraTest map on special project with -ddc=cold and waiting until every asset is built - 699s @ 32GB for tbb malloc - 655s @ 37GB for mimalloc v1 - 757s @ 12GB for mimalloc v1 + page_reset and reset_decommits - 604s @ 15GB for mimalloc v2 - Loading P_World on Reverb -ddc=cold and waiting until every asset is built - 2372s @ 71GB for tbb malloc - 2587s @ 75GB for mimalloc v1 - 3212s @ 34GB for mimalloc v1 + page_reset and reset_decommits - 2503s @ 37GB for mimalloc v2 - Loading P_Construct_WP on special project with -ddc=cold and waiting until every asset is built - 6404s @ 56GB for tbb malloc - 6640s @ 37GB for mimalloc v2 - Loading Apollo_Terrain on FortniteGame with -ddc=cold and waiting until every asset is built - 751s @ 33GB for tbb malloc - 744s @ 25GB for mimalloc v2 - Cooking FramingCameraTest map on special project with a warmed-up DDC - 379s @ 34GB for tbb malloc - 367s @ 29GB for mimalloc v2 #rb Brandon.Dawson, Yuriy.ODonnell, Stefan.Boberg [CL 15859558 by danny couture in ue5-main branch]
2021-03-30 06:38:15 -04:00
&#160;&#160;<a class="el" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cafbf4822e5c00732c5984b32a032837f0">mi_option_show_errors</a>,
<a class="el" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca0957ef73b2550764b4840edf48422fda">mi_option_show_stats</a>,
<a class="el" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca7c8b7bf5281c581bad64f5daa6442777">mi_option_verbose</a>,
<a class="el" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca1e8de72c93da7ff22d91e1e27b52ac2b">mi_option_eager_commit</a>,
<br />
&#160;&#160;<a class="el" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca32ce97ece29f69e82579679cf8a307ad">mi_option_eager_region_commit</a>,
<a class="el" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca4192d491200d0055df0554d4cf65054e">mi_option_large_os_pages</a>,
<a class="el" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caca7ed041be3b0b9d0b82432c7bf41af2">mi_option_reserve_huge_os_pages</a>,
<a class="el" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca2ecbe7ef32f5c84de3739aa4f0b805a1">mi_option_segment_cache</a>,
<br />
&#160;&#160;<a class="el" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cada854dd272c66342f18a93ee254a2968">mi_option_page_reset</a>,
Update mimalloc to version 2.0.0-2762784 for HUGE memory usage improvement in editor workloads This version of mimalloc is very efficient at distributing threaded allocations in a way that maintains locality which in turn improve the amount of memory that we're able to send back to the system after heavily multithreaded workloads. This also improves performance as less page fault and cache misses are expected coming from more densily packed allocations. mimalloc v1 seemed to waste more memory because of its commit size being larger than TBB. However, its allocation patterns was already way tigther than TBB but for it to become apparent, you had to activate the "page_reset" and "reset_decommits" options, which came at a performance loss. mimalloc v2 offers both better locality and by default will more agressively decommit memory with only minor performance loss in some cases and performance gain in many. Given the advantages of mimalloc v2 compared to Intel TBB, we should probably consider it as our next default allocator for the editor. - All tests performed on AMD TR 3970X with 256GB RAM - Loading FramingCameraTest map on special project with -ddc=cold and waiting until every asset is built - 699s @ 32GB for tbb malloc - 655s @ 37GB for mimalloc v1 - 757s @ 12GB for mimalloc v1 + page_reset and reset_decommits - 604s @ 15GB for mimalloc v2 - Loading P_World on Reverb -ddc=cold and waiting until every asset is built - 2372s @ 71GB for tbb malloc - 2587s @ 75GB for mimalloc v1 - 3212s @ 34GB for mimalloc v1 + page_reset and reset_decommits - 2503s @ 37GB for mimalloc v2 - Loading P_Construct_WP on special project with -ddc=cold and waiting until every asset is built - 6404s @ 56GB for tbb malloc - 6640s @ 37GB for mimalloc v2 - Loading Apollo_Terrain on FortniteGame with -ddc=cold and waiting until every asset is built - 751s @ 33GB for tbb malloc - 744s @ 25GB for mimalloc v2 - Cooking FramingCameraTest map on special project with a warmed-up DDC - 379s @ 34GB for tbb malloc - 367s @ 29GB for mimalloc v2 #rb Brandon.Dawson, Yuriy.ODonnell, Stefan.Boberg [CL 15859558 by danny couture in ue5-main branch]
2021-03-30 06:38:15 -04:00
<a class="el" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cafb121d30d87591850d5410ccc3a95c6d">mi_option_segment_reset</a>,
<a class="el" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca154fe170131d5212cff57e22b99523c5">mi_option_reset_delay</a>,
<a class="el" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca0ac33a18f6b659fcfaf44efb0bab1b74">mi_option_use_numa_nodes</a>,
<br />
Update mimalloc to version 2.0.0-2762784 for HUGE memory usage improvement in editor workloads This version of mimalloc is very efficient at distributing threaded allocations in a way that maintains locality which in turn improve the amount of memory that we're able to send back to the system after heavily multithreaded workloads. This also improves performance as less page fault and cache misses are expected coming from more densily packed allocations. mimalloc v1 seemed to waste more memory because of its commit size being larger than TBB. However, its allocation patterns was already way tigther than TBB but for it to become apparent, you had to activate the "page_reset" and "reset_decommits" options, which came at a performance loss. mimalloc v2 offers both better locality and by default will more agressively decommit memory with only minor performance loss in some cases and performance gain in many. Given the advantages of mimalloc v2 compared to Intel TBB, we should probably consider it as our next default allocator for the editor. - All tests performed on AMD TR 3970X with 256GB RAM - Loading FramingCameraTest map on special project with -ddc=cold and waiting until every asset is built - 699s @ 32GB for tbb malloc - 655s @ 37GB for mimalloc v1 - 757s @ 12GB for mimalloc v1 + page_reset and reset_decommits - 604s @ 15GB for mimalloc v2 - Loading P_World on Reverb -ddc=cold and waiting until every asset is built - 2372s @ 71GB for tbb malloc - 2587s @ 75GB for mimalloc v1 - 3212s @ 34GB for mimalloc v1 + page_reset and reset_decommits - 2503s @ 37GB for mimalloc v2 - Loading P_Construct_WP on special project with -ddc=cold and waiting until every asset is built - 6404s @ 56GB for tbb malloc - 6640s @ 37GB for mimalloc v2 - Loading Apollo_Terrain on FortniteGame with -ddc=cold and waiting until every asset is built - 751s @ 33GB for tbb malloc - 744s @ 25GB for mimalloc v2 - Cooking FramingCameraTest map on special project with a warmed-up DDC - 379s @ 34GB for tbb malloc - 367s @ 29GB for mimalloc v2 #rb Brandon.Dawson, Yuriy.ODonnell, Stefan.Boberg [CL 15859558 by danny couture in ue5-main branch]
2021-03-30 06:38:15 -04:00
&#160;&#160;<a class="el" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cac81ee965b130fa81238913a3c239d536">mi_option_reset_decommits</a>,
<a class="el" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca17a190c25be381142d87e0468c4c068c">mi_option_eager_commit_delay</a>,
<a class="el" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca4b74ae2a69e445de6c2361b73c1d14bf">mi_option_os_tag</a>,
<a class="el" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca5b4357b74be0d87568036c32eb1a2e4a">_mi_option_last</a>
<br />
}</td></tr>
<tr class="memdesc:gafebf7ed116adb38ae5218bc3ce06884c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Runtime options. <a href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">More...</a><br /></td></tr>
<tr class="separator:gafebf7ed116adb38ae5218bc3ce06884c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
Update mimalloc to version 2.0.0-2762784 for HUGE memory usage improvement in editor workloads This version of mimalloc is very efficient at distributing threaded allocations in a way that maintains locality which in turn improve the amount of memory that we're able to send back to the system after heavily multithreaded workloads. This also improves performance as less page fault and cache misses are expected coming from more densily packed allocations. mimalloc v1 seemed to waste more memory because of its commit size being larger than TBB. However, its allocation patterns was already way tigther than TBB but for it to become apparent, you had to activate the "page_reset" and "reset_decommits" options, which came at a performance loss. mimalloc v2 offers both better locality and by default will more agressively decommit memory with only minor performance loss in some cases and performance gain in many. Given the advantages of mimalloc v2 compared to Intel TBB, we should probably consider it as our next default allocator for the editor. - All tests performed on AMD TR 3970X with 256GB RAM - Loading FramingCameraTest map on special project with -ddc=cold and waiting until every asset is built - 699s @ 32GB for tbb malloc - 655s @ 37GB for mimalloc v1 - 757s @ 12GB for mimalloc v1 + page_reset and reset_decommits - 604s @ 15GB for mimalloc v2 - Loading P_World on Reverb -ddc=cold and waiting until every asset is built - 2372s @ 71GB for tbb malloc - 2587s @ 75GB for mimalloc v1 - 3212s @ 34GB for mimalloc v1 + page_reset and reset_decommits - 2503s @ 37GB for mimalloc v2 - Loading P_Construct_WP on special project with -ddc=cold and waiting until every asset is built - 6404s @ 56GB for tbb malloc - 6640s @ 37GB for mimalloc v2 - Loading Apollo_Terrain on FortniteGame with -ddc=cold and waiting until every asset is built - 751s @ 33GB for tbb malloc - 744s @ 25GB for mimalloc v2 - Cooking FramingCameraTest map on special project with a warmed-up DDC - 379s @ 34GB for tbb malloc - 367s @ 29GB for mimalloc v2 #rb Brandon.Dawson, Yuriy.ODonnell, Stefan.Boberg [CL 15859558 by danny couture in ue5-main branch]
2021-03-30 06:38:15 -04:00
<tr class="memitem:ga459ad98f18b3fc9275474807fe0ca188"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__options.html#ga459ad98f18b3fc9275474807fe0ca188">mi_option_is_enabled</a> (<a class="el" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option)</td></tr>
<tr class="separator:ga459ad98f18b3fc9275474807fe0ca188"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04180ae41b0d601421dd62ced40ca050"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__options.html#ga04180ae41b0d601421dd62ced40ca050">mi_option_enable</a> (<a class="el" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option)</td></tr>
<tr class="separator:ga04180ae41b0d601421dd62ced40ca050"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaebf6ff707a2e688ebb1a2296ca564054"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__options.html#gaebf6ff707a2e688ebb1a2296ca564054">mi_option_disable</a> (<a class="el" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option)</td></tr>
<tr class="separator:gaebf6ff707a2e688ebb1a2296ca564054"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a13d05fcb77489cb06d4d017ebd8bed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__options.html#ga9a13d05fcb77489cb06d4d017ebd8bed">mi_option_set_enabled</a> (<a class="el" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option, bool enable)</td></tr>
<tr class="separator:ga9a13d05fcb77489cb06d4d017ebd8bed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga65518b69ec5d32336b50e07f74b3f629"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__options.html#ga65518b69ec5d32336b50e07f74b3f629">mi_option_set_enabled_default</a> (<a class="el" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option, bool enable)</td></tr>
<tr class="separator:ga65518b69ec5d32336b50e07f74b3f629"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e8af195cc81d3fa64ccf2662caa565a"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__options.html#ga7e8af195cc81d3fa64ccf2662caa565a">mi_option_get</a> (<a class="el" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option)</td></tr>
<tr class="separator:ga7e8af195cc81d3fa64ccf2662caa565a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf84921c32375e25754dc2ee6a911fa60"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__options.html#gaf84921c32375e25754dc2ee6a911fa60">mi_option_set</a> (<a class="el" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option, long value)</td></tr>
<tr class="separator:gaf84921c32375e25754dc2ee6a911fa60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ef623e440e6e5545cb08c94e71e4b90"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__options.html#ga7ef623e440e6e5545cb08c94e71e4b90">mi_option_set_default</a> (<a class="el" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option, long value)</td></tr>
<tr class="separator:ga7ef623e440e6e5545cb08c94e71e4b90"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Set runtime behavior. </p>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="gafebf7ed116adb38ae5218bc3ce06884c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafebf7ed116adb38ae5218bc3ce06884c">&#9670;&nbsp;</a></span>mi_option_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Runtime options. </p>
<table class="fieldtable">
Update mimalloc to version 2.0.0-2762784 for HUGE memory usage improvement in editor workloads This version of mimalloc is very efficient at distributing threaded allocations in a way that maintains locality which in turn improve the amount of memory that we're able to send back to the system after heavily multithreaded workloads. This also improves performance as less page fault and cache misses are expected coming from more densily packed allocations. mimalloc v1 seemed to waste more memory because of its commit size being larger than TBB. However, its allocation patterns was already way tigther than TBB but for it to become apparent, you had to activate the "page_reset" and "reset_decommits" options, which came at a performance loss. mimalloc v2 offers both better locality and by default will more agressively decommit memory with only minor performance loss in some cases and performance gain in many. Given the advantages of mimalloc v2 compared to Intel TBB, we should probably consider it as our next default allocator for the editor. - All tests performed on AMD TR 3970X with 256GB RAM - Loading FramingCameraTest map on special project with -ddc=cold and waiting until every asset is built - 699s @ 32GB for tbb malloc - 655s @ 37GB for mimalloc v1 - 757s @ 12GB for mimalloc v1 + page_reset and reset_decommits - 604s @ 15GB for mimalloc v2 - Loading P_World on Reverb -ddc=cold and waiting until every asset is built - 2372s @ 71GB for tbb malloc - 2587s @ 75GB for mimalloc v1 - 3212s @ 34GB for mimalloc v1 + page_reset and reset_decommits - 2503s @ 37GB for mimalloc v2 - Loading P_Construct_WP on special project with -ddc=cold and waiting until every asset is built - 6404s @ 56GB for tbb malloc - 6640s @ 37GB for mimalloc v2 - Loading Apollo_Terrain on FortniteGame with -ddc=cold and waiting until every asset is built - 751s @ 33GB for tbb malloc - 744s @ 25GB for mimalloc v2 - Cooking FramingCameraTest map on special project with a warmed-up DDC - 379s @ 34GB for tbb malloc - 367s @ 29GB for mimalloc v2 #rb Brandon.Dawson, Yuriy.ODonnell, Stefan.Boberg [CL 15859558 by danny couture in ue5-main branch]
2021-03-30 06:38:15 -04:00
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884cafbf4822e5c00732c5984b32a032837f0"></a>mi_option_show_errors&#160;</td><td class="fielddoc"><p>Print error messages to <code>stderr</code>. </p>
</td></tr>
Update mimalloc to version 2.0.0-2762784 for HUGE memory usage improvement in editor workloads This version of mimalloc is very efficient at distributing threaded allocations in a way that maintains locality which in turn improve the amount of memory that we're able to send back to the system after heavily multithreaded workloads. This also improves performance as less page fault and cache misses are expected coming from more densily packed allocations. mimalloc v1 seemed to waste more memory because of its commit size being larger than TBB. However, its allocation patterns was already way tigther than TBB but for it to become apparent, you had to activate the "page_reset" and "reset_decommits" options, which came at a performance loss. mimalloc v2 offers both better locality and by default will more agressively decommit memory with only minor performance loss in some cases and performance gain in many. Given the advantages of mimalloc v2 compared to Intel TBB, we should probably consider it as our next default allocator for the editor. - All tests performed on AMD TR 3970X with 256GB RAM - Loading FramingCameraTest map on special project with -ddc=cold and waiting until every asset is built - 699s @ 32GB for tbb malloc - 655s @ 37GB for mimalloc v1 - 757s @ 12GB for mimalloc v1 + page_reset and reset_decommits - 604s @ 15GB for mimalloc v2 - Loading P_World on Reverb -ddc=cold and waiting until every asset is built - 2372s @ 71GB for tbb malloc - 2587s @ 75GB for mimalloc v1 - 3212s @ 34GB for mimalloc v1 + page_reset and reset_decommits - 2503s @ 37GB for mimalloc v2 - Loading P_Construct_WP on special project with -ddc=cold and waiting until every asset is built - 6404s @ 56GB for tbb malloc - 6640s @ 37GB for mimalloc v2 - Loading Apollo_Terrain on FortniteGame with -ddc=cold and waiting until every asset is built - 751s @ 33GB for tbb malloc - 744s @ 25GB for mimalloc v2 - Cooking FramingCameraTest map on special project with a warmed-up DDC - 379s @ 34GB for tbb malloc - 367s @ 29GB for mimalloc v2 #rb Brandon.Dawson, Yuriy.ODonnell, Stefan.Boberg [CL 15859558 by danny couture in ue5-main branch]
2021-03-30 06:38:15 -04:00
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca0957ef73b2550764b4840edf48422fda"></a>mi_option_show_stats&#160;</td><td class="fielddoc"><p>Print statistics to <code>stderr</code> when the program is done. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca7c8b7bf5281c581bad64f5daa6442777"></a>mi_option_verbose&#160;</td><td class="fielddoc"><p>Print verbose messages to <code>stderr</code>. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca1e8de72c93da7ff22d91e1e27b52ac2b"></a>mi_option_eager_commit&#160;</td><td class="fielddoc"><p>Eagerly commit segments (4MiB) (enabled by default). </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca32ce97ece29f69e82579679cf8a307ad"></a>mi_option_eager_region_commit&#160;</td><td class="fielddoc"><p>Eagerly commit large (256MiB) memory regions (enabled by default, except on Windows) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca4192d491200d0055df0554d4cf65054e"></a>mi_option_large_os_pages&#160;</td><td class="fielddoc"><p>Use large OS pages (2MiB in size) if possible. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884caca7ed041be3b0b9d0b82432c7bf41af2"></a>mi_option_reserve_huge_os_pages&#160;</td><td class="fielddoc"><p>The number of huge OS pages (1GiB in size) to reserve at the start of the program. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca2ecbe7ef32f5c84de3739aa4f0b805a1"></a>mi_option_segment_cache&#160;</td><td class="fielddoc"><p>The number of segments per thread to keep cached. </p>
</td></tr>
Update mimalloc to version 2.0.0-2762784 for HUGE memory usage improvement in editor workloads This version of mimalloc is very efficient at distributing threaded allocations in a way that maintains locality which in turn improve the amount of memory that we're able to send back to the system after heavily multithreaded workloads. This also improves performance as less page fault and cache misses are expected coming from more densily packed allocations. mimalloc v1 seemed to waste more memory because of its commit size being larger than TBB. However, its allocation patterns was already way tigther than TBB but for it to become apparent, you had to activate the "page_reset" and "reset_decommits" options, which came at a performance loss. mimalloc v2 offers both better locality and by default will more agressively decommit memory with only minor performance loss in some cases and performance gain in many. Given the advantages of mimalloc v2 compared to Intel TBB, we should probably consider it as our next default allocator for the editor. - All tests performed on AMD TR 3970X with 256GB RAM - Loading FramingCameraTest map on special project with -ddc=cold and waiting until every asset is built - 699s @ 32GB for tbb malloc - 655s @ 37GB for mimalloc v1 - 757s @ 12GB for mimalloc v1 + page_reset and reset_decommits - 604s @ 15GB for mimalloc v2 - Loading P_World on Reverb -ddc=cold and waiting until every asset is built - 2372s @ 71GB for tbb malloc - 2587s @ 75GB for mimalloc v1 - 3212s @ 34GB for mimalloc v1 + page_reset and reset_decommits - 2503s @ 37GB for mimalloc v2 - Loading P_Construct_WP on special project with -ddc=cold and waiting until every asset is built - 6404s @ 56GB for tbb malloc - 6640s @ 37GB for mimalloc v2 - Loading Apollo_Terrain on FortniteGame with -ddc=cold and waiting until every asset is built - 751s @ 33GB for tbb malloc - 744s @ 25GB for mimalloc v2 - Cooking FramingCameraTest map on special project with a warmed-up DDC - 379s @ 34GB for tbb malloc - 367s @ 29GB for mimalloc v2 #rb Brandon.Dawson, Yuriy.ODonnell, Stefan.Boberg [CL 15859558 by danny couture in ue5-main branch]
2021-03-30 06:38:15 -04:00
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884cada854dd272c66342f18a93ee254a2968"></a>mi_option_page_reset&#160;</td><td class="fielddoc"><p>Reset page memory after <em>mi_option_reset_delay</em> milliseconds when it becomes free. </p>
</td></tr>
Update mimalloc to version 2.0.0-2762784 for HUGE memory usage improvement in editor workloads This version of mimalloc is very efficient at distributing threaded allocations in a way that maintains locality which in turn improve the amount of memory that we're able to send back to the system after heavily multithreaded workloads. This also improves performance as less page fault and cache misses are expected coming from more densily packed allocations. mimalloc v1 seemed to waste more memory because of its commit size being larger than TBB. However, its allocation patterns was already way tigther than TBB but for it to become apparent, you had to activate the "page_reset" and "reset_decommits" options, which came at a performance loss. mimalloc v2 offers both better locality and by default will more agressively decommit memory with only minor performance loss in some cases and performance gain in many. Given the advantages of mimalloc v2 compared to Intel TBB, we should probably consider it as our next default allocator for the editor. - All tests performed on AMD TR 3970X with 256GB RAM - Loading FramingCameraTest map on special project with -ddc=cold and waiting until every asset is built - 699s @ 32GB for tbb malloc - 655s @ 37GB for mimalloc v1 - 757s @ 12GB for mimalloc v1 + page_reset and reset_decommits - 604s @ 15GB for mimalloc v2 - Loading P_World on Reverb -ddc=cold and waiting until every asset is built - 2372s @ 71GB for tbb malloc - 2587s @ 75GB for mimalloc v1 - 3212s @ 34GB for mimalloc v1 + page_reset and reset_decommits - 2503s @ 37GB for mimalloc v2 - Loading P_Construct_WP on special project with -ddc=cold and waiting until every asset is built - 6404s @ 56GB for tbb malloc - 6640s @ 37GB for mimalloc v2 - Loading Apollo_Terrain on FortniteGame with -ddc=cold and waiting until every asset is built - 751s @ 33GB for tbb malloc - 744s @ 25GB for mimalloc v2 - Cooking FramingCameraTest map on special project with a warmed-up DDC - 379s @ 34GB for tbb malloc - 367s @ 29GB for mimalloc v2 #rb Brandon.Dawson, Yuriy.ODonnell, Stefan.Boberg [CL 15859558 by danny couture in ue5-main branch]
2021-03-30 06:38:15 -04:00
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884cafb121d30d87591850d5410ccc3a95c6d"></a>mi_option_segment_reset&#160;</td><td class="fielddoc"><p>Experimental. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca154fe170131d5212cff57e22b99523c5"></a>mi_option_reset_delay&#160;</td><td class="fielddoc"><p>Delay in milli-seconds before resetting a page (100ms by default) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca0ac33a18f6b659fcfaf44efb0bab1b74"></a>mi_option_use_numa_nodes&#160;</td><td class="fielddoc"><p>Pretend there are at most N NUMA nodes. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884cac81ee965b130fa81238913a3c239d536"></a>mi_option_reset_decommits&#160;</td><td class="fielddoc"><p>Experimental. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca17a190c25be381142d87e0468c4c068c"></a>mi_option_eager_commit_delay&#160;</td><td class="fielddoc"><p>Experimental. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca4b74ae2a69e445de6c2361b73c1d14bf"></a>mi_option_os_tag&#160;</td><td class="fielddoc"><p>OS tag to assign to mimalloc'd memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca5b4357b74be0d87568036c32eb1a2e4a"></a>_mi_option_last&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
Update mimalloc to version 2.0.0-2762784 for HUGE memory usage improvement in editor workloads This version of mimalloc is very efficient at distributing threaded allocations in a way that maintains locality which in turn improve the amount of memory that we're able to send back to the system after heavily multithreaded workloads. This also improves performance as less page fault and cache misses are expected coming from more densily packed allocations. mimalloc v1 seemed to waste more memory because of its commit size being larger than TBB. However, its allocation patterns was already way tigther than TBB but for it to become apparent, you had to activate the "page_reset" and "reset_decommits" options, which came at a performance loss. mimalloc v2 offers both better locality and by default will more agressively decommit memory with only minor performance loss in some cases and performance gain in many. Given the advantages of mimalloc v2 compared to Intel TBB, we should probably consider it as our next default allocator for the editor. - All tests performed on AMD TR 3970X with 256GB RAM - Loading FramingCameraTest map on special project with -ddc=cold and waiting until every asset is built - 699s @ 32GB for tbb malloc - 655s @ 37GB for mimalloc v1 - 757s @ 12GB for mimalloc v1 + page_reset and reset_decommits - 604s @ 15GB for mimalloc v2 - Loading P_World on Reverb -ddc=cold and waiting until every asset is built - 2372s @ 71GB for tbb malloc - 2587s @ 75GB for mimalloc v1 - 3212s @ 34GB for mimalloc v1 + page_reset and reset_decommits - 2503s @ 37GB for mimalloc v2 - Loading P_Construct_WP on special project with -ddc=cold and waiting until every asset is built - 6404s @ 56GB for tbb malloc - 6640s @ 37GB for mimalloc v2 - Loading Apollo_Terrain on FortniteGame with -ddc=cold and waiting until every asset is built - 751s @ 33GB for tbb malloc - 744s @ 25GB for mimalloc v2 - Cooking FramingCameraTest map on special project with a warmed-up DDC - 379s @ 34GB for tbb malloc - 367s @ 29GB for mimalloc v2 #rb Brandon.Dawson, Yuriy.ODonnell, Stefan.Boberg [CL 15859558 by danny couture in ue5-main branch]
2021-03-30 06:38:15 -04:00
<a id="gaebf6ff707a2e688ebb1a2296ca564054"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaebf6ff707a2e688ebb1a2296ca564054">&#9670;&nbsp;</a></span>mi_option_disable()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mi_option_disable </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a>&#160;</td>
<td class="paramname"><em>option</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga04180ae41b0d601421dd62ced40ca050"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga04180ae41b0d601421dd62ced40ca050">&#9670;&nbsp;</a></span>mi_option_enable()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mi_option_enable </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a>&#160;</td>
<td class="paramname"><em>option</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga7e8af195cc81d3fa64ccf2662caa565a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7e8af195cc81d3fa64ccf2662caa565a">&#9670;&nbsp;</a></span>mi_option_get()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">long mi_option_get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a>&#160;</td>
<td class="paramname"><em>option</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
Update mimalloc to version 2.0.0-2762784 for HUGE memory usage improvement in editor workloads This version of mimalloc is very efficient at distributing threaded allocations in a way that maintains locality which in turn improve the amount of memory that we're able to send back to the system after heavily multithreaded workloads. This also improves performance as less page fault and cache misses are expected coming from more densily packed allocations. mimalloc v1 seemed to waste more memory because of its commit size being larger than TBB. However, its allocation patterns was already way tigther than TBB but for it to become apparent, you had to activate the "page_reset" and "reset_decommits" options, which came at a performance loss. mimalloc v2 offers both better locality and by default will more agressively decommit memory with only minor performance loss in some cases and performance gain in many. Given the advantages of mimalloc v2 compared to Intel TBB, we should probably consider it as our next default allocator for the editor. - All tests performed on AMD TR 3970X with 256GB RAM - Loading FramingCameraTest map on special project with -ddc=cold and waiting until every asset is built - 699s @ 32GB for tbb malloc - 655s @ 37GB for mimalloc v1 - 757s @ 12GB for mimalloc v1 + page_reset and reset_decommits - 604s @ 15GB for mimalloc v2 - Loading P_World on Reverb -ddc=cold and waiting until every asset is built - 2372s @ 71GB for tbb malloc - 2587s @ 75GB for mimalloc v1 - 3212s @ 34GB for mimalloc v1 + page_reset and reset_decommits - 2503s @ 37GB for mimalloc v2 - Loading P_Construct_WP on special project with -ddc=cold and waiting until every asset is built - 6404s @ 56GB for tbb malloc - 6640s @ 37GB for mimalloc v2 - Loading Apollo_Terrain on FortniteGame with -ddc=cold and waiting until every asset is built - 751s @ 33GB for tbb malloc - 744s @ 25GB for mimalloc v2 - Cooking FramingCameraTest map on special project with a warmed-up DDC - 379s @ 34GB for tbb malloc - 367s @ 29GB for mimalloc v2 #rb Brandon.Dawson, Yuriy.ODonnell, Stefan.Boberg [CL 15859558 by danny couture in ue5-main branch]
2021-03-30 06:38:15 -04:00
</div>
</div>
<a id="ga459ad98f18b3fc9275474807fe0ca188"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga459ad98f18b3fc9275474807fe0ca188">&#9670;&nbsp;</a></span>mi_option_is_enabled()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool mi_option_is_enabled </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a>&#160;</td>
<td class="paramname"><em>option</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="gaf84921c32375e25754dc2ee6a911fa60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf84921c32375e25754dc2ee6a911fa60">&#9670;&nbsp;</a></span>mi_option_set()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mi_option_set </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a>&#160;</td>
<td class="paramname"><em>option</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga7ef623e440e6e5545cb08c94e71e4b90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7ef623e440e6e5545cb08c94e71e4b90">&#9670;&nbsp;</a></span>mi_option_set_default()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mi_option_set_default </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a>&#160;</td>
<td class="paramname"><em>option</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
Update mimalloc to version 2.0.0-2762784 for HUGE memory usage improvement in editor workloads This version of mimalloc is very efficient at distributing threaded allocations in a way that maintains locality which in turn improve the amount of memory that we're able to send back to the system after heavily multithreaded workloads. This also improves performance as less page fault and cache misses are expected coming from more densily packed allocations. mimalloc v1 seemed to waste more memory because of its commit size being larger than TBB. However, its allocation patterns was already way tigther than TBB but for it to become apparent, you had to activate the "page_reset" and "reset_decommits" options, which came at a performance loss. mimalloc v2 offers both better locality and by default will more agressively decommit memory with only minor performance loss in some cases and performance gain in many. Given the advantages of mimalloc v2 compared to Intel TBB, we should probably consider it as our next default allocator for the editor. - All tests performed on AMD TR 3970X with 256GB RAM - Loading FramingCameraTest map on special project with -ddc=cold and waiting until every asset is built - 699s @ 32GB for tbb malloc - 655s @ 37GB for mimalloc v1 - 757s @ 12GB for mimalloc v1 + page_reset and reset_decommits - 604s @ 15GB for mimalloc v2 - Loading P_World on Reverb -ddc=cold and waiting until every asset is built - 2372s @ 71GB for tbb malloc - 2587s @ 75GB for mimalloc v1 - 3212s @ 34GB for mimalloc v1 + page_reset and reset_decommits - 2503s @ 37GB for mimalloc v2 - Loading P_Construct_WP on special project with -ddc=cold and waiting until every asset is built - 6404s @ 56GB for tbb malloc - 6640s @ 37GB for mimalloc v2 - Loading Apollo_Terrain on FortniteGame with -ddc=cold and waiting until every asset is built - 751s @ 33GB for tbb malloc - 744s @ 25GB for mimalloc v2 - Cooking FramingCameraTest map on special project with a warmed-up DDC - 379s @ 34GB for tbb malloc - 367s @ 29GB for mimalloc v2 #rb Brandon.Dawson, Yuriy.ODonnell, Stefan.Boberg [CL 15859558 by danny couture in ue5-main branch]
2021-03-30 06:38:15 -04:00
</div>
</div>
<a id="ga9a13d05fcb77489cb06d4d017ebd8bed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9a13d05fcb77489cb06d4d017ebd8bed">&#9670;&nbsp;</a></span>mi_option_set_enabled()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mi_option_set_enabled </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a>&#160;</td>
<td class="paramname"><em>option</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga65518b69ec5d32336b50e07f74b3f629"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga65518b69ec5d32336b50e07f74b3f629">&#9670;&nbsp;</a></span>mi_option_set_enabled_default()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mi_option_set_enabled_default </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a>&#160;</td>
<td class="paramname"><em>option</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
</ul>
</div>
</body>
</html>