WEBVTT
Kind: captions
Language: en

00:00:00.210 --> 00:00:20.130 align:start position:0%
 
[Music]

00:00:20.130 --> 00:00:20.140 align:start position:0%
 
 

00:00:20.140 --> 00:00:23.410 align:start position:0%
 
hello<00:00:21.170><c> they're</c><00:00:21.860><c> subjecting</c><00:00:22.580><c> me</c><00:00:22.850><c> to</c><00:00:22.880><c> this</c>

00:00:23.410 --> 00:00:23.420 align:start position:0%
hello they're subjecting me to this
 

00:00:23.420 --> 00:00:26.040 align:start position:0%
hello they're subjecting me to this
again<00:00:24.250><c> and</c>

00:00:26.040 --> 00:00:26.050 align:start position:0%
again and
 

00:00:26.050 --> 00:00:28.630 align:start position:0%
again and
the<00:00:27.050><c> title</c><00:00:27.680><c> was</c><00:00:27.950><c> supposed</c><00:00:28.340><c> to</c><00:00:28.430><c> be</c><00:00:28.610><c> a</c>

00:00:28.630 --> 00:00:28.640 align:start position:0%
the title was supposed to be a
 

00:00:28.640 --> 00:00:31.810 align:start position:0%
the title was supposed to be a
placeholder<00:00:29.000><c> but</c><00:00:29.750><c> George</c><00:00:30.140><c> he</c><00:00:31.130><c> liked</c><00:00:31.369><c> it</c><00:00:31.579><c> so</c>

00:00:31.810 --> 00:00:31.820 align:start position:0%
placeholder but George he liked it so
 

00:00:31.820 --> 00:00:35.040 align:start position:0%
placeholder but George he liked it so
much<00:00:31.880><c> he</c><00:00:32.480><c> made</c><00:00:33.230><c> me</c><00:00:33.560><c> keep</c><00:00:33.740><c> it</c>

00:00:35.040 --> 00:00:35.050 align:start position:0%
much he made me keep it
 

00:00:35.050 --> 00:00:38.200 align:start position:0%
much he made me keep it
louder<00:00:36.050><c> louder</c><00:00:36.620><c> I</c><00:00:37.130><c> was</c><00:00:37.640><c> supposed</c><00:00:37.970><c> to</c><00:00:38.030><c> have</c><00:00:38.150><c> a</c>

00:00:38.200 --> 00:00:38.210 align:start position:0%
louder louder I was supposed to have a
 

00:00:38.210 --> 00:00:40.420 align:start position:0%
louder louder I was supposed to have a
headset<00:00:38.480><c> too</c><00:00:39.050><c> so</c><00:00:39.320><c> I</c><00:00:39.380><c> didn't</c><00:00:39.650><c> have</c><00:00:39.739><c> to</c><00:00:39.920><c> do</c><00:00:40.100><c> this</c>

00:00:40.420 --> 00:00:40.430 align:start position:0%
headset too so I didn't have to do this
 

00:00:40.430 --> 00:00:42.540 align:start position:0%
headset too so I didn't have to do this
but<00:00:41.180><c> here</c><00:00:41.600><c> we</c><00:00:41.750><c> are</c>

00:00:42.540 --> 00:00:42.550 align:start position:0%
but here we are
 

00:00:42.550 --> 00:00:46.000 align:start position:0%
but here we are
my<00:00:43.550><c> job</c><00:00:43.970><c> when</c><00:00:44.300><c> I</c><00:00:44.329><c> got</c><00:00:44.720><c> here</c><00:00:45.079><c> was</c><00:00:45.320><c> to</c><00:00:45.560><c> take</c><00:00:45.800><c> this</c>

00:00:46.000 --> 00:00:46.010 align:start position:0%
my job when I got here was to take this
 

00:00:46.010 --> 00:00:49.990 align:start position:0%
my job when I got here was to take this
interpreter<00:00:47.000><c> and</c><00:00:47.210><c> make</c><00:00:47.930><c> it</c><00:00:48.140><c> go</c><00:00:48.760><c> faster</c><00:00:49.760><c> I</c>

00:00:49.990 --> 00:00:50.000 align:start position:0%
interpreter and make it go faster I
 

00:00:50.000 --> 00:00:52.870 align:start position:0%
interpreter and make it go faster I
wanted<00:00:50.960><c> to</c><00:00:51.080><c> make</c><00:00:51.230><c> it</c><00:00:51.410><c> scream</c><00:00:51.830><c> like</c><00:00:52.280><c> this</c><00:00:52.340><c> this</c>

00:00:52.870 --> 00:00:52.880 align:start position:0%
wanted to make it scream like this this
 

00:00:52.880 --> 00:00:54.880 align:start position:0%
wanted to make it scream like this this
was<00:00:53.060><c> exactly</c><00:00:53.390><c> the</c><00:00:53.810><c> image</c><00:00:54.110><c> I</c><00:00:54.260><c> had</c><00:00:54.440><c> in</c><00:00:54.470><c> mind</c>

00:00:54.880 --> 00:00:54.890 align:start position:0%
was exactly the image I had in mind
 

00:00:54.890 --> 00:00:57.340 align:start position:0%
was exactly the image I had in mind
there<00:00:55.520><c> was</c><00:00:55.580><c> a</c><00:00:55.640><c> kid</c><00:00:55.910><c> in</c><00:00:56.030><c> junior</c><00:00:56.360><c> high</c><00:00:56.570><c> r2</c><00:00:57.080><c> just</c>

00:00:57.340 --> 00:00:57.350 align:start position:0%
there was a kid in junior high r2 just
 

00:00:57.350 --> 00:00:59.410 align:start position:0%
there was a kid in junior high r2 just
drew<00:00:57.560><c> pictures</c><00:00:57.800><c> like</c><00:00:58.190><c> this</c><00:00:58.400><c> over</c><00:00:58.850><c> and</c><00:00:59.000><c> over</c><00:00:59.240><c> I</c>

00:00:59.410 --> 00:00:59.420 align:start position:0%
drew pictures like this over and over I
 

00:00:59.420 --> 00:01:02.880 align:start position:0%
drew pictures like this over and over I
love<00:00:59.690><c> them</c><00:00:59.960><c> the</c><00:01:00.650><c> art</c><00:01:00.800><c> teacher</c><00:01:00.860><c> didn't</c><00:01:01.720><c> and</c>

00:01:02.880 --> 00:01:02.890 align:start position:0%
love them the art teacher didn't and
 

00:01:02.890 --> 00:01:05.649 align:start position:0%
love them the art teacher didn't and
there's<00:01:03.890><c> a</c><00:01:03.950><c> little</c><00:01:04.159><c> video</c><00:01:04.369><c> you</c><00:01:04.580><c> can</c><00:01:04.939><c> play</c><00:01:05.180><c> here</c>

00:01:05.649 --> 00:01:05.659 align:start position:0%
there's a little video you can play here
 

00:01:05.659 --> 00:01:07.330 align:start position:0%
there's a little video you can play here
this<00:01:05.990><c> is</c><00:01:06.170><c> the</c><00:01:06.380><c> chip</c><00:01:06.650><c> that</c><00:01:06.890><c> I'm</c><00:01:07.009><c> competing</c>

00:01:07.330 --> 00:01:07.340 align:start position:0%
this is the chip that I'm competing
 

00:01:07.340 --> 00:01:08.910 align:start position:0%
this is the chip that I'm competing
against

00:01:08.910 --> 00:01:08.920 align:start position:0%
against
 

00:01:08.920 --> 00:01:13.480 align:start position:0%
against
there's<00:01:09.920><c> no</c><00:01:10.070><c> sound</c><00:01:10.479><c> it's</c><00:01:11.479><c> screaming</c><00:01:12.049><c> oh</c><00:01:12.590><c> well</c>

00:01:13.480 --> 00:01:13.490 align:start position:0%
there's no sound it's screaming oh well
 

00:01:13.490 --> 00:01:16.980 align:start position:0%
there's no sound it's screaming oh well
you<00:01:14.240><c> don't</c><00:01:14.420><c> get</c><00:01:14.630><c> to</c><00:01:14.689><c> enjoy</c><00:01:15.049><c> the</c><00:01:15.259><c> sound</c>

00:01:16.980 --> 00:01:16.990 align:start position:0%
you don't get to enjoy the sound
 

00:01:16.990 --> 00:01:19.870 align:start position:0%
you don't get to enjoy the sound
well<00:01:17.990><c> I</c><00:01:18.049><c> had</c><00:01:18.290><c> it</c><00:01:18.380><c> was</c><00:01:18.500><c> a</c><00:01:18.530><c> jet</c><00:01:18.950><c> this</c><00:01:19.640><c> is</c><00:01:19.700><c> a</c>

00:01:19.870 --> 00:01:19.880 align:start position:0%
well I had it was a jet this is a
 

00:01:19.880 --> 00:01:22.690 align:start position:0%
well I had it was a jet this is a
plymouth<00:01:20.390><c> belvedere</c><00:01:21.320><c> it's</c><00:01:22.159><c> a</c><00:01:22.280><c> comfortable</c>

00:01:22.690 --> 00:01:22.700 align:start position:0%
plymouth belvedere it's a comfortable
 

00:01:22.700 --> 00:01:24.810 align:start position:0%
plymouth belvedere it's a comfortable
family<00:01:23.030><c> sedan</c>

00:01:24.810 --> 00:01:24.820 align:start position:0%
family sedan
 

00:01:24.820 --> 00:01:27.960 align:start position:0%
family sedan
compared<00:01:25.820><c> the</c><00:01:25.940><c> digit</c><00:01:26.390><c> it</c><00:01:26.930><c> looked</c><00:01:27.140><c> like</c><00:01:27.350><c> this</c>

00:01:27.960 --> 00:01:27.970 align:start position:0%
compared the digit it looked like this
 

00:01:27.970 --> 00:01:31.120 align:start position:0%
compared the digit it looked like this
it<00:01:28.970><c> was</c><00:01:29.180><c> pathetic</c><00:01:29.810><c> it</c><00:01:30.229><c> was</c><00:01:30.409><c> really</c><00:01:30.950><c> pathetic</c>

00:01:31.120 --> 00:01:31.130 align:start position:0%
it was pathetic it was really pathetic
 

00:01:31.130 --> 00:01:35.160 align:start position:0%
it was pathetic it was really pathetic
and

00:01:35.160 --> 00:01:35.170 align:start position:0%
 
 

00:01:35.170 --> 00:01:37.920 align:start position:0%
 
what<00:01:36.170><c> was</c><00:01:36.290><c> I</c><00:01:36.409><c> going</c><00:01:36.620><c> to</c><00:01:36.740><c> do</c>

00:01:37.920 --> 00:01:37.930 align:start position:0%
what was I going to do
 

00:01:37.930 --> 00:01:42.160 align:start position:0%
what was I going to do
okay<00:01:39.130><c> to</c><00:01:40.130><c> make</c><00:01:40.310><c> it</c><00:01:40.490><c> faster</c><00:01:41.180><c> the</c><00:01:41.300><c> first</c><00:01:41.570><c> thing</c><00:01:41.990><c> I</c>

