What does "basic computational steps" mean in the spec for Java class ForkJoinTask?

Viewed 792

I have been using Java7's Fork/Join concurrency framework, and it works well. I finally got around to reading the API's javadoc for ForkJoinTask, and it contains this paragraph:

ForkJoinTasks should perform relatively small amounts of computation. Large tasks should be split into smaller subtasks, usually via recursive decomposition. As a very rough rule of thumb, a task should perform more than 100 and less than 10000 basic computational steps, and should avoid indefinite looping. If tasks are too big, then parallelism cannot improve throughput. If too small, then memory and internal task maintenance overhead may overwhelm processing.

I understand all that, except for the bold text. What exactly is a "basic computational step"? Is it a generic computer science term, or is it specific to Java? How does it relate to byte code, lines of source code, source code statements, etc..?

An example might be as useful as a formal definition. Can anyone conjure up a few lines of Java and then break it down into to the associated "basic computational steps"?

1 Answers
Related