in reply to Re^9: Why this code is so slow if run in thread?
in thread Why this code is so slow if run in thread?
Thanks a lot for your thoughts, and I'm glad you liked the question :). The speed as it is now, maybe up to 5 sec per image, is _quite_ OK. So much time, because application scans 4 narrow edges of large image (to be 100% sure), in both directions (orientations), i.e. 8 partial scans per image, -- very easy to do with PDL slicing and "get_dataref" -- they do all rotation and cropping. Text is, indeed, simple, but its size, position, etc. are unknown.
Spending time on PDL source (for which I'm not qualified enough, anyway), will be an overkill. It was just that, BEFORE knowing why it was so slow, I was a little frustrated that 2 workers (no more, because they also do some other stuff and can consume lots of memory) i.e. threads (max_workers being set to 2 for my descendant of IO::Async::Function, in IO::Async application), each one processing just a single file, blocked the whole queue for _more than 40 minutes_. But, now it is OK.
|
|---|