Skip to content

Settings and activity

1 result found

  1. 109 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    An error occurred while saving the comment
    Jake Cooper commented  · 

    Hi, I'm a cyber security expert and seasoned developer. I'd like to shed some light on this topic from a business standpoint and then provide a solution from a developer standpoint.

    First, in the software development industry it is well known that performance issues lie on the developers. The end users cannot see the back end and-- especially with most of your users being office workers and not computer geeks-- the 100 so people that vote on this is likely 100% of the users who actually understand what multithreading is.

    If anyone else reads this there is no way they will upvote this because 9/10 viewers have likely never heard multithreading in their life.

    A major problem with adobe is it's performance. Most users just brush it off as they aren't aware of the cause of an immediate solution.

    As a major software organization, implementing any parallelization would yield massive performance boosts. You could even do it little by little and every update millions of people would talk about " how smooth the new adobe is "

    Finally... the nerd stuff (yes!). While OCR is the most noticeable tool in need of parallelization, any and all tasks can benefit from it. Here's 2 ways you implement it very simply:
    1. Monitor the OS resources. when they reach a certain point, distribute tasks evemly among threads.
    2. Parallelize everything, make a setting for the user to set a max thread count.

    Next, the algorithm. This is one of the simplest things in programming. (I'm sorry if this offends but this is for all readers not just developers)

    Let's say you have a 12 page document.

    Standard single-core OCR looks like this:
    (Instruction, time to complete in seconds)
    OCR page 1, 5s
    Then OCR page 2, 5s
    Then page 3, 5s
    Then page 4, 5s
    Etc...
    At 5s per page, 12 pages takes an entire minute

    Each page is done sequentially. It is a very simple algorithm as it is entirely linear.

    Here's how a multiprocessed OCR would look with a 6 core processor:
    First you make a function or job that does this:
    If the # of pages we've ocr'ed so far aren't equal to the number of pages we need to OCR, then add one to the number of pages we've done and OCR the page of that same number.
    Otherwise, don't do anything

    Then, you simply assign that job to every core.

    What happens then?
    When the first core takes its job, it won't ocr any other papers for 5 seconds (until it finishes it's paper), but it still increments the papers done so far to 1.

    This means the second core will get page 2 and 3 gets page 3 ending at six setting the pages we've done to six.

    After 5 seconds, core 1 checks how many pages we've done and sees we haven't got all 12. It adds one to the number we've done, making it seven. The other cores finish their first task and follow suit.

    This time, we have ocr'ed 12 pages total.meaning core 1 won't do anything else.neither will the other cores

    Each core ocr'ed 2 pages. What took the current adobe algorithm 1 whole minute takes the industry standard only 10 seconds to complete.

    Final words:
    If adobe devs plan to wait for their users to vote en masse dor multithreading to be implement, then we will never ever see multithreading and people will absolutely leave adobe as it gets left behind the current generation.

    Adobe has the manpower, financial power, and technical prowess to implement this--yet they choose to wait for hr reps (general adobe users) to tell them how to do their job.

    Unfortunately, the industry is changing and those who choose not to change with it will be left behind

    Jake Cooper supported this idea  ·