00:01:42.160 --> 00:01:42.170 align:start position:0%
okay to make it faster the first thing I
 

00:01:42.170 --> 00:01:43.530 align:start position:0%
okay to make it faster the first thing I
wanted<00:01:42.560><c> to</c><00:01:42.740><c> do</c>

00:01:43.530 --> 00:01:43.540 align:start position:0%
wanted to do
 

00:01:43.540 --> 00:01:46.570 align:start position:0%
wanted to do
is<00:01:44.540><c> I</c><00:01:44.630><c> didn't</c><00:01:45.140><c> really</c><00:01:45.170><c> know</c><00:01:45.650><c> how</c><00:01:46.159><c> the</c><00:01:46.220><c> code</c>

00:01:46.570 --> 00:01:46.580 align:start position:0%
is I didn't really know how the code
 

00:01:46.580 --> 00:01:49.840 align:start position:0%
is I didn't really know how the code
worked<00:01:47.170><c> I</c><00:01:48.170><c> couldn't</c><00:01:48.830><c> really</c><00:01:48.979><c> understand</c><00:01:49.700><c> the</c>

00:01:49.840 --> 00:01:49.850 align:start position:0%
worked I couldn't really understand the
 

00:01:49.850 --> 00:01:52.180 align:start position:0%
worked I couldn't really understand the
yellow<00:01:50.120><c> paper</c><00:01:50.420><c> some</c><00:01:51.320><c> people</c><00:01:51.650><c> tell</c><00:01:51.860><c> me</c><00:01:51.890><c> it's</c>

00:01:52.180 --> 00:01:52.190 align:start position:0%
yellow paper some people tell me it's
 

00:01:52.190 --> 00:01:54.640 align:start position:0%
yellow paper some people tell me it's
wonderful<00:01:52.460><c> but</c><00:01:53.090><c> I'm</c><00:01:53.420><c> a</c><00:01:53.479><c> machinist</c><00:01:54.200><c> not</c><00:01:54.620><c> a</c>

00:01:54.640 --> 00:01:54.650 align:start position:0%
wonderful but I'm a machinist not a
 

00:01:54.650 --> 00:01:55.830 align:start position:0%
wonderful but I'm a machinist not a
mathematician

00:01:55.830 --> 00:01:55.840 align:start position:0%
mathematician
 

00:01:55.840 --> 00:02:00.070 align:start position:0%
mathematician
so<00:01:56.840><c> the</c><00:01:56.990><c> idea</c><00:01:57.440><c> was</c><00:01:57.860><c> a</c><00:01:58.400><c> small</c><00:01:59.000><c> series</c><00:01:59.600><c> of</c>

00:02:00.070 --> 00:02:00.080 align:start position:0%
so the idea was a small series of
 

00:02:00.080 --> 00:02:02.910 align:start position:0%
so the idea was a small series of
correctness<00:02:01.040><c> preserving</c><00:02:01.850><c> transformations</c>

00:02:02.910 --> 00:02:02.920 align:start position:0%
correctness preserving transformations
 

00:02:02.920 --> 00:02:05.440 align:start position:0%
correctness preserving transformations
assuming<00:02:03.920><c> the</c><00:02:04.040><c> code</c><00:02:04.250><c> was</c><00:02:04.520><c> correct</c><00:02:04.940><c> to</c><00:02:05.090><c> begin</c>

00:02:05.440 --> 00:02:05.450 align:start position:0%
assuming the code was correct to begin
 

00:02:05.450 --> 00:02:08.770 align:start position:0%
assuming the code was correct to begin
with<00:02:05.750><c> I</c><00:02:06.080><c> make</c><00:02:06.530><c> a</c><00:02:06.560><c> small</c><00:02:06.830><c> change</c><00:02:07.010><c> and</c><00:02:07.940><c> I</c><00:02:08.479><c> run</c><00:02:08.750><c> a</c>

00:02:08.770 --> 00:02:08.780 align:start position:0%
with I make a small change and I run a
 

00:02:08.780 --> 00:02:12.520 align:start position:0%
with I make a small change and I run a
test<00:02:09.170><c> and</c><00:02:09.640><c> Dmitry</c><00:02:10.640><c> here</c><00:02:11.120><c> had</c><00:02:11.659><c> a</c><00:02:11.689><c> wonderful</c>

00:02:12.520 --> 00:02:12.530 align:start position:0%
test and Dmitry here had a wonderful
 

00:02:12.530 --> 00:02:16.030 align:start position:0%
test and Dmitry here had a wonderful
suite<00:02:12.860><c> of</c><00:02:13.040><c> tests</c><00:02:13.580><c> I'm</c><00:02:14.090><c> not</c><00:02:14.360><c> sure</c><00:02:14.750><c> how</c><00:02:15.530><c> many</c><00:02:15.739><c> how</c>

00:02:16.030 --> 00:02:16.040 align:start position:0%
suite of tests I'm not sure how many how
 

00:02:16.040 --> 00:02:19.119 align:start position:0%
suite of tests I'm not sure how many how
many<00:02:16.069><c> tests</c><00:02:16.640><c> are</c><00:02:16.819><c> there</c><00:02:17.030><c> Dmitry</c><00:02:17.720><c> I</c><00:02:17.930><c> know</c><00:02:18.860><c> at</c>

00:02:19.119 --> 00:02:19.129 align:start position:0%
many tests are there Dmitry I know at
 

00:02:19.129 --> 00:02:22.660 align:start position:0%
many tests are there Dmitry I know at
one<00:02:19.159><c> point</c><00:02:19.340><c> I</c><00:02:19.790><c> broke</c><00:02:20.060><c> thousands</c><00:02:20.870><c> of</c><00:02:21.049><c> them</c><00:02:21.670><c> and</c>

00:02:22.660 --> 00:02:22.670 align:start position:0%
one point I broke thousands of them and
 

00:02:22.670 --> 00:02:25.750 align:start position:0%
one point I broke thousands of them and
I<00:02:23.540><c> wasn't</c><00:02:23.780><c> looking</c><00:02:24.110><c> to</c><00:02:24.349><c> make</c><00:02:24.620><c> any</c><00:02:24.860><c> structural</c>

00:02:25.750 --> 00:02:25.760 align:start position:0%
I wasn't looking to make any structural
 

00:02:25.760 --> 00:02:28.670 align:start position:0%
I wasn't looking to make any structural
changes<00:02:26.480><c> to</c><00:02:26.540><c> the</c><00:02:26.810><c> machine</c>

00:02:28.670 --> 00:02:28.680 align:start position:0%
changes to the machine
 

00:02:28.680 --> 00:02:32.640 align:start position:0%
changes to the machine
just<00:02:29.680><c> make</c><00:02:30.220><c> just</c><00:02:31.209><c> get</c><00:02:31.510><c> out</c><00:02:31.750><c> of</c><00:02:31.780><c> the</c><00:02:32.140><c> way</c>

00:02:32.640 --> 00:02:32.650 align:start position:0%
just make just get out of the way
 

00:02:32.650 --> 00:02:34.470 align:start position:0%
just make just get out of the way
anything<00:02:33.310><c> that</c><00:02:33.549><c> was</c><00:02:33.670><c> hurting</c><00:02:34.090><c> the</c>

00:02:34.470 --> 00:02:34.480 align:start position:0%
anything that was hurting the
 

00:02:34.480 --> 00:02:37.830 align:start position:0%
anything that was hurting the
performance<00:02:35.310><c> a</c><00:02:36.310><c> lot</c><00:02:36.790><c> of</c><00:02:36.939><c> it</c><00:02:37.090><c> a</c><00:02:37.269><c> lot</c><00:02:37.390><c> of</c><00:02:37.629><c> the</c>

00:02:37.830 --> 00:02:37.840 align:start position:0%
performance a lot of it a lot of the
 

00:02:37.840 --> 00:02:39.809 align:start position:0%
performance a lot of it a lot of the
instructions<00:02:38.620><c> were</c><00:02:38.890><c> using</c><00:02:39.340><c> infinite</c>

00:02:39.809 --> 00:02:39.819 align:start position:0%
instructions were using infinite
 

00:02:39.819 --> 00:02:42.740 align:start position:0%
instructions were using infinite
precision<00:02:39.970><c> arithmetic</c>

00:02:42.740 --> 00:02:42.750 align:start position:0%
precision arithmetic
 

00:02:42.750 --> 00:02:45.720 align:start position:0%
precision arithmetic
almost<00:02:43.750><c> none</c><00:02:44.019><c> of</c><00:02:44.049><c> them</c><00:02:44.290><c> needed</c><00:02:44.769><c> to</c><00:02:45.010><c> I</c><00:02:45.280><c> was</c><00:02:45.549><c> able</c>

00:02:45.720 --> 00:02:45.730 align:start position:0%
almost none of them needed to I was able
 

00:02:45.730 --> 00:02:49.670 align:start position:0%
almost none of them needed to I was able
to<00:02:46.000><c> get</c><00:02:46.150><c> away</c><00:02:46.329><c> with</c><00:02:46.659><c> 512</c><00:02:47.650><c> bits</c><00:02:48.329><c> the</c><00:02:49.329><c> gas</c>

00:02:49.670 --> 00:02:49.680 align:start position:0%
to get away with 512 bits the gas
 

00:02:49.680 --> 00:02:52.830 align:start position:0%
to get away with 512 bits the gas
calculations<00:02:50.680><c> were</c><00:02:50.950><c> being</c><00:02:51.190><c> done</c><00:02:51.370><c> with</c><00:02:51.840><c> 256</c>

00:02:52.830 --> 00:02:52.840 align:start position:0%
calculations were being done with 256
 

00:02:52.840 --> 00:02:53.869 align:start position:0%
calculations were being done with 256
bits

00:02:53.869 --> 00:02:53.879 align:start position:0%
bits
 

00:02:53.879 --> 00:02:57.089 align:start position:0%
bits
the<00:02:54.879><c> Go</c><00:02:55.060><c> machine</c><00:02:55.299><c> had</c><00:02:55.840><c> already</c><00:02:56.019><c> switched</c><00:02:56.829><c> to</c>

00:02:57.089 --> 00:02:57.099 align:start position:0%
the Go machine had already switched to
 

00:02:57.099 --> 00:02:59.479 align:start position:0%
the Go machine had already switched to
64<00:02:57.849><c> bits</c>

00:02:59.479 --> 00:02:59.489 align:start position:0%
64 bits
 

00:02:59.489 --> 00:03:01.369 align:start position:0%
64 bits
to<00:03:00.489><c> the</c><00:03:00.670><c> de</c>

00:03:01.369 --> 00:03:01.379 align:start position:0%
to the de
 

00:03:01.379 --> 00:03:03.830 align:start position:0%
to the de
256<00:03:02.379><c> is</c>

00:03:03.830 --> 00:03:03.840 align:start position:0%
256 is
 

00:03:03.840 --> 00:03:06.330 align:start position:0%
256 is
approximately<00:03:04.840><c> the</c><00:03:05.049><c> number</c><00:03:05.079><c> of</c><00:03:05.560><c> atoms</c><00:03:06.040><c> in</c><00:03:06.280><c> the</c>

