28 February 2007

Win64: slow progress

I was looking through an XML library this week. It's one that compiles on various UNIX platforms, and Mac OS X and Windows. Primarily it's been built for Windows 32-bit, but it has been built for 64-bit UNIXs so I thought that the code would be code and ready for Windows 64-bit.

I was a little surprised to find that it was not anywhere near ready. I think the authors had assumed that the UNIX LP64 programming model is the same as the Windows 64-bit LLP64 programming model.

Variable sizes in 32/64-bit modes :
          32bit   LP64    LLP64
int 4 4 4
long 4 8 4
void * 4 8 8
HANDLE 4 8 8

Maybe it's the fact that in LLP64, the size of a long is different from LP64 that is confusing some development, but the compiler does help. With VS2005, if you try to put a pointer into a long it flags an error.
Another issue is HANDLE, which I have mentioned before.
I found hundreds of such errors when building this XML library. I think it will take a while for Windows developers of native code to catch up to VS2005 and then to catch up to 64-bit.

08 February 2007

Intel Article on multithreaded programming

Intel: Nuts and Bolts of Multithreaded Programming

Get the basics about parallel algorithms, parallel programming APIs, and the tools required to start writing your own parallel programs.

Article: Moving to Windows Vista x64

CodeProject: Moving to Windows Vista x64

A very interesting & technically detailed article about 64-bit programming on Vista x64.

23 January 2007

New Valgrind 3.2.3 released

Release 3.2.3 (29 Jan 2007)

Updated to fix some problems with recent 3.2.2 release.

This tool is amazing for error checking C and/or C++ programs both in 32-bit and 64-bit mode.

Valgrind 3.2.3
Valgrind news

04 January 2007

New site found

start64 seems to be a great website for general 64-bit news and news of 64-bit software updates.

02 January 2007

LFS: a stepping stone to pure 64-bit software

One way to progress to pure 64-bit clean source code, is to add LFS support to your 32-bit code base.
Large File Specification (LFS) is a way of getting 64-bit file handling into your 32-bit code base.

Basically, you need to rebuild your 32-bit code with the following flags passed to your C and/or C++ compiler :

-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64

I've found this to work on every UNIX that I have encountered.

When enabled, all of your 'off_t' variables will be 64-bits wide.
Also you calls to fseek maybe mapped to fseek64 etc.

You should enable this and then work on updating your code base to handle it. You would have to do this anyway for pure 64-bit support.

Links
Wikipedia: LFS

01 January 2007

Ubuntu performance : 32-bit vs 64-bit

Phoronix : Ubuntu: 32-bit v. 64-bit Performance

They compare the latest version of Ubuntu and a beta release, to test 64-bit vs. 32-bit performance at various tasks.

21 December 2006

Ubuntu 6.10 64-bit release: Revisited

I finally installed this release after debating for a while.
I have to say, it's the best 64-bit GNU/Linux that I have ever used. Superb from boot up to shutdown :-)

It's by far the fastest Linux that I have used, very snappy and responsive. The ATI driver support worked really well, it installed fine and my ATI X1300 Pro works very well.
Support seems excellent, the documentation on ubuntu.com is really helpful.

So far, it seems much more polished than openSUSE 10.2 which I installed at the same time. 10.2 is pretty poor in comparison to Ubuntu 6.10.

I look forward to new Ubuntu releases.

Highly recommended.

08 December 2006

07 December 2006

Updated Apple 64-bit support

Apple Developer : Leopard Developer Application Technologies Overview

Above link has lots of information about changes for Leopard. Most of the interesting 64-bit stuff is near the end.

"Leopard brings complete 64-bit support to all of the Mac OS X frameworks"

30 November 2006

Linux: 64 Studio 1.0 released

Desktop Linux reports that 64 Studio 1.0, aka "Olympic, has been released. It's a Debian based 64-bit Gnu/Linux.

DistroWatch entry 64 Studio
64Studio.com link
64Studio Press Release

29 November 2006

14 November 2006

Windows PowerShell 1.0 64-bit

Windows PowerShell 1.0 for 64-bit appears to have been released.

Downloads for Windows XP 64-bit & Windows 2003 x86 64-bit & Itanium.
Download link

08 November 2006

More Vista 64-bit

Vista x64 build 5744 (RC2)

It's another improvement for Vista. Smoother & faster then RC1. It found all of my hardware again, and is working well. Installation was just as quick & painless.
I opted to reformatting the Vista partition and installed fresh.
The 3D stuff works well, it's a bit gimicky, but it works. I've found that most companies I've seen just switch to Classic, so a lot of those features will be lost on them.

Now that Vista has gone to manufacturing, I imagine they've done more incremental improvements. This build goes further in speed & seems more polished. It's still not as fast as XP on the same machine, but it's a good improvement.

28 October 2006

Ubuntu 6.10 64-bit release

Ubuntu GNU/Linux 6.10 released

There is an AMD64 ISO for both deskop and server AMD64 and are available at the download mirrors

Update: I could not install it. There appears to be an installer bug relating to "no root partition" message. It seems that the installer does not like to reuse a previous Linux OS partition and refuses to recognise it.

27 October 2006

AMD 64-bit chip lists

Here are a couple of links to AMDs list of 64-bit chips.
You can compare model numbers, cache sizes, thermal requirements, etc.

Mobile Turion 64 chips
Turion X2 Dual-core model numbers

Compare desktop chips
AMD 64-bit Processors for desktops

23 October 2006

Apple: 64-bit Leopard developer news

Leopard Technology Overview details some developer highlights from the upcoming "Leopard" Mac OS X 10.5.

The new developer tools like XCode 3.0 and xray (new GUI tool built on DTrace) do look impressive. There seems to be a large 64-bit update to various libraries and frameworks.

10 October 2006

News items

PC World - IBM Cranks Up Its Server Chip, Forthcoming Power6 chip pushes speed to 5.0GHz

ComputerWeekly - Itanium poses the 64-bit question

Computer Weekly - VMware offers 64-bit virtualisation support

The Register - VMware does 64-bits in full

Porting Article - Extend your application's reach from 32-bit to 64-bit environments

IT Business - AMD to push 64-bit computing with approved motherboard platforms

05 October 2006

News link: The Long Road to 64-bits

ACM Queue has an interesting article about the move to 64-bits

Article