Thursday, November 20, 2014

32 to 64 bit for the rest of us

Today I shall discuss the issues that arise when migrating 32 bit code to 64 bit.  Without falling into the typical jargon.

George is a city planner.  He likes to plan out cities and determine who will live where.

There's also the home builder Alan.  He likes building homes for people within cities.

Both have to work together when building new cities.  Alan needs space for his houses.  George needs to know how large Alan's houses will be.

Alan knows there are various types of houses.  Small, medium, and large.  They are 10 square feet, 15 square feet, and 20 square feet in usable floor space respectively.  Then there are the variants, such as a bungalow which takes the same amount of space as a small home and a mansion which takes the same amount of space as a large home.

Sometimes, some of Alan's clients ask him to change a small home for a bungalow, etc.  when this happens, he doesn't have to notify George since the amount of space needed is the same.

For years, the two have happily built houses forming complete cities without a hitch.  Actually, they just copy the same city all over the place.

However, one day, Prime Minister Slim looked at what was being built.  Bungalows, typically lived in by families, should be larger he ascertained.  He saw families squished into their miniature bungalows.  So, he put out a decree, all Bungalows shall be 15 feet, not 10.

For George, this entails he must alter how he plans the layout of his cities.  For Alan, he has a problem.  The interchangeable use of small houses and bungalows means he must inform George of which homes are larger than the initial plan.

And herein lies the problem with going from 32 bit to 64 bit.  The person making the software has made a lot of assumptions that held true for years but are no longer the case.

No comments:

Post a Comment