[Jobs]: Jobs perftests

This CL adds Jobs API perftests as a way to show use case and
measure performance overhead.

Local results (mac laptop):

Naive:
No-Op = 4627 tasks/ms
BusyWait = 793 tasks/ms

Dynamic:
No-Op= 14771 tasks/ms
No-Op disrupted= 14285 tasks/ms
BusyWait= 791 tasks/ms
BusyWait+disrupted= 750 tasks/ms

Loop around:
No-Op= 14044 tasks/ms
No-Op disrupted= 13386 tasks/ms
BusyWait= 773 tasks/ms
BusyWait disrupted= 729 tasks/ms

Change-Id: I0d625293fa95dc5a4f4f8dfc01eb84b9b5d438f1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1943539
Reviewed-by: Gabriel Charette <[email protected]>
Reviewed-by: François Doray <[email protected]>
Commit-Queue: Etienne Pierre-Doray <[email protected]>
Cr-Commit-Position: refs/heads/master@{#756817}
diff --git a/docs/threading_and_tasks.md b/docs/threading_and_tasks.md
index 5c8f0b3..60d4ddf 100644
--- a/docs/threading_and_tasks.md
+++ b/docs/threading_and_tasks.md
@@ -640,6 +640,9 @@
   to be fair to multiple same-priority requests and/or ability to request lower
   priority work to yield when high priority work comes in.
 
+See [`base/task/job_perftest.cc`](https://cs.chromium.org/chromium/src/base/task/job_perftest.cc)
+for a complete example.
+
 ```cpp
 // A canonical implementation of |worker_task|.
 void WorkerTask(base::JobDelegate* job_delegate) {