Just downloaded R3.
Loaded my web project.
Changed to 64 bit.
Built my app.
Noticed that the Run button is disabled in the IDE.
Ran my app from the command line.
It didn’t.
hmm…
sudo my app… worked…
wow… my 32 bit app was faster.
Just downloaded R3.
Loaded my web project.
Changed to 64 bit.
Built my app.
Noticed that the Run button is disabled in the IDE.
Ran my app from the command line.
It didn’t.
hmm…
sudo my app… worked…
wow… my 32 bit app was faster.
Only Build is available for 64-bit right now.
See 64-bit Guidelines.
Nothing about being slow in that guideline.
What is slow?
benchmarks done during the beta phase by fellow beta testers show the 64-bit executables to be considerably faster than the 32-bit equivalent.
It does take a longer to compile 64-bit executables. it is a price to pay for an optimized executable.
I wish I knew! I can’t debug!
Or it’s just completely hung… can’t tell.
Here’s suggestion: insert debug log lines in your code. The debug code lines could be crafted to provide information as to what parts of the code is running slower in 64-bit (e.g., by outputting the system time at different stages of execution). It is less convenient than the debugger - I miss it too by the way, but it can provide some insights. You know your app, so you will know where to place the debug lines.
For most debugging needs, it doesn’t matter if you are running 32 bit or not. Having said that, we recognize that being able to debug 64 bit via the debugger is important and that will come in a future release.
But the Debug section in Shared Build Settings is still there and available in a 64 bits project. Don’t you think this section should be disabled for 64 bits targets as long as debugging is not available?
More importantly to me: a project can be built for 32 OR 64 bit targets: it would be more suitable if we could build the same project for 32 AND 64 bit targets. For now we need 2 different projects and this is quite tiresome.
You dont need 2 different projects
Compile one
Change the switch to the other architecture
Compile again
Same project
Yes - this is exactly what I meant when I said this is tiresome. The implied message was: we don’t need to switch a project target manually to have it built for MacOS X AND Windows AND Linux targets. Why can’t we to do the same for 32 AND 64 bit targets? Is this final or only a beta stage?
If you want to build for both 32 bit and 64 bit, you will have to do two compile passes and switch the target in between passes.
I’m not sure what is difficult to understand about that. It’s two completely different compilers.
Since you are able to be a beta tester, I’m surprised you never tried this in beta…
The problem with buying your way into the beta program in a nutshell.
There is nothing difficult to understand about a two manual passes. I’m just expressing my own opinion in a forum and my opinion is: this is not good. And I am actually testing it NOW. Maybe I shouldn’t - is it that what you are implying?
I think that since you had access to the beta for the last x months that you should have taken advantage of the chance to express your opinion a long time ago. You are free to express it now but when it was available to you for months, you could have learned a lot about the program and why things were done a certain way during the beta process. I think it would be useful to you.
So are you saying that each compile run should do both 64 bit and 32 bit? You have two different compilers here. Why should I generate 32 bit code if I don’t need that? Why should I generate 64 bit code if I don’t need that? Why should I generate ARM code if I don’t need that?
I don’t think your argument makes a lot of sense.
What is your suggestion to “fix” this?
My suggestion is to select the build targets we need in the IDE as we do for the platforms: Mac 32, Mac 64, etc…
May be I have another concern as I was waiting for these 64 bit targets for years: will we have to wait for another decade to have this completed? And I am not thinking about the build passes here. What is Xojo without its debugger? Frankly speaking…
About the other “topic” you raised: I understand you like to be a beta tester and I respect that but I have no time for this myself - sorry.
They are keenly aware of this issue and I hope they get it completed soon too. But Personally speaking, after the initial kinks were worked out and the vendors got 64-bit versions of their plugins out, I ran into only one bug in our main application that ran under 32-bit, but threw an exception under 64-bit. For almost all cases, a bug in 64-bit will show in 32-bit. Not all, but a huge percentage of them. But, I know what you mean, it will be much easier when we can debug in 64-bit.
Actually, the request for checkboxes for all architectures was discussed during the Alpha phase, and most agreed that it was a good idea. But, there are only so many hours in a day and the Xojo team has done an amazing job with 15r3 compared to where they started :). Understand that we’re much closer to coding Nirvana than ever, so give the guys a shot at getting everything in place one step at the time.
Also, @LANCE DARBY entered feature request <https://xojo.com/issue/41267> today, so don’t complain, sign on.
The amount of time it takes to compile a 64 bit app is LONG. Joe has done a great job bringing that down from about 20 minutes or longer to what we have today. With the long compile times, I think running in the debugger is somewhat useless. Debug under 32 bit. There’s very few 64 bit only bugs your code will have.
Unless you need access to a 64bit only framework. In this case you’re stuck. You can’t debug and debugging with only builds is almost impossible.