00:03:06.330 --> 00:03:06.340 align:start position:0%
approximately the number of atoms in the
 

00:03:06.340 --> 00:03:09.119 align:start position:0%
approximately the number of atoms in the
universe<00:03:06.930><c> which</c><00:03:07.930><c> I</c><00:03:08.230><c> thought</c><00:03:08.440><c> was</c><00:03:08.709><c> probably</c>

00:03:09.119 --> 00:03:09.129 align:start position:0%
universe which I thought was probably
 

00:03:09.129 --> 00:03:12.599 align:start position:0%
universe which I thought was probably
more<00:03:09.790><c> gas</c><00:03:10.060><c> than</c><00:03:10.090><c> anybody</c><00:03:10.720><c> was</c><00:03:11.709><c> ever</c><00:03:11.920><c> going</c><00:03:12.280><c> to</c>

00:03:12.599 --> 00:03:12.609 align:start position:0%
more gas than anybody was ever going to
 

00:03:12.609 --> 00:03:14.309 align:start position:0%
more gas than anybody was ever going to
need

00:03:14.309 --> 00:03:14.319 align:start position:0%
need
 

00:03:14.319 --> 00:03:19.259 align:start position:0%
need
so<00:03:14.889><c> in</c><00:03:15.099><c> general</c><00:03:15.840><c> also</c><00:03:16.840><c> there</c><00:03:17.709><c> was</c><00:03:17.980><c> one</c><00:03:18.459><c> routine</c>

00:03:19.259 --> 00:03:19.269 align:start position:0%
so in general also there was one routine
 

00:03:19.269 --> 00:03:21.390 align:start position:0%
so in general also there was one routine
which<00:03:19.659><c> was</c><00:03:19.840><c> doing</c><00:03:20.049><c> all</c><00:03:20.470><c> of</c><00:03:20.500><c> the</c><00:03:20.859><c> gas</c><00:03:21.069><c> and</c>

00:03:21.390 --> 00:03:21.400 align:start position:0%
which was doing all of the gas and
 

00:03:21.400 --> 00:03:24.750 align:start position:0%
which was doing all of the gas and
memory<00:03:22.200><c> computations</c><00:03:23.200><c> it</c><00:03:23.769><c> was</c><00:03:23.980><c> doing</c><00:03:24.400><c> it</c><00:03:24.519><c> for</c>

00:03:24.750 --> 00:03:24.760 align:start position:0%
memory computations it was doing it for
 

00:03:24.760 --> 00:03:27.420 align:start position:0%
memory computations it was doing it for
every<00:03:25.209><c> single</c><00:03:25.440><c> instruction</c><00:03:26.440><c> that</c><00:03:26.590><c> it</c><00:03:26.739><c> ran</c><00:03:27.010><c> and</c>

00:03:27.420 --> 00:03:27.430 align:start position:0%
every single instruction that it ran and
 

00:03:27.430 --> 00:03:30.059 align:start position:0%
every single instruction that it ran and
that<00:03:28.239><c> routine</c><00:03:28.780><c> was</c><00:03:28.810><c> generally</c><00:03:29.799><c> more</c>

00:03:30.059 --> 00:03:30.069 align:start position:0%
that routine was generally more
 

00:03:30.069 --> 00:03:33.990 align:start position:0%
that routine was generally more
expensive<00:03:30.609><c> than</c><00:03:31.569><c> the</c><00:03:31.659><c> computation</c><00:03:32.530><c> itself</c><00:03:33.040><c> so</c>

00:03:33.990 --> 00:03:34.000 align:start position:0%
expensive than the computation itself so
 

00:03:34.000 --> 00:03:36.000 align:start position:0%
expensive than the computation itself so
that<00:03:34.239><c> was</c><00:03:34.480><c> a</c><00:03:34.510><c> matter</c><00:03:34.840><c> of</c><00:03:35.019><c> breaking</c><00:03:35.379><c> it</c><00:03:35.739><c> into</c>

00:03:36.000 --> 00:03:36.010 align:start position:0%
that was a matter of breaking it into
 

00:03:36.010 --> 00:03:38.610 align:start position:0%
that was a matter of breaking it into
little<00:03:36.190><c> pieces</c><00:03:36.310><c> and</c><00:03:37.120><c> running</c><00:03:37.870><c> only</c><00:03:38.049><c> those</c>

00:03:38.610 --> 00:03:38.620 align:start position:0%
little pieces and running only those
 

00:03:38.620 --> 00:03:41.729 align:start position:0%
little pieces and running only those
pieces<00:03:39.010><c> that</c><00:03:39.280><c> were</c><00:03:39.609><c> relevant</c><00:03:40.030><c> to</c><00:03:40.510><c> the</c><00:03:41.290><c> routine</c>

00:03:41.729 --> 00:03:41.739 align:start position:0%
pieces that were relevant to the routine
 

00:03:41.739 --> 00:03:44.629 align:start position:0%
pieces that were relevant to the routine
that<00:03:42.400><c> I</c><00:03:42.549><c> was</c><00:03:42.699><c> trying</c><00:03:42.940><c> to</c><00:03:43.209><c> run</c>

00:03:44.629 --> 00:03:44.639 align:start position:0%
that I was trying to run
 

00:03:44.639 --> 00:03:46.550 align:start position:0%
that I was trying to run
doo<00:03:45.639><c> doo</c>

00:03:46.550 --> 00:03:46.560 align:start position:0%
doo doo
 

00:03:46.560 --> 00:03:49.729 align:start position:0%
doo doo
there<00:03:47.560><c> it</c><00:03:47.769><c> goes</c><00:03:48.010><c> and</c><00:03:48.340><c> so</c><00:03:49.060><c> when</c><00:03:49.269><c> you're</c><00:03:49.419><c> done</c>

00:03:49.729 --> 00:03:49.739 align:start position:0%
there it goes and so when you're done
 

00:03:49.739 --> 00:03:52.500 align:start position:0%
there it goes and so when you're done
you've<00:03:50.739><c> stripped</c><00:03:51.099><c> out</c><00:03:51.400><c> everything</c><00:03:52.150><c> from</c><00:03:52.389><c> that</c>

00:03:52.500 --> 00:03:52.510 align:start position:0%
you've stripped out everything from that
 

00:03:52.510 --> 00:03:54.689 align:start position:0%
you've stripped out everything from that
Belvedere<00:03:53.260><c> that</c><00:03:53.530><c> was</c><00:03:53.650><c> in</c><00:03:53.829><c> the</c><00:03:53.949><c> way</c><00:03:54.099><c> of</c><00:03:54.280><c> making</c>

00:03:54.689 --> 00:03:54.699 align:start position:0%
Belvedere that was in the way of making
 

00:03:54.699 --> 00:03:57.839 align:start position:0%
Belvedere that was in the way of making
it<00:03:54.730><c> go</c><00:03:54.940><c> faster</c><00:03:55.599><c> and</c><00:03:55.870><c> you</c><00:03:56.739><c> have</c><00:03:56.980><c> the</c><00:03:57.310><c> roadrunner</c>

00:03:57.839 --> 00:03:57.849 align:start position:0%
it go faster and you have the roadrunner
 

00:03:57.849 --> 00:04:00.809 align:start position:0%
it go faster and you have the roadrunner
which<00:03:58.510><c> was</c><00:03:58.780><c> Plymouth's</c><00:03:59.620><c> attempt</c><00:03:59.980><c> to</c><00:04:00.250><c> compete</c>

00:04:00.809 --> 00:04:00.819 align:start position:0%
which was Plymouth's attempt to compete
 

00:04:00.819 --> 00:04:05.270 align:start position:0%
which was Plymouth's attempt to compete
with<00:04:01.060><c> the</c><00:04:01.209><c> Dodge</c><00:04:01.440><c> Charger</c><00:04:02.440><c> and</c>

00:04:05.270 --> 00:04:05.280 align:start position:0%
 
 

00:04:05.280 --> 00:04:09.119 align:start position:0%
 
it<00:04:06.280><c> did</c><00:04:06.549><c> pretty</c><00:04:06.790><c> well</c><00:04:06.940><c> yeah</c><00:04:07.870><c> and</c><00:04:08.349><c> this</c><00:04:08.739><c> is</c><00:04:08.799><c> the</c>

00:04:09.119 --> 00:04:09.129 align:start position:0%
it did pretty well yeah and this is the
 

00:04:09.129 --> 00:04:11.369 align:start position:0%
it did pretty well yeah and this is the
interpreter<00:04:09.790><c> which</c><00:04:10.239><c> is</c><00:04:10.419><c> shipping</c><00:04:10.810><c> in</c><00:04:10.959><c> today's</c>

00:04:11.369 --> 00:04:11.379 align:start position:0%
interpreter which is shipping in today's
 

00:04:11.379 --> 00:04:12.649 align:start position:0%
interpreter which is shipping in today's
code

00:04:12.649 --> 00:04:12.659 align:start position:0%
code
 

00:04:12.659 --> 00:04:15.659 align:start position:0%
code
the<00:04:13.659><c> loop</c><00:04:13.900><c> test</c><00:04:14.290><c> it's</c><00:04:14.799><c> hard</c><00:04:15.040><c> to</c><00:04:15.220><c> make</c><00:04:15.400><c> much</c>

00:04:15.659 --> 00:04:15.669 align:start position:0%
the loop test it's hard to make much
 

00:04:15.669 --> 00:04:18.779 align:start position:0%
the loop test it's hard to make much
faster<00:04:16.299><c> it</c><00:04:16.570><c> just</c><00:04:16.840><c> goes</c><00:04:17.049><c> in</c><00:04:17.289><c> a</c><00:04:17.380><c> circle</c><00:04:17.859><c> and</c><00:04:18.070><c> the</c>

00:04:18.779 --> 00:04:18.789 align:start position:0%
faster it just goes in a circle and the
 

00:04:18.789 --> 00:04:21.180 align:start position:0%
faster it just goes in a circle and the
jet<00:04:19.030><c> sees</c><00:04:19.299><c> that</c><00:04:19.599><c> circle</c><00:04:20.139><c> and</c><00:04:20.260><c> reduces</c><00:04:20.859><c> it</c><00:04:21.039><c> to</c>

00:04:21.180 --> 00:04:21.190 align:start position:0%
jet sees that circle and reduces it to
 

00:04:21.190 --> 00:04:24.810 align:start position:0%
jet sees that circle and reduces it to
almost<00:04:21.310><c> nothing</c><00:04:22.300><c> the</c><00:04:23.110><c> R&amp;G</c><00:04:23.620><c> test</c><00:04:24.220><c> is</c><00:04:24.669><c> a</c><00:04:24.699><c> little</c>

00:04:24.810 --> 00:04:24.820 align:start position:0%
almost nothing the R&amp;G test is a little
 

00:04:24.820 --> 00:04:27.870 align:start position:0%
almost nothing the R&amp;G test is a little
random<00:04:25.270><c> number</c><00:04:25.900><c> generator</c><00:04:26.530><c> old-style</c><00:04:27.370><c> news</c>

00:04:27.870 --> 00:04:27.880 align:start position:0%
random number generator old-style news
 

