WEBVTT

1
00:00:00.000 --> 00:00:07.300
This overview explains when eager and lazy paths
perform the work required by a completed request.

2
00:00:07.300 --> 00:00:14.967
Deferring an operation can reduce unnecessary work,
but it cannot erase work the requested output still needs.

3
00:00:14.967 --> 00:00:14.967
Deferring an operation can reduce unnecessary work,
but it cannot erase work the requested output still needs.

4
00:00:15.267 --> 00:00:19.633
Suppose a caller requests the complete vector for A and B.

5
00:00:19.633 --> 00:00:24.400
The required output is zero zero zero one in the declared order.

6
00:00:24.400 --> 00:00:29.033
The comparison must end with those four bits available to the caller, regardless of how

7
00:00:29.033 --> 00:00:32.233
the method schedules its work.

8
00:00:32.233 --> 00:00:36.167
An eager path computes and stores the vector immediately.

9
00:00:36.167 --> 00:00:40.700
Its constructor or preparation step may therefore look expensive because it has already

10
00:00:40.700 --> 00:00:44.000
performed work that the caller ultimately needs.

11
00:00:44.000 --> 00:00:48.067
The timing boundary must make that work visible.

12
00:00:48.067 --> 00:00:52.400
A deferred path initially stores an operation describing the vector.

13
00:00:52.400 --> 00:00:56.600
This may be quick, but the four output bits have not yet been delivered.

14
00:00:56.600 --> 00:01:01.000
When the caller asks to read the vector, the pending work must run.

15
00:01:01.000 --> 00:01:06.052
Compare both paths through that materialization step.

16
00:01:06.052 --> 00:01:06.067
Compare both paths through that materialization step.

17
00:01:06.067 --> 00:01:12.167
Eager construction performs aligned array
work while building its representation.

18
00:01:12.167 --> 00:01:18.233
A lazy path defers work until the requested result needs materialization.

19
00:01:18.233 --> 00:01:24.233
The two timelines compare identical inputs and the same required output.

20
00:01:24.233 --> 00:01:30.100
Here, the four-input example requires all 16 truth outputs.

21
00:01:30.100 --> 00:01:36.600
The eager path performs construction and aligned
array work before the request completes.

22
00:01:36.600 --> 00:01:45.300
The lazy path first retains a deferred structure, then materializes
the full array when the complete output is requested.

23
00:01:45.300 --> 00:01:52.033
Both finished grids must agree at every
address, including 1011 with output one.

24
00:01:52.033 --> 00:01:56.067
A deferred cost has moved, not vanished.

25
00:01:56.067 --> 00:02:02.667
If a task never requests a full array, its
obligations differ from the task that does.

26
00:02:02.667 --> 00:02:05.967
Time preparation, request execution and

27
00:02:05.967 --> 00:02:13.933
extraction explicitly rather than crediting a lazy
path for leaving a required step unfinished.

28
00:02:14.237 --> 00:02:19.163
Return to the opening two-input rule F equals A and B.

29
00:02:19.163 --> 00:02:23.346
This is separate from the intervening four-input contract.

30
00:02:23.346 --> 00:02:27.309
The complete two-input vector is zero zero zero one.

31
00:02:27.309 --> 00:02:31.806
If this object is never read, deferred calculation can avoid work.

32
00:02:31.806 --> 00:02:36.253
We will next change the caller to a point query.

33
00:02:37.003 --> 00:02:44.669
If the caller only needs input one zero, a point evaluator can compute zero without delivering the whole vector.

34
00:02:44.669 --> 00:02:52.455
This is a legitimate task change, but a point answer cannot be reported as completion of the earlier full-vector request.

35
00:02:53.205 --> 00:02:58.549
Repeated full reads can favor retaining materialized data after the first read.

36
00:02:58.549 --> 00:03:04.717
The useful boundary depends on the object's lifetime and whether later reads actually reuse it.

37
00:03:04.717 --> 00:03:11.149
Deferred and eager describe scheduling choices; they are not permanent speed rankings.

38
00:03:11.149 --> 00:03:11.151
Deferred and eager describe scheduling choices; they are not permanent speed rankings.

39
00:03:11.151 --> 00:03:14.384
Compare the same delivered result.

40
00:03:14.384 --> 00:03:22.351
Include deferred materialization, extraction,
and preparation where the lifecycle requires them.
