Copy link to clipboard
Copied
So my AIR application is a HUGE number cruncher. But since it is running on one thread, the deployed version still takes about an hour to process my data. If at all possible, I would like to get this down to about 15 minutes so I could run it several times a day. My computer has two XEON Quad Cores and almost 24GB of RAM, so I am not worried about overworking my machine. Currently, my main application is running at about 150MB.
So I am interested in speeding up my application using Workers. I have never tried using Workers to increase speed, so I wanted to ask people with experience with Workers if you think it is worth the effort. By splitting the processing load to four threads, do you think I could whittle the processing time down to 15 minutes, or is there a point at which adding more threads just increases overhead, and therefore you don't gain much? Or is it hugely advantageous?
Copy link to clipboard
Copied
From Worker - Adobe ActionScript® 3 (AS3 ) API Reference
A worker allows you to execute code "in the background" at the same time that other operations are running in another worker (including the main swf's worker). In a non-worker context some operations, for example processing a large set of data in a loop, take so long to execute that they prevent the main application thread from updating the screen quickly enough. This can cause stuttering or freezing the screen.
You can try fast memory operations.
Copy link to clipboard
Copied
I've never heard of fast memory operations with regard to Flex. Could you give me a little insight, or perhaps a link of something to read regarding this subject?
Copy link to clipboard
Copied
For fast memory - CrossBridge — CrossBridge
btw, your app is online based or offline? Because as you said - AIR and than Flex ...
Most best way to achive native speed it's develop Native Extension. What kind of computations do you require and what the OS you used with ur AIR app?
Copy link to clipboard
Copied
My app is Adobe AIR for desktop. I plan mostly to use in on PC, but may have a few Apple users as well. The kind of computations that are required involve a lot of trigonemetric functions on Very large ArrayCollections.
Copy link to clipboard
Copied
In your case - best choice it's ANE - Adobe Native Extension. You can send data to C++ at once and it will compute it and sent it back to you. We done physics few years ago that showing us 90% speed up
But you must send a lot of data and not 1 by 1
Copy link to clipboard
Copied
btw, you can show that functions in as3?