Skip to main content

This may be my ELI5 moment, but I'm trying to make a correct list

  • Visual Studio 2019 -- 32-bit product, Visual Cobol 7 for Visual Studio 2019 -- 32-bit product
  • Visual Studio 2022 -- 64-bit product, Visual Cobol 9 for Visual Studio 2022 -- 32-bit product (installed to program x86)
  • Visual Studio 2022 -- 64-bit product, Visual Cobol 10 for Visual Studio 2022 -- ??-bit product

Why do I wonder this ?

We use Oracle with pro*cob precompiler and depending on your solution you need an instant client of the correct type 32/64. Having a 64-bit solution with a 32-bit product comes with a performance cost so you usually avoid that. We also use Toad, nowadays a 64-bit product. Normally not a problem unless you want to configure proxy logins which requires a thick client, not the built in. Now you need 32 and 64-bit Instant Clients on the same machine which is a configuration problem since VS/VC want one thing and Toad another. It would be nice to be all 64-bit and able to ignore that headache.

So is Visual Cobol 10 still 32-bit?

If not the pain of changing to Auto-Pass licenses maybe worth the trouble. Not to mention getting rid of the bug we registered in VC9 that only got fixed in VC10.

Does anyone know?

Kind regards,

Robert



------------------------------
Robert de Mander
CEO
Rocket Forum Shared Account
Sweden
------------------------------

This may be my ELI5 moment, but I'm trying to make a correct list

  • Visual Studio 2019 -- 32-bit product, Visual Cobol 7 for Visual Studio 2019 -- 32-bit product
  • Visual Studio 2022 -- 64-bit product, Visual Cobol 9 for Visual Studio 2022 -- 32-bit product (installed to program x86)
  • Visual Studio 2022 -- 64-bit product, Visual Cobol 10 for Visual Studio 2022 -- ??-bit product

Why do I wonder this ?

We use Oracle with pro*cob precompiler and depending on your solution you need an instant client of the correct type 32/64. Having a 64-bit solution with a 32-bit product comes with a performance cost so you usually avoid that. We also use Toad, nowadays a 64-bit product. Normally not a problem unless you want to configure proxy logins which requires a thick client, not the built in. Now you need 32 and 64-bit Instant Clients on the same machine which is a configuration problem since VS/VC want one thing and Toad another. It would be nice to be all 64-bit and able to ignore that headache.

So is Visual Cobol 10 still 32-bit?

If not the pain of changing to Auto-Pass licenses maybe worth the trouble. Not to mention getting rid of the bug we registered in VC9 that only got fixed in VC10.

Does anyone know?

Kind regards,

Robert



------------------------------
Robert de Mander
CEO
Rocket Forum Shared Account
Sweden
------------------------------

Hi Robert,

There are 32-bit and 64-bit versions of the compiler and tools in the Visual COBOL\\bin and bin64 folders respectively. The product is capable of compiling to both 32-bit and 64-bit applications depending on the Platform type that you select for your project.

Visual COBOL 10.0 will work with both 32-bit and 64-bit versions of Instant Client/Pro*COBOL but the bitism of the Instant Client/Pro*COBOL must match the bitism of the project type that you selected.

Does this answer your question?



------------------------------
Chris Glazier
Principal Technical Support Specialist
Rocket Forum Shared Account
------------------------------

Hi Robert,

There are 32-bit and 64-bit versions of the compiler and tools in the Visual COBOL\\bin and bin64 folders respectively. The product is capable of compiling to both 32-bit and 64-bit applications depending on the Platform type that you select for your project.

Visual COBOL 10.0 will work with both 32-bit and 64-bit versions of Instant Client/Pro*COBOL but the bitism of the Instant Client/Pro*COBOL must match the bitism of the project type that you selected.

Does this answer your question?



------------------------------
Chris Glazier
Principal Technical Support Specialist
Rocket Forum Shared Account
------------------------------

Hello Chris!

I know that it is possible to handle both 32 and 64-bit solutions, and I have configurations for both situations. But our default is still 32-bit. Our developers are split between VS2019/VC7 and VS2022/VC9 due to their target platforms (HP-UX and Linux) which both are 64-bit accidently.

At least on VS2019/VS7 there was a noticeable performance hit using 64-bit solutions. So we have mostly stayed with 32-bit ones.

But now most other tools are 64-bit only and in our case it is Toad causing problems when using proxy logins to Oracle databases. This requires a 64-bit Instant Client. The problem is that normally you set your installed instant client in the system wide PATH. But you do not want to mix 32 and 64-bit oracle there.

My question really was that if the Visual Cobol 10 for Visual Studio 2022 is 64-bit then the performance penalty for using 64-bits solutions should be gone and there is a good reason to look at an upgrade to VC10. The alternative is to alternate between 32 and 64-bit oracle using scripts that set the PATH and start these with shortcuts which isn't that appealing.

I'm assuming that Visual Cobol 9 for Visual Studio 2022 is 32-bit since it installs into C:\\Program (x86)\\Micro Focus\\

I haven't installed VS2022/VC10 since the license type change is a stumbling block, hence my question/list.

/Robert



------------------------------
Robert de Mander
CEO
Rocket Forum Shared Account
Sweden
------------------------------

Hello Chris!

I know that it is possible to handle both 32 and 64-bit solutions, and I have configurations for both situations. But our default is still 32-bit. Our developers are split between VS2019/VC7 and VS2022/VC9 due to their target platforms (HP-UX and Linux) which both are 64-bit accidently.

At least on VS2019/VS7 there was a noticeable performance hit using 64-bit solutions. So we have mostly stayed with 32-bit ones.