00:04:27.880 --> 00:04:30.860 align:start position:0%
random number generator old-style news
generator<00:04:28.599><c> just</c><00:04:29.409><c> as</c><00:04:29.560><c> a</c><00:04:29.590><c> lot</c><00:04:29.860><c> of</c><00:04:29.889><c> computation</c>

00:04:30.860 --> 00:04:30.870 align:start position:0%
generator just as a lot of computation
 

00:04:30.870 --> 00:04:34.080 align:start position:0%
generator just as a lot of computation
that's<00:04:31.870><c> respectably</c><00:04:32.770><c> faster</c><00:04:33.490><c> not</c><00:04:33.820><c> where</c><00:04:34.060><c> I</c>

00:04:34.080 --> 00:04:34.090 align:start position:0%
that's respectably faster not where I
 

00:04:34.090 --> 00:04:37.920 align:start position:0%
that's respectably faster not where I
wanted<00:04:34.539><c> it</c><00:04:34.720><c> the</c><00:04:35.380><c> RC</c><00:04:35.740><c> 5</c><00:04:36.070><c> interpreter</c><00:04:36.969><c> is</c><00:04:37.300><c> the</c>

00:04:37.920 --> 00:04:37.930 align:start position:0%
wanted it the RC 5 interpreter is the
 

00:04:37.930 --> 00:04:41.540 align:start position:0%
wanted it the RC 5 interpreter is the
old<00:04:38.050><c> RC</c><00:04:38.560><c> 5</c><00:04:38.800><c> cipher</c><00:04:39.520><c> so</c><00:04:40.380><c> it's</c><00:04:40.770><c> not</c><00:04:40.980><c> much</c><00:04:41.220><c> used</c>

00:04:41.540 --> 00:04:41.550 align:start position:0%
old RC 5 cipher so it's not much used
 

00:04:41.550 --> 00:04:43.820 align:start position:0%
old RC 5 cipher so it's not much used
anymore<00:04:42.180><c> but</c><00:04:42.450><c> it's</c><00:04:42.600><c> a</c><00:04:42.720><c> good</c><00:04:42.930><c> example</c><00:04:43.080><c> of</c><00:04:43.680><c> an</c>

00:04:43.820 --> 00:04:43.830 align:start position:0%
anymore but it's a good example of an
 

00:04:43.830 --> 00:04:46.330 align:start position:0%
anymore but it's a good example of an
actual<00:04:44.370><c> program</c>

00:04:46.330 --> 00:04:46.340 align:start position:0%
actual program
 

00:04:46.340 --> 00:04:49.870 align:start position:0%
actual program
and<00:04:47.360><c> to</c><00:04:48.360><c> get</c><00:04:48.600><c> from</c><00:04:48.900><c> there</c>

00:04:49.870 --> 00:04:49.880 align:start position:0%
and to get from there
 

00:04:49.880 --> 00:04:54.050 align:start position:0%
and to get from there
the<00:04:50.880><c> approach</c><00:04:51.380><c> was</c><00:04:52.380><c> to</c><00:04:52.980><c> start</c><00:04:53.280><c> making</c><00:04:53.580><c> more</c>

00:04:54.050 --> 00:04:54.060 align:start position:0%
the approach was to start making more
 

00:04:54.060 --> 00:04:57.260 align:start position:0%
the approach was to start making more
actual<00:04:54.780><c> changes</c><00:04:55.620><c> to</c><00:04:55.830><c> the</c><00:04:55.950><c> structure</c><00:04:56.370><c> of</c><00:04:57.000><c> the</c>

00:04:57.260 --> 00:04:57.270 align:start position:0%
actual changes to the structure of the
 

00:04:57.270 --> 00:05:01.430 align:start position:0%
actual changes to the structure of the
interpreter<00:04:58.050><c> so</c><00:04:58.770><c> I</c><00:04:58.800><c> wanted</c><00:04:59.430><c> some</c><00:05:00.240><c> new</c><00:05:00.440><c> faster</c>

00:05:01.430 --> 00:05:01.440 align:start position:0%
interpreter so I wanted some new faster
 

00:05:01.440 --> 00:05:05.960 align:start position:0%
interpreter so I wanted some new faster
op<00:05:01.620><c> codes</c><00:05:02.040><c> I</c><00:05:02.840><c> wanted</c><00:05:03.840><c> a</c><00:05:04.080><c> constant</c><00:05:04.830><c> pool</c><00:05:05.040><c> that</c>

00:05:05.960 --> 00:05:05.970 align:start position:0%
op codes I wanted a constant pool that
 

00:05:05.970 --> 00:05:06.700 align:start position:0%
op codes I wanted a constant pool that
is

00:05:06.700 --> 00:05:06.710 align:start position:0%
is
 

00:05:06.710 --> 00:05:09.740 align:start position:0%
is
currently<00:05:07.710><c> if</c><00:05:08.130><c> there's</c><00:05:08.430><c> a</c><00:05:08.490><c> push</c><00:05:08.790><c> instruction</c>

00:05:09.740 --> 00:05:09.750 align:start position:0%
currently if there's a push instruction
 

00:05:09.750 --> 00:05:13.010 align:start position:0%
currently if there's a push instruction
the<00:05:10.290><c> constant</c><00:05:10.950><c> to</c><00:05:11.100><c> be</c><00:05:11.250><c> pushed</c><00:05:11.640><c> is</c><00:05:12.240><c> laid</c><00:05:12.750><c> out</c>

00:05:13.010 --> 00:05:13.020 align:start position:0%
the constant to be pushed is laid out
 

00:05:13.020 --> 00:05:15.980 align:start position:0%
the constant to be pushed is laid out
right<00:05:13.800><c> in</c><00:05:14.040><c> the</c><00:05:14.190><c> byte</c><00:05:14.430><c> code</c><00:05:14.480><c> it's</c><00:05:15.480><c> a</c><00:05:15.720><c> most</c>

00:05:15.980 --> 00:05:15.990 align:start position:0%
right in the byte code it's a most
 

00:05:15.990 --> 00:05:18.890 align:start position:0%
right in the byte code it's a most
significant<00:05:16.680><c> byte</c><00:05:16.920><c> first</c><00:05:17.370><c> order</c><00:05:18.000><c> and</c><00:05:18.300><c> it</c><00:05:18.690><c> has</c>

00:05:18.890 --> 00:05:18.900 align:start position:0%
significant byte first order and it has
 

00:05:18.900 --> 00:05:21.340 align:start position:0%
significant byte first order and it has
to<00:05:19.140><c> be</c><00:05:19.260><c> loaded</c><00:05:19.530><c> up</c><00:05:19.890><c> into</c>

00:05:21.340 --> 00:05:21.350 align:start position:0%
to be loaded up into
 

00:05:21.350 --> 00:05:25.520 align:start position:0%
to be loaded up into
the<00:05:22.350><c> stack</c><00:05:22.650><c> one</c><00:05:23.370><c> byte</c><00:05:23.700><c> at</c><00:05:23.730><c> a</c><00:05:24.000><c> time</c><00:05:24.030><c> so</c><00:05:24.900><c> I</c><00:05:24.930><c> create</c>

00:05:25.520 --> 00:05:25.530 align:start position:0%
the stack one byte at a time so I create
 

00:05:25.530 --> 00:05:26.440 align:start position:0%
the stack one byte at a time so I create
a<00:05:25.560><c> pool</c><00:05:25.890><c> of</c>

00:05:26.440 --> 00:05:26.450 align:start position:0%
a pool of
 

00:05:26.450 --> 00:05:29.840 align:start position:0%
a pool of
pre-loaded<00:05:27.450><c> constants</c><00:05:28.140><c> I</c><00:05:28.500><c> can</c><00:05:29.040><c> index</c><00:05:29.520><c> them</c>

00:05:29.840 --> 00:05:29.850 align:start position:0%
pre-loaded constants I can index them
 

00:05:29.850 --> 00:05:33.230 align:start position:0%
pre-loaded constants I can index them
with<00:05:30.120><c> one</c><00:05:30.390><c> byte</c><00:05:30.720><c> and</c><00:05:31.490><c> move</c><00:05:32.490><c> the</c><00:05:32.730><c> Bandhu</c><00:05:33.090><c> to</c>

00:05:33.230 --> 00:05:33.240 align:start position:0%
with one byte and move the Bandhu to
 

00:05:33.240 --> 00:05:36.220 align:start position:0%
with one byte and move the Bandhu to
stack<00:05:33.510><c> with</c><00:05:33.810><c> a</c><00:05:33.840><c> quick</c><00:05:34.110><c> assignment</c>

00:05:36.220 --> 00:05:36.230 align:start position:0%
stack with a quick assignment
 

00:05:36.230 --> 00:05:39.980 align:start position:0%
stack with a quick assignment
so<00:05:37.230><c> that's</c><00:05:37.710><c> specifically</c><00:05:38.490><c> a</c><00:05:39.000><c> new</c><00:05:39.060><c> push</c><00:05:39.600><c> see</c>

00:05:39.980 --> 00:05:39.990 align:start position:0%
so that's specifically a new push see
 

00:05:39.990 --> 00:05:42.920 align:start position:0%
so that's specifically a new push see
instruction<00:05:40.950><c> that</c><00:05:41.610><c> just</c><00:05:41.850><c> has</c><00:05:42.060><c> that</c><00:05:42.270><c> one</c><00:05:42.540><c> byte</c>

00:05:42.920 --> 00:05:42.930 align:start position:0%
instruction that just has that one byte
 

00:05:42.930 --> 00:05:47.300 align:start position:0%
instruction that just has that one byte
yeah<00:05:43.740><c> so</c><00:05:44.670><c> I</c><00:05:44.730><c> can</c><00:05:44.940><c> just</c><00:05:45.180><c> index</c><00:05:45.690><c> in</c><00:05:46.070><c> the</c><00:05:47.070><c> other</c>

00:05:47.300 --> 00:05:47.310 align:start position:0%
yeah so I can just index in the other
 

00:05:47.310 --> 00:05:50.000 align:start position:0%
yeah so I can just index in the other
thing<00:05:47.670><c> I</c><00:05:47.880><c> did</c><00:05:47.940><c> which</c><00:05:48.630><c> Jeffrey</c><00:05:49.200><c> is</c><00:05:49.320><c> also</c><00:05:49.770><c> done</c>

00:05:50.000 --> 00:05:50.010 align:start position:0%
thing I did which Jeffrey is also done
 

00:05:50.010 --> 00:05:54.110 align:start position:0%
thing I did which Jeffrey is also done
in<00:05:50.220><c> the</c><00:05:50.250><c> go</c><00:05:50.490><c> interpreter</c><00:05:51.300><c> is</c><00:05:51.860><c> that</c><00:05:52.860><c> all</c><00:05:53.670><c> of</c><00:05:53.970><c> the</c>

00:05:54.110 --> 00:05:54.120 align:start position:0%
in the go interpreter is that all of the
 

00:05:54.120 --> 00:05:57.860 align:start position:0%
in the go interpreter is that all of the
jumps<00:05:54.690><c> in</c><00:05:55.020><c> the</c><00:05:55.380><c> evm</c><00:05:55.860><c> are</c><00:05:56.550><c> computed</c><00:05:57.270><c> go</c><00:05:57.510><c> choose</c>

