64 vs 32 bit

Hi,

A little off topic but I really like to get a hang on this in relation to wxPython and not some theoretical benefit.

I am currently still using 32bit wxPython etc and I wonder what am I missing out if anything from not going 64bit and as I plan to start trying Py3.3 soon it might be a good time to switch to 64bit if there are more pros then cons:)

I tried googling what are the pros/cons of 64 vs 32 bit with Python/wxPython based applications but didn't really much useful information.

So, my question what are people using and if they use 64bit why have they chosen it over the 32bit version.

Werner

Hi

I think it’s more a OS level decision and not limited to python or wxpython.

The main thing you won with a 64 bits systems: it can handled more than 4Gb of ram, so you can run more programs at the same time.

If you are using dev tools you will see some process running a little more faster the same for design software.

Some long calculations will run smooth because the long integer present in 64 bits systems.

I’m using 64 bits Ubuntu since many years ago and I’m very liked with it and it’s the future for the OS, just my 2 cents…

···

Enviado desde mi Samsung Galaxy S4

El 06/09/2013 03:13, “Werner” werner.bruhin@sfr.fr escribió:

Hi,

A little off topic but I really like to get a hang on this in relation to wxPython and not some theoretical benefit.

I am currently still using 32bit wxPython etc and I wonder what am I missing out if anything from not going 64bit and as I plan to start trying Py3.3 soon it might be a good time to switch to 64bit if there are more pros then cons:)

I tried googling what are the pros/cons of 64 vs 32 bit with Python/wxPython based applications but didn’t really much useful information.

So, my question what are people using and if they use 64bit why have they chosen it over the 32bit version.

Werner

You received this message because you are subscribed to the Google Groups “wxPython-users” group.

To unsubscribe from this group and stop receiving emails from it, send an email to wxpython-users+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.

I think it's more a OS level decision and not limited to python or
wxpython.

The main thing you won with a 64 bits systems: it can handled more than
4Gb of ram, so you can run more programs at the same time.

But you can run 32bit software on a 64 bit OS, and the hardware and

software vendors have made that work really, really well.

I'm pretty sure there is actually NO advantage to 64 bit apps for the
regular old user, except:

Access to more memory -- 32 bit apps are limited to how much memory they
can access -- I think 2GB on Windows, so if you need to do somethign with
lots of memory (large images, video, major computation, etc, then it can be
a real plus)

If you are using dev tools you will see some process running a little more
faster the same for design software.

well, maybe -- some things are slower with 64 bit -- you have larger
pointers, so if you are pushing a lot of pointers around, they may take a
bit longer to get in and out of memory

Some long calculations will run smooth because the long integer present in
64 bits systems.

64 bit integer calculations may be faster, yes (but may not, they are
probably using the same hardware instructions). On the other hand, if you
are using 64 bit integers when you don't need them it will take more memory
and might be slower (pushing more over the bus). But all of this will lnl
matter if you are doing heavy computation, in which case you should be
controlling your data types to suit your need anyway (with numpy or C or
Fortran) extensions..

I see no reason to go to 64 bit unless you need the memory or just want to
go the way of the future -- I expect at some point people will get sick of
supporting two versions of things...

-Chris

···

On Fri, Sep 6, 2013 at 5:16 AM, Mario Lacunza <mlacunza@gmail.com> wrote:

--

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception

Chris.Barker@noaa.gov

Yes, but there is an additional consideration in this case. A
64-bit process cannot access a 32-bit DLL, nor vice versa. So, if
you have binary add-in modules, or modules that rely on external
DLLs (like MySQL or PostGres), then you cannot use a 64-bit Python
unless you have 64-bit versions of all of the DLLs you need.
There is no difference in computational speed. A 32-bit add is 1
cycle, and a 64-bit add is 1 cycle. 64-bit instructions are longer
than their 32-bit equivalents, both because of instruction escape
codes and because literal addresses are 8 bytes instead of 4 bytes.
Because of that, fewer instructions fit into the cache, which makes
64-bit code run slightly slower than 32-bit code.
I agree. Just this week, I migrated my main development machine
from a reliable but old XP system to a brand new Win 7 64-bit
system. After considerable internal debate, I installed the 32-bit
Python.

···

