This file is indexed.

/usr/share/doc/libassimp-doc/apiref/threading.html is in libassimp-doc 2.0.863+dfsg-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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"/>
<title>Assimp: Threading</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Assimp&#160;<span id="projectnumber">v2.0 (November 2010)</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="headertitle">
<div class="title">Threading </div>  </div>
</div>
<div class="contents">
<div class="textblock"><h2><a class="anchor" id="overview"></a>
Overview</h2>
<p>This page discusses both Assimps scalability in threaded environments, the precautions to be taken in order to use it from multiple threads concurrently and finally its own ability to parallelize certain tasks internally.</p>
<h2><a class="anchor" id="threadsafety"></a>
Thread-safety / Using Assimp concurrently from several threads</h2>
<p>The library can be accessed by multiple threads simultaneously, as long as the following prerequisites are fulfilled: </p>
<ul>
<li>
When using the C++-API make sure you create a new Importer instance for each thread. Constructing instances of Importer is expensive, so it might be a good idea to let every thread maintain its own thread-local instance (use it to load as many models as you want). </li>
<li>
The C-API is threadsafe as long as AI_C_THREADSAFE is defined. That's the default.  </li>
<li>
When supplying custom IO logic, make sure your underyling implementation is thead-safe. </li>
<li>
Custom log streams or logger replacements have to be thread-safe, too. </li>
</ul>
<p>Multiple concurrent imports may or may not be beneficial, however. For certain file formats in conjunction with little postprocessing IO times tend to be the performance bottleneck, using multiple threads does therefore not help. Intense postprocessing (especially the O(nlogn) steps <a class="el" href="ai_post_process_8h.html#a64795260b95f5a4b3f3dc1be4f52e410a444a6c9d8b63e6dc9e1e2e1edd3cbcd4">aiProcess_JoinIdenticalVertices</a>, <a class="el" href="ai_post_process_8h.html#a64795260b95f5a4b3f3dc1be4f52e410a6afb4fee42eca4482674859196cb8685">aiProcess_GenSmoothNormals</a> and <a class="el" href="ai_post_process_8h.html#a64795260b95f5a4b3f3dc1be4f52e410a8857a0e30688127a82c7b8939958c6dc">aiProcess_CalcTangentSpace</a>) together with file formats like X or Collada, which are slow to parse, might scale well with multiple concurrent imports.</p>
<h2><a class="anchor" id="automt"></a>
Internal threading</h2>
<p>Automatic multi-threading is not currently implemented. </p>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated on Tue Nov 1 2011 10:43:56 for Assimp by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>