[MLton] 64-bit pointers

skaller skaller@users.sourceforge.net
Mon, 05 Sep 2005 12:55:22 +1000


--=-asEMIRHYAyrtwpH68yhS
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Mon, 2005-09-05 at 04:26 +0200, Wesley W. Terpstra wrote:
> On Sep 5, 2005, at 4:02 AM, skaller wrote:
> > On Sun, 2005-09-04 at 21:25 -0400, Matthew Fluet wrote:
> >>> BTW, I've drifted over to the belief that simple 64bit
> >>> pointers are best. Since amd64 is backwards compatible,
> >>> there's no real problem for applications needing << 4GB.
> >>> Just compile your program for i386 instead of amd64.
> >
> > Why use MLton to generate optimised code for a machine
> > running in a mode 5 times slower than it could?
>=20
> Err... 32bit apps and 64bit apps have pretty similar performance.

Err.. no they don't. I measured it. But please note, I am=20
speaking specifically of x86 vs x86-64.

> All I am objecting to is the blanket 5* speed-up claim.

Measured. On one particular test, as mentioned. This was
not a benchmark designed to compare machine performance.

It was actually designed to show Felix f-threads EASILY
solve the so-called 10K problem -- on amd64 I can run
500K trx/sec (that's half a million threads created
per second). But the same program under Cygwin only
delivers around 100K trx/sec. [Be interesting to
see how MLton does .. it should clock in 10 to 100
times faster than Felix IMHO .. but I NEED a 64 bit
version to measure it:]

Of course a single piece of pure code may run with
different speeds compiled for i386 vs amd64,
but my test is far more indicative precisely because
it involves a whole lot of other factors and software,
all of which are built for one or other architecture --
this is typical of real systems.

It depends what you mean by '32 bit app'. An x86-64=20
application using 32 bit pointers is completely different
from an i386 application: it still have access to extra
registers, and still does 64 bit calculations (just the
memory model is 32 bit).

I take 32 bit app to mean 'i386' target.

--=20
John Skaller <skaller at users dot sourceforge dot net>


--=-asEMIRHYAyrtwpH68yhS
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQBDG7OasRp8/9aGVGsRAjNjAJ9bYIFO3wVTw4SHmiso4YCRL7i+HgCfd81/
AaWJ7ypQP1w0BLUNeMavneI=
=4h39
-----END PGP SIGNATURE-----

--=-asEMIRHYAyrtwpH68yhS--