opsu-dance/lib/lwjgl-2.9.1/javadoc/org/lwjgl/util/mapped/CacheUtil.html

394 lines
15 KiB
HTML
Raw Normal View History

2014-06-30 04:17:04 +02:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_17) on Mon Dec 02 20:32:55 CET 2013 -->
<title>CacheUtil (LWJGL API)</title>
<meta name="date" content="2013-12-02">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="CacheUtil (LWJGL API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/CacheUtil.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/lwjgl/util/mapped/CacheLinePad.html" title="annotation in org.lwjgl.util.mapped"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/lwjgl/util/mapped/MappedField.html" title="annotation in org.lwjgl.util.mapped"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/lwjgl/util/mapped/CacheUtil.html" target="_top">Frames</a></li>
<li><a href="CacheUtil.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.lwjgl.util.mapped</div>
<h2 title="Class CacheUtil" class="title">Class CacheUtil</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.lwjgl.util.mapped.CacheUtil</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public final class <span class="strong">CacheUtil</span>
extends java.lang.Object</pre>
<div class="block">This class provides utility methods for allocating cache-line-aligned
NIO buffers. The CPU cache line size is detected using a micro-benchmark
that exploits the performation degredation that occurs when different
threads write to different locations of the same cache line. The detection
should be reasonably robust on both the server and client VM, but there
are a few system properties that can be used to tune it.</div>
<dl><dt><span class="strong">Author:</span></dt>
<dd>Spasi</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.nio.ByteBuffer</code></td>
<td class="colLast"><code><strong><a href="../../../../org/lwjgl/util/mapped/CacheUtil.html#createByteBuffer(int)">createByteBuffer</a></strong>(int&nbsp;size)</code>
<div class="block">Construct a direct, native-ordered and cache-line-aligned bytebuffer with the specified size.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.nio.CharBuffer</code></td>
<td class="colLast"><code><strong><a href="../../../../org/lwjgl/util/mapped/CacheUtil.html#createCharBuffer(int)">createCharBuffer</a></strong>(int&nbsp;size)</code>
<div class="block">Construct a direct, native-ordered and cache-line-aligned charbuffer with the specified number
of elements.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.nio.DoubleBuffer</code></td>
<td class="colLast"><code><strong><a href="../../../../org/lwjgl/util/mapped/CacheUtil.html#createDoubleBuffer(int)">createDoubleBuffer</a></strong>(int&nbsp;size)</code>
<div class="block">Construct a direct, native-ordered and cache-line-aligned doublebuffer with the specified number
of elements.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.nio.FloatBuffer</code></td>
<td class="colLast"><code><strong><a href="../../../../org/lwjgl/util/mapped/CacheUtil.html#createFloatBuffer(int)">createFloatBuffer</a></strong>(int&nbsp;size)</code>
<div class="block">Construct a direct, native-ordered and cache-line-aligned floatbuffer with the specified number
of elements.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.nio.IntBuffer</code></td>
<td class="colLast"><code><strong><a href="../../../../org/lwjgl/util/mapped/CacheUtil.html#createIntBuffer(int)">createIntBuffer</a></strong>(int&nbsp;size)</code>
<div class="block">Construct a direct, native-ordered and cache-line-aligned intbuffer with the specified number
of elements.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.nio.LongBuffer</code></td>
<td class="colLast"><code><strong><a href="../../../../org/lwjgl/util/mapped/CacheUtil.html#createLongBuffer(int)">createLongBuffer</a></strong>(int&nbsp;size)</code>
<div class="block">Construct a direct, native-ordered and cache-line-aligned longbuffer with the specified number
of elements.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/lwjgl/util/mapped/CacheUtil.html#createPointerBuffer(int)">createPointerBuffer</a></strong>(int&nbsp;size)</code>
<div class="block">Construct a cache-line-aligned PointerBuffer with the specified number
of elements.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.nio.ShortBuffer</code></td>
<td class="colLast"><code><strong><a href="../../../../org/lwjgl/util/mapped/CacheUtil.html#createShortBuffer(int)">createShortBuffer</a></strong>(int&nbsp;size)</code>
<div class="block">Construct a direct, native-ordered and cache-line-aligned shortbuffer with the specified number
of elements.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/lwjgl/util/mapped/CacheUtil.html#getCacheLineSize()">getCacheLineSize</a></strong>()</code>
<div class="block">Returns the CPU cache line size, in number of bytes.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getCacheLineSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCacheLineSize</h4>
<pre>public static&nbsp;int&nbsp;getCacheLineSize()</pre>
<div class="block">Returns the CPU cache line size, in number of bytes.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the cache line size</dd></dl>
</li>
</ul>
<a name="createByteBuffer(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createByteBuffer</h4>
<pre>public static&nbsp;java.nio.ByteBuffer&nbsp;createByteBuffer(int&nbsp;size)</pre>
<div class="block">Construct a direct, native-ordered and cache-line-aligned bytebuffer with the specified size.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>size</code> - The size, in bytes</dd>
<dt><span class="strong">Returns:</span></dt><dd>a ByteBuffer</dd></dl>
</li>
</ul>
<a name="createShortBuffer(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createShortBuffer</h4>
<pre>public static&nbsp;java.nio.ShortBuffer&nbsp;createShortBuffer(int&nbsp;size)</pre>
<div class="block">Construct a direct, native-ordered and cache-line-aligned shortbuffer with the specified number
of elements.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>size</code> - The size, in shorts</dd>
<dt><span class="strong">Returns:</span></dt><dd>a ShortBuffer</dd></dl>
</li>
</ul>
<a name="createCharBuffer(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createCharBuffer</h4>
<pre>public static&nbsp;java.nio.CharBuffer&nbsp;createCharBuffer(int&nbsp;size)</pre>
<div class="block">Construct a direct, native-ordered and cache-line-aligned charbuffer with the specified number
of elements.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>size</code> - The size, in chars</dd>
<dt><span class="strong">Returns:</span></dt><dd>an CharBuffer</dd></dl>
</li>
</ul>
<a name="createIntBuffer(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createIntBuffer</h4>
<pre>public static&nbsp;java.nio.IntBuffer&nbsp;createIntBuffer(int&nbsp;size)</pre>
<div class="block">Construct a direct, native-ordered and cache-line-aligned intbuffer with the specified number
of elements.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>size</code> - The size, in ints</dd>
<dt><span class="strong">Returns:</span></dt><dd>an IntBuffer</dd></dl>
</li>
</ul>
<a name="createLongBuffer(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createLongBuffer</h4>
<pre>public static&nbsp;java.nio.LongBuffer&nbsp;createLongBuffer(int&nbsp;size)</pre>
<div class="block">Construct a direct, native-ordered and cache-line-aligned longbuffer with the specified number
of elements.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>size</code> - The size, in longs</dd>
<dt><span class="strong">Returns:</span></dt><dd>an LongBuffer</dd></dl>
</li>
</ul>
<a name="createFloatBuffer(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createFloatBuffer</h4>
<pre>public static&nbsp;java.nio.FloatBuffer&nbsp;createFloatBuffer(int&nbsp;size)</pre>
<div class="block">Construct a direct, native-ordered and cache-line-aligned floatbuffer with the specified number
of elements.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>size</code> - The size, in floats</dd>
<dt><span class="strong">Returns:</span></dt><dd>a FloatBuffer</dd></dl>
</li>
</ul>
<a name="createDoubleBuffer(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createDoubleBuffer</h4>
<pre>public static&nbsp;java.nio.DoubleBuffer&nbsp;createDoubleBuffer(int&nbsp;size)</pre>
<div class="block">Construct a direct, native-ordered and cache-line-aligned doublebuffer with the specified number
of elements.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>size</code> - The size, in floats</dd>
<dt><span class="strong">Returns:</span></dt><dd>a FloatBuffer</dd></dl>
</li>
</ul>
<a name="createPointerBuffer(int)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>createPointerBuffer</h4>
<pre>public static&nbsp;<a href="../../../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;createPointerBuffer(int&nbsp;size)</pre>
<div class="block">Construct a cache-line-aligned PointerBuffer with the specified number
of elements.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>size</code> - The size, in memory addresses</dd>
<dt><span class="strong">Returns:</span></dt><dd>a PointerBuffer</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/CacheUtil.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/lwjgl/util/mapped/CacheLinePad.html" title="annotation in org.lwjgl.util.mapped"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/lwjgl/util/mapped/MappedField.html" title="annotation in org.lwjgl.util.mapped"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/lwjgl/util/mapped/CacheUtil.html" target="_top">Frames</a></li>
<li><a href="CacheUtil.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><i>Copyright &#169; 2002-2009 lwjgl.org. All Rights Reserved.</i></small></p>
</body>
</html>