[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: pcb crooked traces



On Oct 11, 2010, at 1:43 PM, Stefan Salewski wrote:

> 
> -- may long default to 64 bit on 64 bit systems

Ahhhh....  well, that depends on the programming model that the system developers chose.  64 bit systems have been done two ways: LP64 or ILP64, that is "longs and pointers are 64, ints are 32" or "ints, longs, and pointers are 64".

On a 64 bit systems, pointers are going to be 64 bits -- after all, that is why you are going to 64 bits.  The C spec says "longs shall be big enough to hold a pointer" so that you can cast pointers and longs, and can union pointers and longs.  

The debate of what to do about ints can go on for years (... trust me.... I've been there....) If you make ints default to 64 bits, all of a sudden recompiled programs get much larger, and the cache pressure is much higher, all for no good reason.  If you make ints default to 32 bits, beelyuns of badly coded programs that expect to cast pointers to ints or do other sloppy things that work in an ILP32 world break right and left.

So... w.r.t. the debate about pcb.... going to 64 bits instead of 32 bits is going to make the memory footprint much bigger (not a big deal) and the cache footprint much bigger (could be a big deal).

TL;DR: It varies.  Check for your system and compilers.

-dave

> -- may it be better to use long long on 32 bit machines to enforce there
> 64 bit (emulation) when 64 bit is desired?
> 
> Sorry, I should better be quiet.
> 
> http://en.wikipedia.org/wiki/Long_integer  
> 
> 
> 
> _______________________________________________
> geda-user mailing list
> geda-user@xxxxxxxxxxxxxx
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
> 



_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user