00:05:57.860 --> 00:05:57.870 align:start position:0%
jumps in the evm are computed go choose
 

00:05:57.870 --> 00:06:00.740 align:start position:0%
jumps in the evm are computed go choose
how<00:05:58.650><c> many</c><00:05:58.710><c> Fortran</c><00:05:59.520><c> programmers</c><00:06:00.270><c> left</c><00:06:00.570><c> in</c>

00:06:00.740 --> 00:06:00.750 align:start position:0%
how many Fortran programmers left in
 

00:06:00.750 --> 00:06:01.810 align:start position:0%
how many Fortran programmers left in
this<00:06:00.930><c> room</c>

00:06:01.810 --> 00:06:01.820 align:start position:0%
this room
 

00:06:01.820 --> 00:06:07.540 align:start position:0%
this room
Wow<00:06:03.240><c> three</c><00:06:03.750><c> I</c><00:06:04.340><c> make</c><00:06:05.340><c> four</c><00:06:05.700><c> that's</c><00:06:06.300><c> scary</c>

00:06:07.540 --> 00:06:07.550 align:start position:0%
Wow three I make four that's scary
 

00:06:07.550 --> 00:06:10.340 align:start position:0%
Wow three I make four that's scary
it's<00:06:08.550><c> the</c><00:06:08.640><c> only</c><00:06:08.760><c> language</c><00:06:09.060><c> I</c><00:06:09.420><c> recall</c><00:06:09.840><c> besides</c>

00:06:10.340 --> 00:06:10.350 align:start position:0%
it's the only language I recall besides
 

00:06:10.350 --> 00:06:13.210 align:start position:0%
it's the only language I recall besides
assembly<00:06:11.040><c> with</c><00:06:11.220><c> computed</c><00:06:11.820><c> go</c><00:06:12.030><c> choose</c>

00:06:13.210 --> 00:06:13.220 align:start position:0%
assembly with computed go choose
 

00:06:13.220 --> 00:06:16.040 align:start position:0%
assembly with computed go choose
trouble<00:06:14.220><c> with</c><00:06:14.400><c> the</c><00:06:14.520><c> computed</c><00:06:15.090><c> goto</c><00:06:15.300><c> is</c><00:06:15.840><c> at</c>

00:06:16.040 --> 00:06:16.050 align:start position:0%
trouble with the computed goto is at
 

00:06:16.050 --> 00:06:18.920 align:start position:0%
trouble with the computed goto is at
runtime<00:06:16.320><c> you</c><00:06:17.010><c> have</c><00:06:17.580><c> to</c><00:06:17.760><c> check</c><00:06:18.120><c> as</c><00:06:18.420><c> to</c><00:06:18.480><c> whether</c>

00:06:18.920 --> 00:06:18.930 align:start position:0%
runtime you have to check as to whether
 

00:06:18.930 --> 00:06:21.920 align:start position:0%
runtime you have to check as to whether
the<00:06:19.200><c> go-to</c><00:06:19.440><c> is</c><00:06:19.890><c> going</c><00:06:20.280><c> to</c><00:06:20.520><c> somewhere</c><00:06:20.970><c> valid</c><00:06:21.570><c> or</c>

00:06:21.920 --> 00:06:21.930 align:start position:0%
the go-to is going to somewhere valid or
 

00:06:21.930 --> 00:06:24.220 align:start position:0%
the go-to is going to somewhere valid or
just<00:06:22.380><c> landing</c><00:06:22.890><c> in</c><00:06:23.010><c> the</c><00:06:23.130><c> middle</c><00:06:23.460><c> of</c><00:06:23.580><c> nowhere</c>

00:06:24.220 --> 00:06:24.230 align:start position:0%
just landing in the middle of nowhere
 

00:06:24.230 --> 00:06:26.660 align:start position:0%
just landing in the middle of nowhere
and<00:06:25.230><c> that</c><00:06:25.530><c> takes</c><00:06:25.860><c> time</c>

00:06:26.660 --> 00:06:26.670 align:start position:0%
and that takes time
 

00:06:26.670 --> 00:06:31.040 align:start position:0%
and that takes time
so<00:06:27.360><c> what</c><00:06:27.660><c> we</c><00:06:27.840><c> do</c><00:06:28.080><c> is</c><00:06:28.500><c> at</c><00:06:29.070><c> load</c><00:06:29.400><c> time</c><00:06:29.570><c> we</c><00:06:30.570><c> look</c><00:06:30.840><c> to</c>

00:06:31.040 --> 00:06:31.050 align:start position:0%
so what we do is at load time we look to
 

00:06:31.050 --> 00:06:34.670 align:start position:0%
so what we do is at load time we look to
see<00:06:31.380><c> is</c><00:06:32.070><c> the</c><00:06:32.460><c> place</c><00:06:32.700><c> is</c><00:06:32.970><c> going</c><00:06:33.330><c> to</c><00:06:33.510><c> constant</c><00:06:34.260><c> is</c>

00:06:34.670 --> 00:06:34.680 align:start position:0%
see is the place is going to constant is
 

00:06:34.680 --> 00:06:37.730 align:start position:0%
see is the place is going to constant is
the<00:06:34.980><c> place</c><00:06:35.250><c> that's</c><00:06:35.520><c> going</c><00:06:35.880><c> to</c><00:06:36.030><c> correct</c><00:06:36.630><c> if</c><00:06:37.170><c> so</c>

00:06:37.730 --> 00:06:37.740 align:start position:0%
the place that's going to correct if so
 

00:06:37.740 --> 00:06:41.300 align:start position:0%
the place that's going to correct if so
I<00:06:38.130><c> replaced</c><00:06:38.910><c> the</c><00:06:39.180><c> jump</c><00:06:39.540><c> with</c><00:06:39.930><c> a</c><00:06:39.960><c> jump</c><00:06:40.350><c> V</c><00:06:40.650><c> or</c><00:06:41.280><c> a</c>

00:06:41.300 --> 00:06:41.310 align:start position:0%
I replaced the jump with a jump V or a
 

00:06:41.310 --> 00:06:44.630 align:start position:0%
I replaced the jump with a jump V or a
jump<00:06:41.610><c> V</c><00:06:41.850><c> I</c><00:06:41.880><c> and</c><00:06:42.480><c> I</c><00:06:42.900><c> can</c><00:06:42.930><c> just</c><00:06:43.320><c> do</c><00:06:43.560><c> the</c><00:06:43.800><c> jump</c><00:06:44.130><c> at</c>

00:06:44.630 --> 00:06:44.640 align:start position:0%
jump V I and I can just do the jump at
 

00:06:44.640 --> 00:06:47.690 align:start position:0%
jump V I and I can just do the jump at
runtime<00:06:45.000><c> and</c><00:06:45.600><c> the</c><00:06:46.020><c> both</c><00:06:46.230><c> the</c><00:06:46.470><c> go</c><00:06:46.650><c> and</c><00:06:46.890><c> the</c><00:06:46.980><c> C++</c>

00:06:47.690 --> 00:06:47.700 align:start position:0%
runtime and the both the go and the C++
 

00:06:47.700 --> 00:06:49.730 align:start position:0%
runtime and the both the go and the C++
interpreters<00:06:48.510><c> have</c><00:06:49.020><c> found</c><00:06:49.290><c> that</c><00:06:49.500><c> to</c><00:06:49.560><c> be</c>

00:06:49.730 --> 00:06:49.740 align:start position:0%
interpreters have found that to be
 

00:06:49.740 --> 00:06:52.580 align:start position:0%
interpreters have found that to be
pretty<00:06:49.890><c> advantageous</c>

00:06:52.580 --> 00:06:52.590 align:start position:0%
pretty advantageous
 

00:06:52.590 --> 00:06:57.050 align:start position:0%
pretty advantageous
and<00:06:53.180><c> so</c><00:06:54.180><c> tomorrow's</c><00:06:55.110><c> interpreter</c><00:06:55.919><c> which</c><00:06:56.759><c> is</c>

00:06:57.050 --> 00:06:57.060 align:start position:0%
and so tomorrow's interpreter which is
 

00:06:57.060 --> 00:06:59.900 align:start position:0%
and so tomorrow's interpreter which is
running<00:06:57.300><c> on</c><00:06:57.569><c> my</c><00:06:58.050><c> machine</c><00:06:58.259><c> right</c><00:06:58.800><c> now</c><00:06:58.830><c> and</c><00:06:59.729><c> not</c>

00:06:59.900 --> 00:06:59.910 align:start position:0%
running on my machine right now and not
 

00:06:59.910 --> 00:07:01.809 align:start position:0%
running on my machine right now and not
anywhere<00:07:00.330><c> else</c>

00:07:01.809 --> 00:07:01.819 align:start position:0%
anywhere else
 

00:07:01.819 --> 00:07:05.120 align:start position:0%
anywhere else
we're<00:07:02.819><c> strong</c><00:07:03.060><c> you</c><00:07:03.240><c> look</c><00:07:03.449><c> pretty</c><00:07:03.690><c> good</c><00:07:04.130><c> the</c>

00:07:05.120 --> 00:07:05.130 align:start position:0%
we're strong you look pretty good the
 

00:07:05.130 --> 00:07:06.770 align:start position:0%
we're strong you look pretty good the
loops<00:07:05.340><c> a</c><00:07:05.550><c> little</c><00:07:05.819><c> better</c><00:07:06.030><c> still</c><00:07:06.599><c> not</c>

00:07:06.770 --> 00:07:06.780 align:start position:0%
loops a little better still not
 

00:07:06.780 --> 00:07:09.710 align:start position:0%
loops a little better still not
wonderful<00:07:07.470><c> the</c><00:07:08.069><c> random</c><00:07:08.460><c> number</c><00:07:08.759><c> generator</c><00:07:08.789><c> is</c>

00:07:09.710 --> 00:07:09.720 align:start position:0%
wonderful the random number generator is
 

00:07:09.720 --> 00:07:11.659 align:start position:0%
wonderful the random number generator is
starting<00:07:10.110><c> to</c><00:07:10.229><c> get</c><00:07:10.410><c> pretty</c><00:07:10.710><c> competitive</c><00:07:10.919><c> with</c>

00:07:11.659 --> 00:07:11.669 align:start position:0%
starting to get pretty competitive with
 

00:07:11.669 --> 00:07:13.059 align:start position:0%
starting to get pretty competitive with
the<00:07:11.789><c> chip</c><00:07:12.060><c> and</c>

00:07:13.059 --> 00:07:13.069 align:start position:0%
the chip and
 

00:07:13.069 --> 00:07:16.749 align:start position:0%
the chip and
our<00:07:14.069><c> c5</c><00:07:14.550><c> is</c><00:07:14.819><c> really</c><00:07:15.449><c> doing</c><00:07:15.750><c> pretty</c><00:07:16.020><c> well</c>

00:07:16.749 --> 00:07:16.759 align:start position:0%
our c5 is really doing pretty well
 

