Xojo Workers/Multi-Threading

Two things I know that can affect this.

  1. Is your application Sandboxed? If so I have an older article for this and App Wrapper 3 (the principle is the same, just the fields are in different locations) https://ohanaware.com/blog/202040/Profiling-App-Sandbox-Applications-with-App-Wrapper-3.html

  2. Ending the application early using the Terminate method that I shared in the forum kills the app instantly and prevents Xojo from writing its profile data. You need to disable this when profiling.

Is that a thing within Xojo? (I don’t really know what sandboxing means in the context of Xojo or Apple, TBH)

“Terminate”?
I do use “Quit”…

It’s a security protocol, it can be enabled in App Wrapper, look for the “App Sandbox” option under the Code signing heading on the sidebar. It is required for the  App Store. Chances are you don’t have it enabled.

Okay, then it probably isn’t that then.

Grab a copy of App Report (yes it needs some love) https://www.ohanaware.com/appreport/
You can use this to read the system log files.

  1. Enable Profiling on your project.
  2. Run your project.
  3. Open App Report and select your application.
  4. Quit your app and switch back to App Report.
  5. Now click on the “Log” button in App Report so it digs out the log (if you did this earlier, press command-r to refresh).
  6. Now there is going to be a LOT of information and most of it is just garbage, you’re looking for anything that says deny to a file write and this may come from may services, so it will take time. It is probably better if you start at the bottom and work your way up.

If you find something that shows a write to file (in the temporary folder) is denied, that’s the info we want. Copy Paste it here and I’ll take a look. If you don’t see anything like that, then I’m out of ideas at the moment.

Appreciate the efforts, @samRowlands. I wasn’t able to find anything (is there a search function?), and I decided to just create a simple app that receives a packet on a TCPSocket and sends it out another TCPSocket to test the speed.
When the packets go through the Xojo app from a piece of hardware direct to it’s software, it’s REMARKABLY slowed down in comparison to the direct connection.
I have to see what the speed is like on a Windows build of Xojo, then the same function using .NET. Should be intersesting at least…