Re: Size of files
- Posted by Vincent <darkvincentdude at yahoo.com> Oct 25, 2005
- 487 views
Juergen Luethje wrote: > > Hi all, > > how big are the biggest files that Euphoria can handle (especially > interesting for me: on Windows)? > > I stumbled across the following text in the Eu 2.5 documentation of > where(): "i = where(fn)". > In the Euphoria documentation, 'i' means an integer, doesn't it? > Since where() is zero based(*), this would mean that it works with > files up to > MAX_INTEGER+1 bytes = power(2,30) bytes = 1 GB > > Does where() actually not work with files > 1 GB? > > Regards, > Juergen > > (*) This is not mentioned in the documentation of where(), BTW. > > -- > Have you read a good program lately? > > That was a bug fix in Euphoria 2.4 Alpha: bug fixed: where() was not always reporting file positions greater than 1 Gb correctly. Arithmetic performed on the position would probably fail. It now handles up to 2 Gb. You can use integer atoms up to 32 bits long, but the limit of 2 GB is based on the open() routine who's OP uses an obsolete C file routine, I think. Thus 2 GB is the limit for Euphoria applications, libraries, opening files, file inclusion, EDB files, etc. Rob should use newer C file I/O routines in the C backend that offer the full 4 GB limit/8 byte offsets or something. Rob should also be thinking about 64 bit compliant products sooner rather than later. 4 GB these days is not very much let alone 2 GB, especially for databases. Regards, Vincent ---------------------------------------------- ___ __________ ___ /__/\ /__________\ |\ _\ \::\'\ //::::::::::\\ |'|::| \::\'\ //:::_::::_:::\\ |'|::| \::\'\ //::/ |::| \::\\ |'|::| \::\'\ //::/ |::| \::\\|'|::| \::\'\__//::/ |::| \::\|'|::| \::\','/::/ |::| \::\\|::| \::\_/::/ |::| \::\|::| \::,::/ |::| \:::::| \___/ |__| \____| .``. ',,'