00:07:16.759 --> 00:07:19.520 align:start position:0%
our c5 is really doing pretty well
Paul's<00:07:17.759><c> got</c><00:07:18.090><c> some</c><00:07:18.330><c> work</c><00:07:18.539><c> to</c><00:07:18.750><c> do</c><00:07:18.870><c> to</c><00:07:19.050><c> catch</c><00:07:19.259><c> up</c>

00:07:19.520 --> 00:07:19.530 align:start position:0%
Paul's got some work to do to catch up
 

00:07:19.530 --> 00:07:20.620 align:start position:0%
Paul's got some work to do to catch up
with<00:07:19.740><c> me</c>

00:07:20.620 --> 00:07:20.630 align:start position:0%
with me
 

00:07:20.630 --> 00:07:22.420 align:start position:0%
with me
and

00:07:22.420 --> 00:07:22.430 align:start position:0%
and
 

00:07:22.430 --> 00:07:26.779 align:start position:0%
and
here<00:07:23.430><c> we</c><00:07:23.580><c> have</c><00:07:23.759><c> a</c><00:07:23.789><c> race</c><00:07:24.180><c> we</c><00:07:24.870><c> have</c><00:07:25.169><c> the</c><00:07:25.680><c> JIT</c><00:07:26.490><c> is</c>

00:07:26.779 --> 00:07:26.789 align:start position:0%
here we have a race we have the JIT is
 

00:07:26.789 --> 00:07:31.779 align:start position:0%
here we have a race we have the JIT is
the<00:07:26.940><c> charger</c><00:07:27.539><c> on</c><00:07:27.930><c> the</c><00:07:28.830><c> left</c><00:07:29.070><c> and</c><00:07:29.660><c> we</c><00:07:30.660><c> have</c><00:07:30.690><c> the</c>

00:07:31.779 --> 00:07:31.789 align:start position:0%
the charger on the left and we have the
 

00:07:31.789 --> 00:07:35.210 align:start position:0%
the charger on the left and we have the
interpreter<00:07:32.789><c> on</c><00:07:33.030><c> the</c><00:07:33.270><c> right</c><00:07:33.509><c> and</c><00:07:34.050><c> make</c><00:07:34.979><c> it</c>

00:07:35.210 --> 00:07:35.220 align:start position:0%
interpreter on the right and make it
 

00:07:35.220 --> 00:07:36.159 align:start position:0%
interpreter on the right and make it
scream

00:07:36.159 --> 00:07:36.169 align:start position:0%
scream
 

00:07:36.169 --> 00:07:38.770 align:start position:0%
scream
roll<00:07:37.169><c> it</c>

00:07:38.770 --> 00:07:38.780 align:start position:0%
roll it
 

00:07:38.780 --> 00:07:44.980 align:start position:0%
roll it
burn<00:07:39.780><c> soup</c><00:07:40.110><c> go</c>

00:07:44.980 --> 00:07:44.990 align:start position:0%
 
 

00:07:44.990 --> 00:07:48.439 align:start position:0%
 
there<00:07:45.990><c> it's</c><00:07:46.110><c> a</c><00:07:46.169><c> video</c><00:07:46.470><c> to</c><00:07:46.590><c> play</c><00:07:46.919><c> here</c><00:07:47.449><c> somebody</c>

00:07:48.439 --> 00:07:48.449 align:start position:0%
there it's a video to play here somebody
 

00:07:48.449 --> 00:07:55.270 align:start position:0%
there it's a video to play here somebody
knows<00:07:48.659><c> how</c><00:07:48.840><c> to</c><00:07:48.900><c> play</c><00:07:49.199><c> it</c>

00:07:55.270 --> 00:07:55.280 align:start position:0%
 
 

00:07:55.280 --> 00:07:57.790 align:start position:0%
 
no<00:07:56.280><c> no</c>

00:07:57.790 --> 00:07:57.800 align:start position:0%
no no
 

00:07:57.800 --> 00:08:03.410 align:start position:0%
no no
this<00:07:58.800><c> guy</c><00:07:59.039><c> he's</c><00:07:59.880><c> a</c><00:07:59.909><c> video</c><00:08:00.389><c> he</c><00:08:00.690><c> plays</c>

00:08:03.410 --> 00:08:03.420 align:start position:0%
 
 

00:08:03.420 --> 00:08:10.530 align:start position:0%
 
[Music]

00:08:10.530 --> 00:08:10.540 align:start position:0%
[Music]
 

00:08:10.540 --> 00:08:12.230 align:start position:0%
[Music]
it's<00:08:10.990><c> where</c><00:08:11.320><c> a</c>

00:08:12.230 --> 00:08:12.240 align:start position:0%
it's where a
 

00:08:12.240 --> 00:08:17.180 align:start position:0%
it's where a
magic

00:08:17.180 --> 00:08:17.190 align:start position:0%
 
 

00:08:17.190 --> 00:08:21.230 align:start position:0%
 
that's<00:08:18.190><c> a</c><00:08:18.370><c> quarter-mile</c>

00:08:21.230 --> 00:08:21.240 align:start position:0%
 
 

00:08:21.240 --> 00:08:23.850 align:start position:0%
 
deck<00:08:22.240><c> Vitesse</c><00:08:22.660><c> list</c><00:08:22.990><c> they</c><00:08:23.169><c> don't</c><00:08:23.350><c> burn</c><00:08:23.500><c> enough</c>

00:08:23.850 --> 00:08:23.860 align:start position:0%
deck Vitesse list they don't burn enough
 

00:08:23.860 --> 00:08:29.210 align:start position:0%
deck Vitesse list they don't burn enough
alcohol

00:08:29.210 --> 00:08:29.220 align:start position:0%
 
 

00:08:29.220 --> 00:08:31.700 align:start position:0%
 
so<00:08:30.220><c> that</c><00:08:30.639><c> went</c><00:08:31.120><c> backwards</c>

00:08:31.700 --> 00:08:31.710 align:start position:0%
so that went backwards
 

00:08:31.710 --> 00:08:33.050 align:start position:0%
so that went backwards
[Music]

00:08:33.050 --> 00:08:33.060 align:start position:0%
[Music]
 

00:08:33.060 --> 00:08:37.639 align:start position:0%
[Music]
so<00:08:34.060><c> where</c><00:08:34.300><c> to</c><00:08:34.479><c> go</c><00:08:34.659><c> from</c><00:08:34.990><c> here</c><00:08:35.250><c> yeah</c>

00:08:37.639 --> 00:08:37.649 align:start position:0%
so where to go from here yeah
 

00:08:37.649 --> 00:08:40.320 align:start position:0%
so where to go from here yeah
well<00:08:38.649><c> then</c><00:08:38.830><c> to</c><00:08:39.279><c> get</c><00:08:39.430><c> from</c><00:08:39.700><c> here</c><00:08:39.909><c> you</c><00:08:40.060><c> have</c><00:08:40.089><c> to</c>

00:08:40.320 --> 00:08:40.330 align:start position:0%
well then to get from here you have to
 

00:08:40.330 --> 00:08:43.019 align:start position:0%
well then to get from here you have to
start<00:08:40.390><c> doing</c><00:08:40.750><c> completely</c><00:08:41.320><c> different</c><00:08:42.070><c> this</c><00:08:42.820><c> is</c>

00:08:43.019 --> 00:08:43.029 align:start position:0%
start doing completely different this is
 

00:08:43.029 --> 00:08:45.329 align:start position:0%
start doing completely different this is
a<00:08:43.060><c> blown</c><00:08:43.419><c> ham</c><00:08:43.719><c> I</c><00:08:43.930><c> that</c><00:08:44.200><c> burns</c><00:08:44.380><c> alcohol</c><00:08:45.100><c> instead</c>

00:08:45.329 --> 00:08:45.339 align:start position:0%
a blown ham I that burns alcohol instead
 

00:08:45.339 --> 00:08:47.000 align:start position:0%
a blown ham I that burns alcohol instead
of<00:08:45.640><c> gasoline</c>

00:08:47.000 --> 00:08:47.010 align:start position:0%
of gasoline
 

00:08:47.010 --> 00:08:50.250 align:start position:0%
of gasoline
and<00:08:48.010><c> these</c><00:08:48.370><c> are</c><00:08:48.640><c> ideas</c><00:08:49.270><c> on</c><00:08:49.510><c> the</c><00:08:49.660><c> table</c><00:08:50.110><c> we're</c>

00:08:50.250 --> 00:08:50.260 align:start position:0%
and these are ideas on the table we're
 

00:08:50.260 --> 00:08:52.949 align:start position:0%
and these are ideas on the table we're
gonna<00:08:50.320><c> work</c><00:08:50.680><c> with</c><00:08:51.450><c> first</c><00:08:52.450><c> just</c><00:08:52.779><c> some</c>

00:08:52.949 --> 00:08:52.959 align:start position:0%
gonna work with first just some
 

00:08:52.959 --> 00:08:55.590 align:start position:0%
gonna work with first just some
fine-tuning<00:08:53.520><c> right</c><00:08:54.520><c> now</c><00:08:54.760><c> we're</c><00:08:55.029><c> using</c><00:08:55.060><c> the</c>

00:08:55.590 --> 00:08:55.600 align:start position:0%
fine-tuning right now we're using the
 

00:08:55.600 --> 00:09:00.180 align:start position:0%
fine-tuning right now we're using the
boost<00:08:55.870><c> library</c><00:08:56.970><c> for</c><00:08:57.970><c> the</c><00:08:58.089><c> 256</c><00:08:59.080><c> bit</c><00:08:59.350><c> arithmetic</c>

00:09:00.180 --> 00:09:00.190 align:start position:0%
boost library for the 256 bit arithmetic
 

00:09:00.190 --> 00:09:04.070 align:start position:0%
boost library for the 256 bit arithmetic
it's<00:09:00.970><c> really</c><00:09:01.600><c> designed</c><00:09:02.110><c> for</c><00:09:02.410><c> much</c><00:09:02.860><c> bigger</c>

00:09:04.070 --> 00:09:04.080 align:start position:0%
it's really designed for much bigger
 

00:09:04.080 --> 00:09:07.850 align:start position:0%
it's really designed for much bigger
arithmetic<00:09:05.080><c> so</c><00:09:05.770><c> right</c><00:09:06.130><c> now</c><00:09:06.370><c> it's</c><00:09:06.670><c> using</c><00:09:06.880><c> five</c>

00:09:07.850 --> 00:09:07.860 align:start position:0%
arithmetic so right now it's using five
 

00:09:07.860 --> 00:09:10.160 align:start position:0%
arithmetic so right now it's using five
64-bit<00:09:08.860><c> words</c>

00:09:10.160 --> 00:09:10.170 align:start position:0%
64-bit words
 

00:09:10.170 --> 00:09:14.400 align:start position:0%
64-bit words
to<00:09:11.170><c> do</c><00:09:11.380><c> just</c><00:09:11.830><c> for</c><00:09:12.490><c> 64-bit</c><00:09:13.420><c> words</c><00:09:13.690><c> for</c><00:09:14.260><c> the</c>

00:09:14.400 --> 00:09:14.410 align:start position:0%
to do just for 64-bit words for the
 

