Hello, I use freebsd/amd64 (RELENG_6) for simulation in physics. I am working on the Ising model: an assembly of spins (micromagnets) which interact and which are in one of two states (up or down). Until now I use char to define the state of each spin (-1 or 1), however, I remarked that most time is spent on memory I/O. Most of bits are unused.
I think that if I can use just one bit per spin, I can have something much faster. I need advices on how to use it. I guess I can't define a new type with a 1/8 byte height (or one bit), yes ? What variable (int, char...) do you recommend to use for a sempron 64 bits. I think I'll need to define new operators (opaque operators, built with bit operators) to switch my spins or use directly the following: & | ^ ~ ... May I gain speed using MMX registers or something like this ? How can I do this ? Here is my basic and multithreaded program: http://scienceclue.ath.cx/download/ising_lps_0.2.tar.bz2 Thanks Mathieu P. _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"