Chris Barker - NOAA Federal wrote:

          But you can run 32bit software on a 64 bit OS,

and the hardware and software vendors have made that work
really, really well.

          I'm pretty sure there is actually NO advantage

to 64 bit apps for the regular old user, except:

          Access to more memory -- 32 bit apps are

limited to how much memory they can access – I think 2GB
on Windows, so if you need to do somethign with lots of
memory (large images, video, major computation, etc, then
it can be a real plus)

            Some long calculations will run smooth

because the long integer present in 64 bits systems.

          64 bit integer calculations may be faster, yes

(but may not, they are probably using the same hardware
instructions). On the other hand, if you are using 64 bit
integers when you don’t need them it will take more memory
and might be slower (pushing more over the bus).

          I see no reason to go to 64 bit unless you

need the memory or just want to go the way of the future
– I expect at some point people will get sick of
supporting two versions of things…

-- Tim Roberts, Providenza & Boekelheide, Inc.

timr@probo.com

Uhm… no I think because from the dev point of view I can choose
wich integer is better in each situation, so I can choose the long
int only when its needed.
Mario

···

El 06/09/13 11:20, Chris Barker - NOAA Federal escribió:

On Fri, Sep 6, 2013 at 5:16 AM, Mario Lacunza mlacunza@gmail.com
wrote:

            If you are using dev tools you will see some

process running a little more faster the same for design
software.

          well, maybe -- some things are slower with 64

bit – you have larger pointers, so if you are pushing a
lot of pointers around, they may take a bit longer to get
in and out of memory

Thats only true in Windows environment, Im using Ubuntu 65bits and
for access 32bits libraries I only need to install a package. But off course when you are in 64bits you need install 64 bits
libraries
But in my case in my Ubuntu laptop Im running a complete LAMP
environment, Eclipse IDE, PostgreSQL database server, Python 2.7 +
3, GIMP and sometimes my Firefox had opened 20+ pages at the same
time, amen Im using Virtualbox with WidowsXP and Mac running at the
same time for testings…in my case I need a 64 bits OS because I
have 8MB RAM installed.

···

El 06/09/13 11:32, Tim Roberts escribió:

  Yes, but there is an additional consideration in this case.  A

64-bit process cannot access a 32-bit DLL, nor vice versa. So, if
you have binary add-in modules, or modules that rely on external
DLLs (like MySQL or PostGres), then you cannot use a 64-bit Python
unless you have 64-bit versions of all of the DLLs you need.

  I see no

reason to go to 64 bit unless you need the memory or just want to
go the way of the future – I expect at some point people will get
sick of supporting two versions of things…

  I agree.  Just this week, I migrated my main development machine

from a reliable but old XP system to a brand new Win 7 64-bit
system. After considerable internal debate, I installed the
32-bit Python.


Saludos / Best regards
Mario Lacunza
Email:: Personal Website:: Hosting:: Mascotas Perdidas:: Google Talk / Y! messenger / Skype: mlacunzav
MSN:

Chris Barker - NOAA Federal wrote:

            But you can run 32bit software on a 64 bit

OS, and the hardware and software vendors have made that
work really, really well.

            I'm pretty sure there is actually NO

advantage to 64 bit apps for the regular old user,
except:

            Access to more memory -- 32 bit apps are

limited to how much memory they can access – I think
2GB on Windows, so if you need to do somethign with lots
of memory (large images, video, major computation, etc,
then it can be a real plus)

mlacunza@gmail.comhttp://www.lacunza.biz/http://mlv-host.com/http://mascotas-perdidas.com/mlacunzav@hotmail.com

Hi Mario, Tim and Chris,

Thanks for your comments, so far it sounds like I won't get much if anything out of moving to 64bit Python.

Is there any overhead for running 32bit Python on a 64bit OS?

Has anyone benchmarked wxPython app on 32 and 64bit configs?

Werner

Yes, but there is an additional consideration in this case. A 64-bit
process cannot access a 32-bit DLL, nor vice versa.

Thats only true in Windows environment, Im using Ubuntu 65bits and for
access 32bits libraries I only need to install a package.

I'm pretty sure it's the same on Linux -- it just may be easier to get