00:09:14.410 --> 00:09:16.800 align:start position:0%
to do just for 64-bit words for the
verythe<00:09:14.740><c> mid-kick</c><00:09:15.220><c> so</c><00:09:16.000><c> I'm</c><00:09:16.149><c> gonna</c><00:09:16.330><c> look</c><00:09:16.540><c> at</c>

00:09:16.800 --> 00:09:16.810 align:start position:0%
verythe mid-kick so I'm gonna look at
 

00:09:16.810 --> 00:09:20.730 align:start position:0%
verythe mid-kick so I'm gonna look at
the<00:09:17.230><c> GMP</c><00:09:18.089><c> library</c><00:09:19.089><c> which</c><00:09:19.870><c> we'll</c><00:09:20.110><c> use</c><00:09:20.290><c> just</c><00:09:20.320><c> for</c>

00:09:20.730 --> 00:09:20.740 align:start position:0%
the GMP library which we'll use just for
 

00:09:20.740 --> 00:09:22.710 align:start position:0%
the GMP library which we'll use just for
it's<00:09:21.640><c> written</c><00:09:22.060><c> in</c><00:09:22.150><c> assembly</c><00:09:22.690><c> language</c>

00:09:22.710 --> 00:09:22.720 align:start position:0%
it's written in assembly language
 

00:09:22.720 --> 00:09:25.980 align:start position:0%
it's written in assembly language
instead<00:09:23.620><c> of</c><00:09:23.770><c> C</c><00:09:24.100><c> and</c><00:09:24.430><c> we'll</c><00:09:25.089><c> see</c><00:09:25.360><c> if</c><00:09:25.510><c> we</c><00:09:25.660><c> can</c><00:09:25.839><c> do</c>

00:09:25.980 --> 00:09:25.990 align:start position:0%
instead of C and we'll see if we can do
 

00:09:25.990 --> 00:09:29.250 align:start position:0%
instead of C and we'll see if we can do
better<00:09:26.020><c> with</c><00:09:26.800><c> that</c><00:09:27.100><c> if</c><00:09:27.760><c> nothing</c><00:09:28.330><c> else</c><00:09:28.510><c> those</c>

00:09:29.250 --> 00:09:29.260 align:start position:0%
better with that if nothing else those
 

00:09:29.260 --> 00:09:32.280 align:start position:0%
better with that if nothing else those
four<00:09:29.770><c> words</c><00:09:30.130><c> will</c><00:09:30.580><c> line</c><00:09:30.850><c> up</c><00:09:30.880><c> on</c><00:09:31.420><c> cache</c><00:09:31.930><c> line</c>

00:09:32.280 --> 00:09:32.290 align:start position:0%
four words will line up on cache line
 

00:09:32.290 --> 00:09:38.870 align:start position:0%
four words will line up on cache line
boundaries<00:09:32.950><c> and</c><00:09:33.250><c> that's</c><00:09:33.430><c> always</c><00:09:34.180><c> good</c><00:09:34.810><c> and</c>

00:09:38.870 --> 00:09:38.880 align:start position:0%
 
 

00:09:38.880 --> 00:09:42.060 align:start position:0%
 
64-bit<00:09:39.880><c> arithmetic</c><00:09:40.870><c> we've</c><00:09:41.230><c> got</c><00:09:41.470><c> to</c><00:09:41.650><c> get</c><00:09:41.830><c> some</c>

00:09:42.060 --> 00:09:42.070 align:start position:0%
64-bit arithmetic we've got to get some
 

00:09:42.070 --> 00:09:45.769 align:start position:0%
64-bit arithmetic we've got to get some
op<00:09:42.279><c> codes</c><00:09:42.640><c> for</c><00:09:43.300><c> 64-bit</c><00:09:44.140><c> arithmetic</c><00:09:44.950><c> because</c>

00:09:45.769 --> 00:09:45.779 align:start position:0%
op codes for 64-bit arithmetic because
 

00:09:45.779 --> 00:09:49.170 align:start position:0%
op codes for 64-bit arithmetic because
calendars<00:09:46.920><c> especially</c><00:09:47.970><c> nobody's</c><00:09:48.970><c> gonna</c>

00:09:49.170 --> 00:09:49.180 align:start position:0%
calendars especially nobody's gonna
 

00:09:49.180 --> 00:09:51.000 align:start position:0%
calendars especially nobody's gonna
count<00:09:49.540><c> to</c><00:09:49.660><c> the</c><00:09:49.870><c> number</c><00:09:50.170><c> of</c><00:09:50.200><c> atoms</c><00:09:50.620><c> in</c><00:09:50.950><c> the</c>

00:09:51.000 --> 00:09:51.010 align:start position:0%
count to the number of atoms in the
 

00:09:51.010 --> 00:09:52.730 align:start position:0%
count to the number of atoms in the
universe

00:09:52.730 --> 00:09:52.740 align:start position:0%
universe
 

00:09:52.740 --> 00:09:55.710 align:start position:0%
universe
the<00:09:53.740><c> interpreter</c><00:09:54.430><c> can</c><00:09:54.459><c> only</c><00:09:54.880><c> make</c><00:09:55.300><c> a</c><00:09:55.330><c> little</c>

00:09:55.710 --> 00:09:55.720 align:start position:0%
the interpreter can only make a little
 

00:09:55.720 --> 00:09:59.130 align:start position:0%
the interpreter can only make a little
bit<00:09:56.020><c> of</c><00:09:56.050><c> good</c><00:09:56.380><c> use</c><00:09:56.620><c> of</c><00:09:56.650><c> this</c><00:09:57.250><c> but</c><00:09:57.850><c> the</c><00:09:58.029><c> JIT</c><00:09:58.420><c> can</c>

00:09:59.130 --> 00:09:59.140 align:start position:0%
bit of good use of this but the JIT can
 

00:09:59.140 --> 00:10:02.430 align:start position:0%
bit of good use of this but the JIT can
really<00:09:59.709><c> really</c><00:10:00.700><c> be</c><00:10:00.880><c> helped</c><00:10:01.270><c> by</c><00:10:01.510><c> knowing</c><00:10:02.079><c> that</c>

00:10:02.430 --> 00:10:02.440 align:start position:0%
really really be helped by knowing that
 

00:10:02.440 --> 00:10:06.230 align:start position:0%
really really be helped by knowing that
it's<00:10:02.589><c> only</c><00:10:02.800><c> got</c><00:10:03.070><c> 64</c><00:10:03.700><c> bits</c><00:10:03.970><c> to</c><00:10:04.180><c> work</c><00:10:04.390><c> with</c>

00:10:06.230 --> 00:10:06.240 align:start position:0%
it's only got 64 bits to work with
 

00:10:06.240 --> 00:10:09.449 align:start position:0%
it's only got 64 bits to work with
Cindy<00:10:07.240><c> an</c><00:10:07.480><c> awful</c><00:10:08.140><c> lot</c><00:10:08.320><c> of</c><00:10:08.350><c> silicon</c><00:10:09.070><c> on</c><00:10:09.279><c> the</c>

00:10:09.449 --> 00:10:09.459 align:start position:0%
Cindy an awful lot of silicon on the
 

00:10:09.459 --> 00:10:14.130 align:start position:0%
Cindy an awful lot of silicon on the
chips<00:10:09.760><c> right</c><00:10:10.180><c> now</c><00:10:10.450><c> is</c><00:10:11.050><c> Cindy</c><00:10:11.680><c> operations</c><00:10:13.140><c> and</c>

00:10:14.130 --> 00:10:14.140 align:start position:0%
chips right now is Cindy operations and
 

00:10:14.140 --> 00:10:16.949 align:start position:0%
chips right now is Cindy operations and
a<00:10:14.320><c> lot</c><00:10:14.500><c> of</c><00:10:14.529><c> crypto</c><00:10:15.040><c> stuff</c><00:10:15.430><c> can</c><00:10:16.060><c> take</c><00:10:16.300><c> a</c><00:10:16.329><c> really</c>

00:10:16.949 --> 00:10:16.959 align:start position:0%
a lot of crypto stuff can take a really
 

00:10:16.959 --> 00:10:20.310 align:start position:0%
a lot of crypto stuff can take a really
good<00:10:16.990><c> advantage</c><00:10:17.620><c> of</c><00:10:18.160><c> Cindy</c><00:10:18.880><c> registers</c><00:10:19.540><c> so</c>

00:10:20.310 --> 00:10:20.320 align:start position:0%
good advantage of Cindy registers so
 

00:10:20.320 --> 00:10:21.980 align:start position:0%
good advantage of Cindy registers so
we're<00:10:20.560><c> looking</c><00:10:20.950><c> at</c><00:10:21.100><c> that</c>

00:10:21.980 --> 00:10:21.990 align:start position:0%
we're looking at that
 

00:10:21.990 --> 00:10:26.640 align:start position:0%
we're looking at that
and<00:10:23.070><c> more</c><00:10:24.070><c> structural</c><00:10:24.910><c> changes</c><00:10:25.600><c> right</c><00:10:26.290><c> now</c>

00:10:26.640 --> 00:10:26.650 align:start position:0%
and more structural changes right now
 

00:10:26.650 --> 00:10:30.100 align:start position:0%
and more structural changes right now
DVM<00:10:27.640><c> is</c><00:10:27.880><c> a</c><00:10:27.910><c> stacked</c><00:10:28.760><c> if</c><00:10:29.180><c> you</c><00:10:29.420><c> want</c><00:10:29.600><c> to</c><00:10:29.690><c> add</c><00:10:29.810><c> two</c>

00:10:30.100 --> 00:10:30.110 align:start position:0%
DVM is a stacked if you want to add two
 

00:10:30.110 --> 00:10:33.070 align:start position:0%
DVM is a stacked if you want to add two
numbers<00:10:30.710><c> you</c><00:10:31.520><c> push</c><00:10:31.730><c> a</c><00:10:31.760><c> one</c><00:10:32.090><c> on</c><00:10:32.270><c> the</c><00:10:32.450><c> stack</c><00:10:32.750><c> you</c>

00:10:33.070 --> 00:10:33.080 align:start position:0%
numbers you push a one on the stack you
 

00:10:33.080 --> 00:10:36.190 align:start position:0%
numbers you push a one on the stack you
push<00:10:33.590><c> a</c><00:10:33.620><c> two</c><00:10:33.980><c> on</c><00:10:34.250><c> the</c><00:10:34.460><c> stack</c><00:10:34.760><c> then</c><00:10:35.570><c> you</c><00:10:35.750><c> say</c><00:10:35.990><c> an</c>

00:10:36.190 --> 00:10:36.200 align:start position:0%
push a two on the stack then you say an
 

00:10:36.200 --> 00:10:39.370 align:start position:0%
push a two on the stack then you say an
ADD<00:10:36.530><c> it</c><00:10:36.950><c> adds</c><00:10:37.460><c> two</c><00:10:38.000><c> pulls</c><00:10:38.630><c> two</c><00:10:39.020><c> of</c><00:10:39.110><c> them</c><00:10:39.260><c> off</c>

00:10:39.370 --> 00:10:39.380 align:start position:0%
ADD it adds two pulls two of them off
 

