Recent

Poll

do you develop the 32 bit version first or the 64 bit version first

64 bit version first
32 bit version first

Author Topic: Which bitness first ?  (Read 4562 times)

440bx

  • Hero Member
  • *****
  • Posts: 4736
Which bitness first ?
« on: June 25, 2024, 09:43:32 am »
Basically, the question is: do you normally start developing the 64 bit version first and then "port" it to 32 bit or do you normally develop the 32 bit version first and then "port" it to 64 bit ?

(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.2) on Windows 7 SP1 64bit.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11942
  • FPC developer.
Re: Which bitness first ?
« Reply #1 on: June 25, 2024, 09:54:04 am »
I usually only have one.

I start with 32-bit on Windows unless it really is clear up front it uses a lot of memory, and 64-bit on *nix.

Reasons for 32-bit on Windows is that both IDEs that I use are more stable (Delphi 10.0, Lazarus)  with debugging 32-bit binaries.

440bx

  • Hero Member
  • *****
  • Posts: 4736
Re: Which bitness first ?
« Reply #2 on: June 25, 2024, 10:12:54 am »
Reasons for 32-bit on Windows is that both IDEs that I use are more stable (Delphi 10.0, Lazarus)  with debugging 32-bit binaries.
Interesting... your choice is determined by the debugger being more stable in one bitness than the other.  I guess you should vote "32 bit first" then, if you are amenable to voting, of course.

I haven't noticed any difference in stability in Lazarus as far as the debugger's stability (fpdebug) but, I do well over 95% of my debugging in 64 bit.


(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.2) on Windows 7 SP1 64bit.

Thaddy

  • Hero Member
  • *****
  • Posts: 16184
  • Censorship about opinions does not belong here.
Re: Which bitness first ?
« Reply #3 on: June 25, 2024, 10:33:21 am »
On Windows, I guess you mean just Windows, I only use 32 bit for audio programming.
Everywhere else I use the maximum bitness of the OS/CPU so I can't answer the question.
If I smell bad code it usually is bad code and that includes my own code.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11942
  • FPC developer.
Re: Which bitness first ?
« Reply #4 on: June 25, 2024, 10:37:14 am »
That experience is still based on gdb debugging. Also I should say many larger production programs are 64-bit, both because of memory and quite often because coding SSE2 is easier.  Most of them were changed in the Windows 8 era (when Microsoft allowed cheap upgrades to windows 8 from older versions and at the same time switch the license from 32-bit to 64-bit)

The largest however is still 32-bit, partially because it heavily relies on FPU performance (and SSE2 fpu seemed slower for non elemental (gonio) operations, though I did those tests a decade ago and I'm about to revisit them), and because it uses a different camera API that is not tested for 64-bit.

I don't have any commercial programming on *nix though.

domasz

  • Hero Member
  • *****
  • Posts: 553
Re: Which bitness first ?
« Reply #5 on: June 25, 2024, 11:05:09 am »
For Windows I almost only do 64 bits now. 64 bit Windows systems are now on the market for 20 years. If someone still has a 32 bit version then this person must have a really old computer with lots of hardware, software and drivers no longer supported by manufactures. I don't care about people reporting that my app crashes because they don't have 100 MB of free RAM or something similar.
If you can't afford a 10 year old PC then you should stick to ancient software.
If I were paid by the hour then I would port my programs to pretty much anything. But I am not so I must be realistic.
Why don't I just make 32 bits? Because they can access 2 GB of RAM and that's often not enough.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 10553
  • Debugger - SynEdit - and more
    • wiki
Re: Which bitness first ?
« Reply #6 on: June 25, 2024, 12:10:08 pm »
Reasons for 32-bit on Windows is that both IDEs that I use are more stable (Delphi 10.0, Lazarus)  with debugging 32-bit binaries.
That experience is still based on gdb debugging.

A bit off topic, so if the reply is longer, maybe start a new thread. What gdb feature do you need, that prevents using FpDebug?

TRon

  • Hero Member
  • *****
  • Posts: 3631
Re: Which bitness first ?
« Reply #7 on: June 25, 2024, 12:21:05 pm »
Can't answer because it depends on the OS bitness I'm working on. In practice it doesn't matter much if you code platform agnostic though it might occur to prefer a certain bitness if the application requires it (but basically and in my eyes that is kinda of a defeat if you can't work around the limitations).
This tagline is powered by AI (AI advertisement: Free Pascal the only programming language that matters)

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11942
  • FPC developer.
Re: Which bitness first ?
« Reply #8 on: June 25, 2024, 12:48:03 pm »
A bit off topic, so if the reply is longer, maybe start a new thread. What gdb feature do you need, that prevents using FpDebug?

In this case it was simply a matter of when those applications were created. fpdebug was not yet a factor then.

I do however have need for a SIMD register (SSE2/AVX2) assembler CPU window though

VisualLab

  • Hero Member
  • *****
  • Posts: 573
Re: Which bitness first ?
« Reply #9 on: June 25, 2024, 02:36:24 pm »
Is your question only about developing Windows/Linux on x86/AMD64? Or maybe it also covers 32-bit ARM microcontrollers (e.g. RPi Pico)?

440bx

  • Hero Member
  • *****
  • Posts: 4736
Re: Which bitness first ?
« Reply #10 on: June 25, 2024, 03:20:50 pm »
Is your question only about developing Windows/Linux on x86/AMD64? Or maybe it also covers 32-bit ARM microcontrollers (e.g. RPi Pico)?
The question is meant to cover CPUs and O/Ss that support both bitnesses, e.g, on Windows it is possible (given the right O/S version) to run either a 32 bit program or a 64 bit program.   Since both options are available, I wanted to know if programmers had a preference as to which version to develop first given those possibilities.

(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.2) on Windows 7 SP1 64bit.

Thaddy

  • Hero Member
  • *****
  • Posts: 16184
  • Censorship about opinions does not belong here.
Re: Which bitness first ?
« Reply #11 on: June 25, 2024, 03:29:29 pm »
On linux that is also possible. Some distro's have multi-arch support as default, like Ubuntu.
Preference is highest available unless drivers are missing (ASIO/VST, ODBC)
« Last Edit: June 25, 2024, 03:32:01 pm by Thaddy »
If I smell bad code it usually is bad code and that includes my own code.

BeniBela

  • Hero Member
  • *****
  • Posts: 920
    • homepage
Re: Which bitness first ?
« Reply #12 on: June 25, 2024, 05:29:58 pm »
If you can't afford a 10 year old PC then you should stick to ancient software.

That is why I use Pascal!




Although I now develop for 64-bit. I got a free laptop from my university

PascalDragon

  • Hero Member
  • *****
  • Posts: 5755
  • Compiler Developer
Re: Which bitness first ?
« Reply #13 on: June 25, 2024, 08:18:58 pm »
Basically, the question is: do you normally start developing the 64 bit version first and then "port" it to 32 bit or do you normally develop the 32 bit version first and then "port" it to 64 bit ?

For me it depends on the system I'm on... on my home PC it would be 64-bit cause that's my default compiler on that system, on my work PC it would be 32-bit cause that's my default there. Mainly so that at least someone still checks whether i386-win32 of 3.3.1 is working correctly :P

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11942
  • FPC developer.
Re: Which bitness first ?
« Reply #14 on: June 25, 2024, 10:04:01 pm »
Mainly so that at least someone still checks whether i386-win32 of 3.3.1 is working correctly :P

I build a snapshot several times a week.

 

TinyPortal © 2005-2018