But now most other tools are 64-bit only and in our case it is Toad causing problems when using proxy logins to Oracle databases. This requires a 64-bit Instant Client. The problem is that normally you set your installed instant client in the system wide PATH. But you do not want to mix 32 and 64-bit oracle there.

My question really was that if the Visual Cobol 10 for Visual Studio 2022 is 64-bit then the performance penalty for using 64-bits solutions should be gone and there is a good reason to look at an upgrade to VC10. The alternative is to alternate between 32 and 64-bit oracle using scripts that set the PATH and start these with shortcuts which isn't that appealing.

I'm assuming that Visual Cobol 9 for Visual Studio 2022 is 32-bit since it installs into C:\\Program (x86)\\Micro Focus\\

I haven't installed VS2022/VC10 since the license type change is a stumbling block, hence my question/list.

/Robert



------------------------------
Robert de Mander
CEO
Rocket Forum Shared Account
Sweden
------------------------------

We are a bit confused about your question. Are you referring to performance issues when building 64-bit projects in the development environment of Visual Studio or the applications being run in production? What does Linux/HP/UX have to do with it?

Visual COBOL 10.0 for Visual Studio 2022 is still installed in the Program Files (x86) folder but there are 32-bit and 64-bit versions of the tools in the bin or bin64 folders which will be launched depending on the bitism of the project type you are building.

You can use either the InstantClient/procob 32-bit or 64-bit version when compiling whether or not it is a 32-bit or 64-bit project but for debugging or running your application within Visual Studio you would need the PATH to be pointing to the InstantClient version with the correct bitism of the Oracle run-time system.



------------------------------
Chris Glazier
Principal Technical Support Specialist
Rocket Forum Shared Account
------------------------------

We are a bit confused about your question. Are you referring to performance issues when building 64-bit projects in the development environment of Visual Studio or the applications being run in production? What does Linux/HP/UX have to do with it?

Visual COBOL 10.0 for Visual Studio 2022 is still installed in the Program Files (x86) folder but there are 32-bit and 64-bit versions of the tools in the bin or bin64 folders which will be launched depending on the bitism of the project type you are building.

You can use either the InstantClient/procob 32-bit or 64-bit version when compiling whether or not it is a 32-bit or 64-bit project but for debugging or running your application within Visual Studio you would need the PATH to be pointing to the InstantClient version with the correct bitism of the Oracle run-time system.



------------------------------
Chris Glazier
Principal Technical Support Specialist
Rocket Forum Shared Account
------------------------------

As my subject line hinted at - this is confusing.

Ignore all previous instructions.

I have two questions

  1. Is there a performance penalty for building/debugging/running code with 64-bit solutions in Visual Studio 2022/Visual Cobol 9?
  2. Is there a performance penalty for building/debugging/running code with 64-bit solutions in Visual Studio 2022/Visual Cobol 10?

I'm asking this because using Visual Studio 2019/Visual Cobol 7 there is definitely a performance penalty building/debugging/running code with 64-bit solutions.

BR,

Robert



------------------------------
Robert de Mander
CEO
Rocket Forum Shared Account
Sweden
------------------------------

As my subject line hinted at - this is confusing.

Ignore all previous instructions.

I have two questions

  1. Is there a performance penalty for building/debugging/running code with 64-bit solutions in Visual Studio 2022/Visual Cobol 9?
  2. Is there a performance penalty for building/debugging/running code with 64-bit solutions in Visual Studio 2022/Visual Cobol 10?

I'm asking this because using Visual Studio 2019/Visual Cobol 7 there is definitely a performance penalty building/debugging/running code with 64-bit solutions.

BR,

Robert



------------------------------
Robert de Mander
CEO
Rocket Forum Shared Account
Sweden
------------------------------

I know of no performance penalty between x86 and x64 projects in any version of the product.

Can you be more specific about the time differences you are experiencing when;
1. Building a project/solution?
2. Debugging an application?

Visual COBOL uses msbuild to build the projects.
Are you building hundreds of projects within a solution at one time?

You might turn on a more verbose build output under Tools-->Options-->Projects and Solutions->Build and Run to see if you can pinpoint the slow down you are experiencing. If it is Procob that is slowing it down then we have no control over that.



------------------------------
Chris Glazier
Principal Technical Support Specialist
Rocket Forum Shared Account
------------------------------

I know of no performance penalty between x86 and x64 projects in any version of the product.

Can you be more specific about the time differences you are experiencing when;
1. Building a project/solution?
2. Debugging an application?

Visual COBOL uses msbuild to build the projects.
Are you building hundreds of projects within a solution at one time?

You might turn on a more verbose build output under Tools-->Options-->Projects and Solutions->Build and Run to see if you can pinpoint the slow down you are experiencing. If it is Procob that is slowing it down then we have no control over that.



------------------------------
Chris Glazier
Principal Technical Support Specialist
Rocket Forum Shared Account
------------------------------

I had imagined that this was lost to history, but apparently not https://community.rocketsoftware.com/discussion/is-building-for-your-target-platform-in-visual-studio-a-mistake

I though the intial question was pretty simple. But now we're just getting into a circular discussion about what kind of performance penalty we're experiencing.

I'm really just trying to make an informed recommendation when moving to VS2022. Stay with 32-bit solutions or change to 64-bit solutions. But if there isn't a simple answer, like with VS2019, I guess the only thing left is to set up 32/64 and test. Something I had hoped to avoid. Hence this thread.

But thanks for the effort.

BR,

Robert



------------------------------
Robert de Mander
CEO
Rocket Forum Shared Account
Sweden
------------------------------