libs in the flavor you want. Though I'd expect it's a lot easier to get the
whole system working in the "native" bit-depth -- i.e. on a 64 bit system
"apt_get install" will get you 64 bit everything by default.

On OS-X, binaries themselves can be "universal", but it's kind of pain to
build them that way -- so It's a bit easier these days to just do 64 bit
(on newer systems).

But in my case in my Ubuntu laptop Im running a complete LAMP environment,

Eclipse IDE, PostgreSQL database server, Python 2.7 + 3, GIMP and sometimes
my Firefox had opened 20+ pages at the same time, amen Im using Virtualbox
with WidowsXP and Mac running at the same time for testings...in my case I
need a 64 bits OS because I have 8MB RAM installed.

yes, you need a 64 bit OS, but you could still run 32 bit python,
wxPython, etc.

-Chris

···

On Fri, Sep 6, 2013 at 10:48 AM, Mario Lacunza <mlacunza@gmail.com> wrote:

--

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception

Chris.Barker@noaa.gov

And it also takes time to push the data in and out of the processor -- 64
bit integers are twice as much memory to push:

In [58]: arr32 = np.ones((10000000,), dtype=np.int32)

In [59]: arr64 = np.ones((10000000,), dtype=np.int64)

In [60]: def mult(arr):
    arr *= 5
   ....:

In [61]: timeit mult(arr64)
10 loops, best of 3: 26.8 ms per loop

In [62]: timeit mult(arr32)
100 loops, best of 3: 9.76 ms per loop

much less difference with small arrays:

In [63]: arr32 = np.ones((100,), dtype=np.int32)

In [64]: arr64 = np.ones((100,), dtype=np.int64)

In [65]: timeit mult(arr32)
100000 loops, best of 3: 2.1 us per loop

In [66]: timeit mult(arr64)
100000 loops, best of 3: 2.98 us per loop

But as someone pointed out -- you should choose the bit size of your
numbers appropriately for your problem in any case.

-Chris

···

On Fri, Sep 6, 2013 at 9:32 AM, Tim Roberts <timr@probo.com> wrote:

There is no difference in computational speed. A 32-bit add is 1 cycle,
and a 64-bit add is 1 cycle. 64-bit instructions are longer than their
32-bit equivalents, both because of instruction escape codes and because
literal addresses are 8 bytes instead of 4 bytes. Because of that, fewer
instructions fit into the cache, which makes 64-bit code run slightly
slower than 32-bit code.

--

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception

Chris.Barker@noaa.gov

That is an entirely separate question. There is no doubt that a
64-bit OS is better than a 32-bit OS. There’s no excuse to install
a 32-bit operating system on a 64-bit-capable processor. The
question is about whether one should install 32-bit Python or 64-bit
Python on that 64-bit OS, and that question is more complicated than
you imply.

···

Mario Lacunza wrote:

  But in my case in my Ubuntu laptop Im running a complete LAMP

environment, Eclipse IDE, PostgreSQL database server, Python 2.7 +
3, GIMP and sometimes my Firefox had opened 20+ pages at the same
time, amen Im using Virtualbox with WidowsXP and Mac running at
the same time for testings…in my case I need a 64 bits OS
because I have 8MB RAM installed.

-- Tim Roberts, Providenza & Boekelheide, Inc.

timr@probo.com

One drawback of 64-bit python that I ran into: There is no 64-bit version of the spell-checker pyenchant. When I asked about this on the pyenchant list, the advice I was given was to switch to 32-bit python.

https://groups.google.com/d/topic/pyenchant-users/rxAyNsB1jeQ/discussion

Patrick

And… you can’t compile from sources?

It’s the first advice you receipt in the list and there’s no problem doing that, so I don’t see any issue using 64 bits version.

The same apply for any non existent Windows 64 bits library, you can compile it!

One drawback of 64-bit python that I ran into: There is no 64-bit version of the spell-checker pyenchant. When I asked about this on the pyenchant list, the advice I was given was to switch to 32-bit python.

https://groups.google.com/d/topic/pyenchant-users/rxAyNsB1jeQ/discussion

Patrick

···

Enviado desde mi Samsung Galaxy S4

You received this message because you are subscribed to the Google Groups “wxPython-users” group.

To unsubscribe from this group and stop receiving emails from it, send an email to wxpython-users+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.