I have just installed SUSE 9.1 64 and it created a
/usr/lib64/python2.3/. Note the 'lib64' - I'm guessing that my python
is 64 bit. I'm real new to python as I was wondering if someone could
enlighten me on the differences between 32 bit and 64 bit python - at
least as SUSE has set it up? Thanks
John 11 1301
"John Fabiani" <jf******@yolo. com> wrote in message
news:X5******** *********@newss vr25.news.prodi gy.com... I have just installed SUSE 9.1 64 and it created a /usr/lib64/python2.3/. Note the 'lib64' - I'm guessing that my python is 64 bit. I'm real new to python as I was wondering if someone could enlighten me on the differences between 32 bit and 64 bit python - at least as SUSE has set it up? Thanks
I believe the main difference from the Python viewpoint is 64 instead of 32
bit ints and everything that follows from that. For instance, type(2**60),
is int instead of long. Maybe someone else knows more.
tjr
Terry Reedy wrote: I believe the main difference from the Python viewpoint is 64 instead of 32 bit ints and everything that follows from that. For instance, type(2**60), is int instead of long. Maybe someone else knows more.
In addition, Python, in 64-bit mode, will use 64-bit addresses. That
means it can address more that 4GB of main memory. Actually, the
limitation on 32-bit systems is often 2GB, which 64-bit Python helps
to overcome.
Unfortunately, Python still won't support sequence indexes above 2**31,
so you still can't have lists with more than 2**31 items (but such a
list would consume 8GB of main memory for the pointers to the list items
alone, plus memory for the actual objects). More unfortunate is that
it won't deal with strings larger than 2GB, either.
Regards,
Martin
John Fabiani wrote: I have just installed SUSE 9.1 64 and it created a /usr/lib64/python2.3/. Note the 'lib64' - I'm guessing that my python is 64 bit. I'm real new to python as I was wondering if someone could enlighten me on the differences between 32 bit and 64 bit python - at least as SUSE has set it up? Thanks John
Thank to all for the info.
John
"Martin v. Löwis" <ma****@v.loewi s.de> writes: Unfortunately, Python still won't support sequence indexes above 2**31, so you still can't have lists with more than 2**31 items (but such a list would consume 8GB of main memory for the pointers to the list items alone, plus memory for the actual objects). More unfortunate is that it won't deal with strings larger than 2GB, either.
Speaking as someone who would use ~10GB strings and would like to mmap ~10GB
files (currently mmap is limited to int size, I think), these seem like
serious limitations. Does anyone know whether there is a real reason for
these? Or is it must a matter of someone thinking it's worthwhile to have
Python *really* be 64-bit (by replacing more or less all usage of int32 with
int64)?
Mike
Mike Coleman wrote: Speaking as someone who would use ~10GB strings and would like to mmap ~10GB files (currently mmap is limited to int size, I think), these seem like serious limitations. Does anyone know whether there is a real reason for these?
Yes. Python uses an int for storing the size. This is a real reason, and
changing it is not trivial.
Or is it must a matter of someone thinking it's worthwhile to have Python *really* be 64-bit (by replacing more or less all usage of int32 with int64)?
Changing it to int64 would be wrong. Changing it to size_t would be
better, although it must be signed, so it should be changed to ssize_t.
But then, ssize_t is not available on all platforms. And so on.
For curiosity: how much memory do you have in the machine where you
want to store 10GB strings? What microprocessor is that?
Regards,
Martin
"Martin v. Löwis" <ma****@v.loewi s.de> writes: Yes. Python uses an int for storing the size. This is a real reason, and changing it is not trivial.
.... Changing it to int64 would be wrong. Changing it to size_t would be better, although it must be signed, so it should be changed to ssize_t. But then, ssize_t is not available on all platforms. And so on.
I didn't mean this literally, but rather, at a slightly more abstract level,
one could imagine simply replacing whatever types mentioned in the python
source that map to 32-bit integers with corresponding types that map to 64-bit
integers (on a 64-bit platform like alpha or amd64). Thinking about it
naively, this ought to just work (at the expense of a larger memory
footprint). This would give 10GB strings, etc., straightaway. But perhaps
there is some subtle reason why things are more complicated than this?
For curiosity: how much memory do you have in the machine where you want to store 10GB strings? What microprocessor is that?
Well, at work we've had a Tru64 alpha box with 8GB RAM for a couple years. We
do bioinformatics, so mmap'ing genome files (which can be significantly larger
than 4GB), making them visible as python strings, would be quite handy. The
size of these files potentially increases over time (as more sequence becomes
known)--I just picked 10GB out of the air as a proxy for "as big as my RAM and
definitely bigger than 4GB".
To put it a little more simply, I'd like to be able to assume that I can do a
read() or mmap() without having to think about any limits other than VM,
working set and available RAM.
I suspect that within a year or two everyone will want this (as RAM gets
cheaper and everyone gets an amd64 (or compatible :-) CPU).
Mike
Mike Coleman wrote: I didn't mean this literally, but rather, at a slightly more abstract level, one could imagine simply replacing whatever types mentioned in the python source that map to 32-bit integers with corresponding types that map to 64-bit integers (on a 64-bit platform like alpha or amd64).
On the abstract level, it is simple. On the concrete level, it is difficult.
Thinking about it naively, this ought to just work (at the expense of a larger memory footprint). This would give 10GB strings, etc., straightaway. But perhaps there is some subtle reason why things are more complicated than this?
Yes. A change to the size of things involves literally hundreds of lines
of source code that need to be changed. It is very easy to overlook a
change, or carry it out incorrectly, which will cause bugs that are
very hard to track and take years to correct.
To put it a little more simply, I'd like to be able to assume that I can do a read() or mmap() without having to think about any limits other than VM, working set and available RAM.
I see. Then the current limitation is in no way serious for you. You
apparently don't have the actual need, with an actual limitation in
actual data, which forces you to take work-arounds at the present
day. Instead, it seems you merely see that your hardware could
potentially support applications which the software layers actually
can't process in a convenient way.
For the specific example of large strings, you might have to
introduce a "multi-level" string, where a string wrapper has ten
strings, each 1GB of size, to achive the illusion of a 10GB string;
likewise for mmap. Yes, that would be a work-around, but apparently
none that you already had to make.
I suspect that within a year or two everyone will want this (as RAM gets cheaper and everyone gets an amd64 (or compatible :-) CPU).
Perhaps. In a year or two, Python will have changed to conveniently
accommodate such hardware.
Regards,
Martin
"Martin v. Löwis" <ma****@v.loewi s.de> writes: For the specific example of large strings, you might have to introduce a "multi-level" string, where a string wrapper has ten strings, each 1GB of size, to achive the illusion of a 10GB string; likewise for mmap. Yes, that would be a work-around, but apparently none that you already had to make.
Why should there have to be a multi-level workaround for mmap? I'd
like to be able to mmap files > 4 gb, but can't, and it's a pain in
the neck.
Paul Rubin wrote: Why should there have to be a multi-level workaround for mmap?
Because a fix won't be available until Python 2.5.
Regards,
Martin This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: bonehead |
last post by:
Okay, I've worked with RedHat and Fedora, but does anybody know if suse
personal or suse pro comes with php/mysql? Or would I have to go with
suse enterprise server to get them?
|
by: Data Goob |
last post by:
This one has me stumped.
How did SuSE disable the mail() function in their RPM'd version of PHP?
( This is their install-version of PHP with RPMs not what you download
from PHP.net )
I have an application that emails people a message, and now having installed
my PHP application on my customer's machine it doesn't work, giving an error
message that the mail() function is not defined.
|
by: michael |
last post by:
Hi.
I am reasonably experienced with Python (and love it!) on Windows. I am a
programmer that toils in c++ on Win 32 mostly but just to learn more, I am
playing with Suse 9. Linux.
Of course the first thing I tried to fire up was Python. From the command
line, I can access Python 2.3 with no problem.
I tried to run / search for IDLE which I thought was a standard install on
|
by: Denis S. Otkidach |
last post by:
On all platfroms \w matches all unicode letters when used with flag
re.UNICODE, but this doesn't work on SuSE 9.2:
Python 2.3.4 (#1, Dec 17 2004, 19:56:48)
on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> re.compile(ur'\w+', re.U).match(u'\xe4')
>>>
|
by: Jim Williams |
last post by:
I am not able to get MYSQL running on Suse Linux Enterprise Server.
I tried stopping with the command mysqld and it reported, "Shtudown
Complete." Then when I tried to restart it with the command, "mysqld
–user=root" I get the response "mysql.host" doesn't exist. If I try
"mysqld – user=mysql", I get numerous errors.
I installed Suse Linux Enterprise Server 8 from CDROM and included all
options. I saw the MYSQL is part of the...
| |
by: Peter Eisentraut |
last post by:
SuSE RPMs for PostgreSQL 7.4 are available at
ftp://ftp.postgresql.org/pub/binary/v7.4/suse
or a mirror
http://www.postgresql.org/mirrors-www.html
or at
|
by: dba_db2 at nospam gmx.net |
last post by:
Looking at
http://www-306.ibm.com/software/data/db2/linux/validate/
it told us that db2 v8.1 is not validated yet for suse90 professional ed.
Do you have any experience regarding the stability of db2
on that or other up to date linux platforms ?
Has anyone using that configuration made a call to the db2 support ?
Does the support appease that questions ?
Best regards.
|
by: Neil Truby |
last post by:
we've sold a few suse and redhat solutions with ibm data management software
recently (60% margin from ibm on new licences - thanks very much ibm!). we
thought about becoming suse partners, in solidarity with our fellow
europeans. 1600 euros (or us dollars) to join the partner program seems a
bit steep though :-((
even ibm don't fleece you for that much (until you discover you can't do
anything without the us$2000 "value" pack :-)))
...
|
by: Gellert, Andre |
last post by:
Hi everybody,
currenty we use Suse Linux 9 and the rpms with 7.4.0 downloaded from
ftp://ftp.gmd.de/mirrors2/suse/ftp.suse.com/people/max/postgresql-7.4/ .
I don't know how to contact the person who build this rpms ,
and i cannot find other resources on the web, so does anyone
know a place to get Postgres 7.4.1 RPMs for SuSE 9.0 ?
Compiling them myself would be easy on test machines, but our
server adminstration must get RPMs .
|
by: SmoothJazz |
last post by:
Hi All!
I am wanting to setup/run PostgreSQL on my server (a SuSE Linux 9.2 distro)
but I'm not quite sure which way to go.
I have a few books on PostgreSQL but they don't seem to match the way SuSE
has installed it. The books explain how to install/make/etc. and then how
to setup a "cluster". The directory structure differs alot from the SuSE
install.
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look !
Part I. Meaning of...
| |
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules.
He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms.
Adolph will...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
| |
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |