summaryrefslogtreecommitdiff
path: root/README.html
diff options
context:
space:
mode:
Diffstat (limited to 'README.html')
-rw-r--r--README.html9
1 files changed, 5 insertions, 4 deletions
diff --git a/README.html b/README.html
index ce017af..e4b75e6 100644
--- a/README.html
+++ b/README.html
@@ -2,13 +2,13 @@
<html>
<h1>rgo</h1>
<p>rgo (<b>R</b>untime-al<b>GO</b>rithmic, pronounced as <i>are-go</i>) is a C/C++ library for runtime algorithmics on memory sequences.</p>
+ <p>rgo, by default, implements it's algorithms in C. On some platforms (see section <i>Supported Platforms</i>), we implement them in assembly instead. This is to ensure that architecture features (such as SIMD) are used to make the algorithms as efficient as possible.</p>
<p><i>Note: This library is still in it's early stages and is NOT anywhere near being fully optimised.</i></p>
<br />
<h2>Supported Platforms</h2>
- <p>rgo is written (mostly) in assembly, and we therefore can't possibly support every platform in existence.</p>
- <p>Currently, it's only compatible with the UNIX System-V ABI. Systems using this ABI include FreeBSD, Linux, macOS, OpenBSD, and other System-V derivative. Support for Windows is being reflected for a future release.</p>
- <br />
- <p>rgo is written in GNU C and GNU assembly for the following machine architectures:</p>
+ <p>rgo is written in C except on some platforms where we have implemented the algorithms in assembly instead.</p>
+ <p>Our implementations are only compatbile with System V-based operating systems. Support for Windows in a future release is being reflected.</p>
+ <p>Currently, we have only implemented algorithms in assembly for the following architectures:</p>
<ul>
<li>
<p>AMD64, including AVX;</p>
@@ -32,6 +32,7 @@
<p><i>(Planned) Sparc;</i></p>
</li>
</ul>
+ <p>They have been implemented using the GNU C extension for inline assembly, meaning a supporting compiler is required (such as Clang, GCC, and ICC).</p>
<br />
<h2>Building</h2>
<p>The provided makefile has been tested to work with GNU make and BSD make and should work with other make implementations.</p>