Import Upstream version 20180207
[hcoop/debian/mlton.git] / doc / guide / src / RunningOnSparc.adoc
1 RunningOnSparc
2 ==============
3
4 MLton runs fine on the Sparc architecture.
5
6 == Notes ==
7
8 * When compiling for Sparc, MLton targets the 32-bit Sparc
9 architecture (i.e., Sparc V8).
10
11 * When compiling for Sparc, MLton doesn't support native code
12 generation (`-codegen native`). Hence, performance is not as good as
13 it might be and compile times are longer. Also, the quality of code
14 generated by `gcc` is important. By default, MLton calls `gcc -O1`.
15 You can change this by calling MLton with `-cc-opt -O2`. We have seen
16 this speed up some programs by as much as 30%, especially those
17 involving floating point; however, it can also more than double
18 compile times.
19
20 * When compiling for Sparc, MLton uses `-align 8` by default. While
21 this speeds up reals, it also may increase object sizes. If your
22 program does not make significant use of reals, you might see a
23 speedup with `-align 4`.
24
25 == Known issues ==
26
27 * Bootstrapping on the <:RunningOnSparc:Sparc architecture> is so slow
28 as to be impractical (many hours on a 500MHz UltraSparc). For this
29 reason, we strongly recommend building with a
30 <:CrossCompiling:cross compiler>.
31
32 == Also see ==
33
34 * <:RunningOnSolaris:>