00:10:39.380 --> 00:10:41.860 align:start position:0%
ADD it adds two pulls two of them off
the<00:10:39.560><c> stack</c><00:10:39.860><c> it</c><00:10:40.430><c> pushes</c><00:10:40.880><c> another</c><00:10:41.030><c> one</c><00:10:41.510><c> on</c><00:10:41.720><c> the</c>

00:10:41.860 --> 00:10:41.870 align:start position:0%
the stack it pushes another one on the
 

00:10:41.870 --> 00:10:43.510 align:start position:0%
the stack it pushes another one on the
stack<00:10:42.200><c> and</c><00:10:42.230><c> off</c><00:10:42.680><c> you</c><00:10:42.920><c> go</c>

00:10:43.510 --> 00:10:43.520 align:start position:0%
stack and off you go
 

00:10:43.520 --> 00:10:45.940 align:start position:0%
stack and off you go
this<00:10:43.910><c> was</c><00:10:44.180><c> like</c><00:10:44.360><c> really</c><00:10:44.780><c> great</c><00:10:45.380><c> for</c><00:10:45.740><c> hand</c>

00:10:45.940 --> 00:10:45.950 align:start position:0%
this was like really great for hand
 

00:10:45.950 --> 00:10:48.820 align:start position:0%
this was like really great for hand
calculators<00:10:46.820><c> a</c><00:10:47.120><c> very</c><00:10:47.570><c> good</c><00:10:48.050><c> way</c><00:10:48.260><c> to</c><00:10:48.290><c> do</c><00:10:48.590><c> hand</c>

00:10:48.820 --> 00:10:48.830 align:start position:0%
calculators a very good way to do hand
 

00:10:48.830 --> 00:10:52.150 align:start position:0%
calculators a very good way to do hand
calculators<00:10:49.660><c> real</c><00:10:50.660><c> chips</c><00:10:51.020><c> anymore</c><00:10:51.260><c> or</c>

00:10:52.150 --> 00:10:52.160 align:start position:0%
calculators real chips anymore or
 

00:10:52.160 --> 00:10:56.460 align:start position:0%
calculators real chips anymore or
register<00:10:52.880><c> machines</c><00:10:53.390><c> the</c><00:10:54.320><c> problem</c><00:10:54.980><c> here</c>

00:10:56.460 --> 00:10:56.470 align:start position:0%
register machines the problem here
 

00:10:56.470 --> 00:10:59.560 align:start position:0%
register machines the problem here
for<00:10:57.470><c> a</c><00:10:57.500><c> chip</c><00:10:57.890><c> that's</c><00:10:58.340><c> the</c><00:10:58.550><c> way</c><00:10:58.670><c> you</c><00:10:58.730><c> do</c><00:10:59.060><c> it</c><00:10:59.300><c> but</c>

00:10:59.560 --> 00:10:59.570 align:start position:0%
for a chip that's the way you do it but
 

00:10:59.570 --> 00:11:01.690 align:start position:0%
for a chip that's the way you do it but
jets<00:10:59.840><c> tend</c><00:11:00.140><c> to</c><00:11:00.290><c> run</c><00:11:00.470><c> in</c><00:11:00.650><c> the</c><00:11:00.740><c> background</c><00:11:00.770><c> they</c>

00:11:01.690 --> 00:11:01.700 align:start position:0%
jets tend to run in the background they
 

00:11:01.700 --> 00:11:04.660 align:start position:0%
jets tend to run in the background they
can<00:11:01.940><c> run</c><00:11:02.150><c> slowly</c><00:11:03.110><c> so</c><00:11:03.710><c> I'm</c><00:11:03.860><c> looking</c><00:11:04.100><c> basically</c>

00:11:04.660 --> 00:11:04.670 align:start position:0%
can run slowly so I'm looking basically
 

00:11:04.670 --> 00:11:09.010 align:start position:0%
can run slowly so I'm looking basically
for<00:11:05.510><c> a</c><00:11:05.540><c> very</c><00:11:05.930><c> fast</c><00:11:06.350><c> order</c><00:11:07.250><c> and</c><00:11:07.490><c> algorithm</c><00:11:08.480><c> to</c>

00:11:09.010 --> 00:11:09.020 align:start position:0%
for a very fast order and algorithm to
 

00:11:09.020 --> 00:11:12.130 align:start position:0%
for a very fast order and algorithm to
get<00:11:09.290><c> me</c><00:11:09.530><c> from</c><00:11:09.740><c> stack</c><00:11:10.100><c> code</c><00:11:10.550><c> to</c><00:11:11.240><c> register</c><00:11:11.450><c> code</c>

00:11:12.130 --> 00:11:12.140 align:start position:0%
get me from stack code to register code
 

00:11:12.140 --> 00:11:15.430 align:start position:0%
get me from stack code to register code
I've<00:11:12.860><c> done</c><00:11:13.100><c> it</c><00:11:13.220><c> before</c><00:11:13.370><c> for</c><00:11:14.270><c> a</c><00:11:14.300><c> different</c><00:11:14.720><c> VM</c><00:11:15.080><c> a</c>

00:11:15.430 --> 00:11:15.440 align:start position:0%
I've done it before for a different VM a
 

00:11:15.440 --> 00:11:17.950 align:start position:0%
I've done it before for a different VM a
Java<00:11:15.710><c> VM</c><00:11:16.190><c> so</c><00:11:16.880><c> I've</c><00:11:17.000><c> got</c><00:11:17.210><c> to</c><00:11:17.360><c> find</c><00:11:17.570><c> a</c><00:11:17.720><c> way</c><00:11:17.900><c> to</c>

00:11:17.950 --> 00:11:17.960 align:start position:0%
Java VM so I've got to find a way to
 

00:11:17.960 --> 00:11:20.790 align:start position:0%
Java VM so I've got to find a way to
make<00:11:18.320><c> it</c><00:11:18.350><c> work</c><00:11:18.740><c> for</c><00:11:19.100><c> the</c><00:11:19.520><c> EVM</c>

00:11:20.790 --> 00:11:20.800 align:start position:0%
make it work for the EVM
 

00:11:20.800 --> 00:11:22.830 align:start position:0%
make it work for the EVM
and

00:11:22.830 --> 00:11:22.840 align:start position:0%
and
 

00:11:22.840 --> 00:11:26.080 align:start position:0%
and
probably<00:11:23.840><c> would</c><00:11:24.050><c> go</c><00:11:24.260><c> with</c><00:11:24.560><c> just</c><00:11:25.090><c> 256</c>

00:11:26.080 --> 00:11:26.090 align:start position:0%
probably would go with just 256
 

00:11:26.090 --> 00:11:28.660 align:start position:0%
probably would go with just 256
registers<00:11:26.900><c> I</c><00:11:27.410><c> think</c><00:11:27.680><c> that'll</c><00:11:27.980><c> be</c><00:11:28.010><c> enough</c><00:11:28.430><c> for</c>

00:11:28.660 --> 00:11:28.670 align:start position:0%
registers I think that'll be enough for
 

00:11:28.670 --> 00:11:29.790 align:start position:0%
registers I think that'll be enough for
most<00:11:28.850><c> purposes</c>

00:11:29.790 --> 00:11:29.800 align:start position:0%
most purposes
 

00:11:29.800 --> 00:11:33.580 align:start position:0%
most purposes
again<00:11:30.800><c> I</c><00:11:31.160><c> can</c><00:11:31.460><c> index</c><00:11:31.880><c> them</c><00:11:32.120><c> with</c><00:11:32.270><c> one</c><00:11:32.510><c> byte</c><00:11:32.840><c> so</c>

00:11:33.580 --> 00:11:33.590 align:start position:0%
again I can index them with one byte so
 

00:11:33.590 --> 00:11:35.890 align:start position:0%
again I can index them with one byte so
I<00:11:33.620><c> don't</c><00:11:33.890><c> blow</c><00:11:34.190><c> up</c><00:11:34.370><c> the</c><00:11:34.580><c> code</c><00:11:34.850><c> too</c><00:11:35.180><c> much</c><00:11:35.450><c> and</c>

00:11:35.890 --> 00:11:35.900 align:start position:0%
I don't blow up the code too much and
 

00:11:35.900 --> 00:11:39.370 align:start position:0%
I don't blow up the code too much and
the<00:11:36.680><c> code</c><00:11:36.920><c> becomes</c><00:11:37.510><c> basically</c><00:11:38.510><c> three</c><00:11:38.870><c> address</c>

00:11:39.370 --> 00:11:39.380 align:start position:0%
the code becomes basically three address
 

00:11:39.380 --> 00:11:42.690 align:start position:0%
the code becomes basically three address
code<00:11:40.010><c> so</c><00:11:40.370><c> one</c><00:11:40.610><c> byte</c><00:11:40.910><c> for</c><00:11:41.210><c> the</c><00:11:41.300><c> operator</c>

00:11:42.690 --> 00:11:42.700 align:start position:0%
code so one byte for the operator
 

00:11:42.700 --> 00:11:45.670 align:start position:0%
code so one byte for the operator
three<00:11:43.700><c> bytes</c><00:11:43.970><c> for</c><00:11:44.450><c> the</c><00:11:44.510><c> source</c><00:11:44.930><c> the</c><00:11:45.530><c> other</c>

00:11:45.670 --> 00:11:45.680 align:start position:0%
three bytes for the source the other
 

00:11:45.680 --> 00:11:48.120 align:start position:0%
three bytes for the source the other
source<00:11:46.100><c> and</c><00:11:46.490><c> the</c><00:11:46.760><c> destination</c>

00:11:48.120 --> 00:11:48.130 align:start position:0%
source and the destination
 

00:11:48.130 --> 00:11:52.210 align:start position:0%
source and the destination
and<00:11:49.130><c> that</c><00:11:49.700><c> goes</c><00:11:49.940><c> backwards</c><00:11:50.540><c> but</c><00:11:50.930><c> gee</c><00:11:51.620><c> I</c><00:11:51.860><c> like</c>

00:11:52.210 --> 00:11:52.220 align:start position:0%
and that goes backwards but gee I like
 

00:11:52.220 --> 00:11:56.380 align:start position:0%
and that goes backwards but gee I like
that<00:11:52.520><c> I</c><00:11:52.670><c> want</c><00:11:52.940><c> one</c><00:11:53.090><c> of</c><00:11:53.120><c> those</c>

00:11:56.380 --> 00:11:56.390 align:start position:0%
 
 

00:11:56.390 --> 00:11:59.280 align:start position:0%
 
[Music]

00:11:59.280 --> 00:11:59.290 align:start position:0%
[Music]
 

00:11:59.290 --> 00:12:05.100 align:start position:0%
[Music]
and

00:12:05.100 --> 00:12:05.110 align:start position:0%
 
 

00:12:05.110 --> 00:12:08.820 align:start position:0%
 
that's<00:12:06.110><c> that</c><00:12:06.520><c> who's</c><00:12:07.520><c> next</c>

00:12:08.820 --> 00:12:08.830 align:start position:0%
that's that who's next
 

00:12:08.830 --> 00:12:12.740 align:start position:0%
that's that who's next
[Applause]

00:12:12.740 --> 00:12:12.750 align:start position:0%
[Applause]
 

00:12:12.750 --> 00:12:21.980 align:start position:0%
[Applause]
[Music]

