WEBVTT
Kind: captions
Language: en

00:00:01.160 --> 00:00:06.690 align:start position:0%
 
[Music]

00:00:06.690 --> 00:00:06.700 align:start position:0%
 
 

00:00:06.700 --> 00:00:08.990 align:start position:0%
 
[Music]

00:00:08.990 --> 00:00:09.000 align:start position:0%
[Music]
 

00:00:09.000 --> 00:00:11.190 align:start position:0%
[Music]
it's<00:00:09.280><c> first</c><00:00:09.519><c> time</c><00:00:09.920><c> I'm</c><00:00:10.040><c> wearing</c><00:00:10.480><c> this</c>

00:00:11.190 --> 00:00:11.200 align:start position:0%
it's first time I'm wearing this
 

00:00:11.200 --> 00:00:14.990 align:start position:0%
it's first time I'm wearing this
microphone<00:00:12.200><c> I</c><00:00:12.280><c> feel</c><00:00:12.480><c> like</c><00:00:12.639><c> I'm</c><00:00:12.759><c> a</c><00:00:13.000><c> K-pop</c><00:00:13.400><c> Star</c>

00:00:14.990 --> 00:00:15.000 align:start position:0%
microphone I feel like I'm a K-pop Star
 

00:00:15.000 --> 00:00:17.910 align:start position:0%
microphone I feel like I'm a K-pop Star
now<00:00:16.000><c> anyway</c><00:00:16.760><c> yeah</c><00:00:16.920><c> so</c><00:00:17.240><c> really</c><00:00:17.480><c> nice</c><00:00:17.640><c> to</c><00:00:17.760><c> meet</c>

00:00:17.910 --> 00:00:17.920 align:start position:0%
now anyway yeah so really nice to meet
 

00:00:17.920 --> 00:00:22.349 align:start position:0%
now anyway yeah so really nice to meet
you<00:00:18.480><c> um</c><00:00:19.480><c> I'm</c><00:00:19.640><c> a</c><00:00:19.840><c> I'm</c><00:00:19.960><c> Leo</c><00:00:20.240><c> Jong</c><00:00:21.080><c> i</c><00:00:21.800><c> I'm</c><00:00:21.920><c> a</c><00:00:22.039><c> senior</c>

00:00:22.349 --> 00:00:22.359 align:start position:0%
you um I'm a I'm Leo Jong i I'm a senior
 

00:00:22.359 --> 00:00:25.550 align:start position:0%
you um I'm a I'm Leo Jong i I'm a senior
research<00:00:22.720><c> engineer</c><00:00:23.439><c> at</c><00:00:23.880><c> Linea</c><00:00:24.880><c> and</c><00:00:25.039><c> today</c><00:00:25.400><c> I'm</c>

00:00:25.550 --> 00:00:25.560 align:start position:0%
research engineer at Linea and today I'm
 

00:00:25.560 --> 00:00:28.390 align:start position:0%
research engineer at Linea and today I'm
going<00:00:25.720><c> to</c><00:00:26.039><c> talk</c><00:00:26.320><c> about</c><00:00:27.119><c> how</c><00:00:27.279><c> to</c><00:00:27.560><c> optimize</c><00:00:28.039><c> ZK</c>

00:00:28.390 --> 00:00:28.400 align:start position:0%
going to talk about how to optimize ZK
 

00:00:28.400 --> 00:00:31.630 align:start position:0%
going to talk about how to optimize ZK
EV<00:00:28.640><c> improvers</c><00:00:29.640><c> so</c>

00:00:31.630 --> 00:00:31.640 align:start position:0%
EV improvers so
 

00:00:31.640 --> 00:00:33.869 align:start position:0%
EV improvers so
this<00:00:31.759><c> is</c><00:00:32.000><c> the</c><00:00:32.439><c> outline</c><00:00:32.880><c> of</c><00:00:33.000><c> today's</c><00:00:33.399><c> talk</c><00:00:33.760><c> I</c>

00:00:33.869 --> 00:00:33.879 align:start position:0%
this is the outline of today's talk I
 

00:00:33.879 --> 00:00:36.310 align:start position:0%
this is the outline of today's talk I
will<00:00:34.120><c> talk</c><00:00:34.320><c> about</c><00:00:34.559><c> the</c><00:00:34.719><c> motivation</c><00:00:35.719><c> and</c><00:00:35.920><c> also</c>

00:00:36.310 --> 00:00:36.320 align:start position:0%
will talk about the motivation and also
 

00:00:36.320 --> 00:00:38.389 align:start position:0%
will talk about the motivation and also
the<00:00:36.480><c> introduction</c><00:00:37.120><c> of</c><00:00:37.320><c> this</c><00:00:37.520><c> talk</c><00:00:38.120><c> I</c><00:00:38.200><c> will</c>

00:00:38.389 --> 00:00:38.399 align:start position:0%
the introduction of this talk I will
 

00:00:38.399 --> 00:00:40.590 align:start position:0%
the introduction of this talk I will
share<00:00:38.879><c> how</c><00:00:39.040><c> to</c><00:00:39.200><c> optimize</c><00:00:39.640><c> zkv</c><00:00:40.079><c> improvers</c>

00:00:40.590 --> 00:00:40.600 align:start position:0%
share how to optimize zkv improvers
 

00:00:40.600 --> 00:00:43.670 align:start position:0%
share how to optimize zkv improvers
based<00:00:40.840><c> on</c><00:00:41.160><c> our</c><00:00:42.160><c> uh</c><00:00:42.320><c> one</c><00:00:42.800><c> more</c><00:00:43.000><c> than</c><00:00:43.200><c> one</c><00:00:43.399><c> year</c>

00:00:43.670 --> 00:00:43.680 align:start position:0%
based on our uh one more than one year
 

00:00:43.680 --> 00:00:46.950 align:start position:0%
based on our uh one more than one year
of<00:00:43.879><c> our</c><00:00:44.640><c> optimization</c><00:00:45.640><c> experience</c><00:00:46.640><c> and</c><00:00:46.760><c> we'll</c>

00:00:46.950 --> 00:00:46.960 align:start position:0%
of our optimization experience and we'll
 

00:00:46.960 --> 00:00:50.709 align:start position:0%
of our optimization experience and we'll
conclude<00:00:47.280><c> the</c><00:00:47.480><c> talk</c><00:00:48.360><c> so</c><00:00:48.640><c> first</c><00:00:48.960><c> time</c><00:00:49.680><c> um</c><00:00:50.480><c> so</c>

00:00:50.709 --> 00:00:50.719 align:start position:0%
conclude the talk so first time um so
 

00:00:50.719 --> 00:00:52.310 align:start position:0%
conclude the talk so first time um so
this<00:00:50.840><c> is</c><00:00:51.000><c> the</c><00:00:51.199><c> initial</c><00:00:51.640><c> Challenge</c><00:00:52.120><c> and</c>

00:00:52.310 --> 00:00:52.320 align:start position:0%
this is the initial Challenge and
 

00:00:52.320 --> 00:00:55.549 align:start position:0%
this is the initial Challenge and
problems<00:00:52.800><c> we</c><00:00:53.079><c> had</c><00:00:54.079><c> so</c><00:00:54.320><c> Linea</c><00:00:54.800><c> launched</c><00:00:55.320><c> our</c>

00:00:55.549 --> 00:00:55.559 align:start position:0%
problems we had so Linea launched our
 

00:00:55.559 --> 00:00:58.790 align:start position:0%
problems we had so Linea launched our
main<00:00:55.879><c> net</c><00:00:56.199><c> last</c><00:00:56.399><c> year</c><00:00:56.760><c> August</c><00:00:57.760><c> and</c><00:00:58.120><c> we</c><00:00:58.239><c> were</c><00:00:58.480><c> so</c>

00:00:58.790 --> 00:00:58.800 align:start position:0%
main net last year August and we were so
 

00:00:58.800 --> 00:01:00.990 align:start position:0%
main net last year August and we were so
happy<00:00:59.239><c> so</c><00:00:59.399><c> we</c><00:00:59.519><c> are</c><00:00:59.640><c> kind</c><00:00:59.760><c> of</c><00:01:00.079><c> dancing</c><00:01:00.600><c> all</c><00:01:00.760><c> the</c>

00:01:00.990 --> 00:01:01.000 align:start position:0%
happy so we are kind of dancing all the
 

00:01:01.000 --> 00:01:05.590 align:start position:0%
happy so we are kind of dancing all the
time<00:01:01.840><c> but</c><00:01:02.480><c> we</c><00:01:03.040><c> realized</c><00:01:04.040><c> that</c><00:01:04.320><c> PR</c><00:01:04.760><c> was</c><00:01:05.159><c> really</c>

00:01:05.590 --> 00:01:05.600 align:start position:0%
time but we realized that PR was really
 

00:01:05.600 --> 00:01:08.870 align:start position:0%
time but we realized that PR was really
slow<00:01:06.680><c> so</c><00:01:07.680><c> we</c><00:01:07.759><c> were</c><00:01:07.960><c> like</c><00:01:08.200><c> what's</c><00:01:08.400><c> going</c><00:01:08.600><c> on</c>

00:01:08.870 --> 00:01:08.880 align:start position:0%
slow so we were like what's going on
 

00:01:08.880 --> 00:01:11.710 align:start position:0%
slow so we were like what's going on
here<00:01:09.560><c> uh</c><00:01:09.759><c> and</c><00:01:10.119><c> um</c><00:01:10.520><c> we</c><00:01:10.640><c> were</c><00:01:10.840><c> spending</c><00:01:11.240><c> a</c><00:01:11.360><c> lot</c><00:01:11.520><c> of</c>

00:01:11.710 --> 00:01:11.720 align:start position:0%
here uh and um we were spending a lot of
 

00:01:11.720 --> 00:01:14.990 align:start position:0%
here uh and um we were spending a lot of
money<00:01:12.520><c> for</c><00:01:12.880><c> provs</c><00:01:13.880><c> so</c><00:01:14.159><c> we</c><00:01:14.320><c> thought</c><00:01:14.520><c> it's</c><00:01:14.680><c> a</c>

00:01:14.990 --> 00:01:15.000 align:start position:0%
money for provs so we thought it's a
 

00:01:15.000 --> 00:01:17.270 align:start position:0%
money for provs so we thought it's a
huge<00:01:15.439><c> problem</c><00:01:16.040><c> and</c><00:01:16.159><c> we</c><00:01:16.280><c> decided</c><00:01:16.640><c> to</c><00:01:16.799><c> optimize</c>

00:01:17.270 --> 00:01:17.280 align:start position:0%
huge problem and we decided to optimize
 

00:01:17.280 --> 00:01:20.830 align:start position:0%
huge problem and we decided to optimize
it<00:01:17.799><c> so</c><00:01:18.040><c> what</c><00:01:18.200><c> we</c><00:01:18.439><c> did</c><00:01:19.280><c> is</c><00:01:19.520><c> for</c><00:01:20.360><c> uh</c><00:01:20.479><c> more</c><00:01:20.680><c> than</c>

00:01:20.830 --> 00:01:20.840 align:start position:0%
it so what we did is for uh more than
 

00:01:20.840 --> 00:01:23.230 align:start position:0%
it so what we did is for uh more than
one<00:01:21.079><c> year</c><00:01:21.479><c> we</c><00:01:21.680><c> spent</c><00:01:22.159><c> a</c><00:01:22.280><c> lot</c><00:01:22.439><c> of</c><00:01:22.640><c> time</c><00:01:23.000><c> and</c>

00:01:23.230 --> 00:01:23.240 align:start position:0%
one year we spent a lot of time and
 

00:01:23.240 --> 00:01:24.950 align:start position:0%
one year we spent a lot of time and
effort<00:01:24.159><c> uh</c>

00:01:24.950 --> 00:01:24.960 align:start position:0%
effort uh
 

00:01:24.960 --> 00:01:28.149 align:start position:0%
effort uh
optimizing<00:01:25.960><c> River</c><00:01:26.439><c> in</c><00:01:26.799><c> production</c><00:01:27.720><c> so</c><00:01:28.000><c> that</c>

00:01:28.149 --> 00:01:28.159 align:start position:0%
optimizing River in production so that
 

00:01:28.159 --> 00:01:30.670 align:start position:0%
optimizing River in production so that
picture<00:01:28.520><c> that's</c><00:01:28.759><c> actually</c><00:01:29.119><c> me</c><00:01:29.799><c> uh</c><00:01:30.000><c> fixing</c><00:01:30.479><c> and</c>

00:01:30.670 --> 00:01:30.680 align:start position:0%
picture that's actually me uh fixing and
 

00:01:30.680 --> 00:01:33.830 align:start position:0%
picture that's actually me uh fixing and
optimizing<00:01:31.360><c> PR</c><00:01:31.799><c> in</c><00:01:32.040><c> re</c><00:01:32.560><c> in</c><00:01:32.840><c> production</c><00:01:33.640><c> so</c>

00:01:33.830 --> 00:01:33.840 align:start position:0%
optimizing PR in re in production so
 

00:01:33.840 --> 00:01:36.630 align:start position:0%
optimizing PR in re in production so
your<00:01:34.079><c> production</c><00:01:34.560><c> your</c><00:01:35.079><c> PR</c><00:01:35.439><c> is</c><00:01:35.560><c> running</c><00:01:35.960><c> maget</c>

00:01:36.630 --> 00:01:36.640 align:start position:0%
your production your PR is running maget
 

00:01:36.640 --> 00:01:39.190 align:start position:0%
your production your PR is running maget
and<00:01:36.759><c> you</c><00:01:36.840><c> need</c><00:01:37.000><c> to</c><00:01:37.200><c> fix</c><00:01:37.479><c> it</c><00:01:38.200><c> uh</c><00:01:38.399><c> that's</c><00:01:38.920><c> what</c><00:01:39.040><c> I</c>

00:01:39.190 --> 00:01:39.200 align:start position:0%
and you need to fix it uh that's what I
 

00:01:39.200 --> 00:01:42.230 align:start position:0%
and you need to fix it uh that's what I
did<00:01:39.799><c> but</c><00:01:39.960><c> luckily</c><00:01:40.520><c> we</c><00:01:40.799><c> were</c><00:01:41.079><c> able</c><00:01:41.360><c> to</c><00:01:41.840><c> uh</c>

00:01:42.230 --> 00:01:42.240 align:start position:0%
did but luckily we were able to uh
 

00:01:42.240 --> 00:01:45.069 align:start position:0%
did but luckily we were able to uh
reduce<00:01:42.799><c> the</c><00:01:42.960><c> proval</c><00:01:43.280><c> run</c><00:01:43.520><c> time</c><00:01:43.799><c> by</c><00:01:44.200><c> almost</c>

00:01:45.069 --> 00:01:45.079 align:start position:0%
reduce the proval run time by almost
 

00:01:45.079 --> 00:01:49.590 align:start position:0%
reduce the proval run time by almost
75%<00:01:46.079><c> which</c><00:01:46.240><c> is</c><00:01:46.520><c> good</c><00:01:47.040><c> so</c><00:01:47.360><c> today</c><00:01:47.960><c> uh</c><00:01:48.880><c> that's</c><00:01:49.159><c> the</c>

00:01:49.590 --> 00:01:49.600 align:start position:0%
75% which is good so today uh that's the
 

00:01:49.600 --> 00:01:52.069 align:start position:0%
75% which is good so today uh that's the
um<00:01:50.280><c> main</c><00:01:50.560><c> content</c><00:01:50.880><c> that</c><00:01:51.000><c> I'm</c><00:01:51.119><c> going</c><00:01:51.280><c> to</c><00:01:51.399><c> share</c>

00:01:52.069 --> 00:01:52.079 align:start position:0%
um main content that I'm going to share
 

00:01:52.079 --> 00:01:54.709 align:start position:0%
um main content that I'm going to share
today<00:01:53.079><c> first</c><00:01:53.280><c> of</c><00:01:53.399><c> all</c><00:01:53.680><c> uh</c><00:01:53.880><c> let's</c><00:01:54.079><c> talk</c><00:01:54.320><c> about</c>

00:01:54.709 --> 00:01:54.719 align:start position:0%
today first of all uh let's talk about
 

00:01:54.719 --> 00:01:57.950 align:start position:0%
today first of all uh let's talk about
why<00:01:54.920><c> it's</c><00:01:55.159><c> important</c><00:01:55.640><c> to</c><00:01:55.880><c> optimize</c><00:01:56.960><c> improver</c>

00:01:57.950 --> 00:01:57.960 align:start position:0%
why it's important to optimize improver
 

00:01:57.960 --> 00:02:00.230 align:start position:0%
why it's important to optimize improver
uh<00:01:58.159><c> the</c><00:01:58.479><c> first</c><00:01:58.680><c> thing</c><00:01:58.840><c> is</c><00:01:59.000><c> of</c><00:01:59.159><c> course</c><00:01:59.360><c> money</c>

00:02:00.230 --> 00:02:00.240 align:start position:0%
uh the first thing is of course money
 

00:02:00.240 --> 00:02:02.069 align:start position:0%
uh the first thing is of course money
this<00:02:00.399><c> is</c><00:02:00.600><c> the</c><00:02:00.880><c> one</c><00:02:01.039><c> of</c><00:02:01.200><c> the</c><00:02:01.360><c> biggest</c><00:02:01.719><c> cost</c>

00:02:02.069 --> 00:02:02.079 align:start position:0%
this is the one of the biggest cost
 

00:02:02.079 --> 00:02:05.990 align:start position:0%
this is the one of the biggest cost
contributors<00:02:02.799><c> in</c><00:02:03.280><c> ZK</c><00:02:03.880><c> rups</c><00:02:04.880><c> and</c><00:02:05.600><c> pro</c>

00:02:05.990 --> 00:02:06.000 align:start position:0%
contributors in ZK rups and pro
 

00:02:06.000 --> 00:02:07.990 align:start position:0%
contributors in ZK rups and pro
optimization<00:02:06.719><c> directly</c><00:02:07.200><c> means</c><00:02:07.560><c> you</c><00:02:07.719><c> can</c>

00:02:07.990 --> 00:02:08.000 align:start position:0%
optimization directly means you can
 

00:02:08.000 --> 00:02:10.710 align:start position:0%
optimization directly means you can
reduce<00:02:08.879><c> the</c><00:02:09.039><c> operating</c><00:02:09.759><c> operating</c><00:02:10.239><c> cost</c><00:02:10.560><c> of</c>

00:02:10.710 --> 00:02:10.720 align:start position:0%
reduce the operating operating cost of
 

00:02:10.720 --> 00:02:13.990 align:start position:0%
reduce the operating operating cost of
your<00:02:11.000><c> GK</c><00:02:11.680><c> GK</c><00:02:12.080><c> project</c><00:02:12.720><c> so</c><00:02:13.040><c> which</c><00:02:13.160><c> is</c><00:02:13.760><c> very</c>

00:02:13.990 --> 00:02:14.000 align:start position:0%
your GK GK project so which is very
 

00:02:14.000 --> 00:02:16.229 align:start position:0%
your GK GK project so which is very
important<00:02:15.000><c> the</c><00:02:15.160><c> second</c><00:02:15.560><c> the</c><00:02:15.680><c> performance</c>

00:02:16.229 --> 00:02:16.239 align:start position:0%
important the second the performance
 

00:02:16.239 --> 00:02:20.550 align:start position:0%
important the second the performance
impact<00:02:16.920><c> so</c><00:02:17.200><c> when</c><00:02:17.319><c> you</c><00:02:18.080><c> optimize</c><00:02:19.080><c> um</c><00:02:19.560><c> approver</c>

00:02:20.550 --> 00:02:20.560 align:start position:0%
impact so when you optimize um approver
 

00:02:20.560 --> 00:02:22.990 align:start position:0%
impact so when you optimize um approver
that<00:02:20.720><c> means</c><00:02:21.040><c> you</c><00:02:21.280><c> have</c><00:02:21.959><c> less</c><00:02:22.239><c> leun</c><00:02:22.640><c> time</c><00:02:22.879><c> of</c>

00:02:22.990 --> 00:02:23.000 align:start position:0%
that means you have less leun time of
 

00:02:23.000 --> 00:02:25.710 align:start position:0%
that means you have less leun time of
your<00:02:23.239><c> approver</c><00:02:24.080><c> which</c><00:02:24.280><c> also</c><00:02:24.519><c> means</c><00:02:25.160><c> you</c><00:02:25.360><c> have</c>

00:02:25.710 --> 00:02:25.720 align:start position:0%
your approver which also means you have
 

00:02:25.720 --> 00:02:27.990 align:start position:0%
your approver which also means you have
faster<00:02:26.160><c> verification</c><00:02:26.760><c> and</c><00:02:26.959><c> final</c>

00:02:27.990 --> 00:02:28.000 align:start position:0%
faster verification and final
 

00:02:28.000 --> 00:02:30.030 align:start position:0%
faster verification and final
finalization<00:02:29.000><c> and</c><00:02:29.280><c> that</c><00:02:29.440><c> way</c><00:02:29.599><c> you</c><00:02:29.920><c> can</c>

00:02:30.030 --> 00:02:30.040 align:start position:0%
finalization and that way you can
 

00:02:30.040 --> 00:02:32.589 align:start position:0%
finalization and that way you can
improve<00:02:30.440><c> your</c><00:02:30.680><c> TPS</c><00:02:31.480><c> right</c><00:02:32.000><c> and</c><00:02:32.200><c> you</c><00:02:32.440><c> your</c>

00:02:32.589 --> 00:02:32.599 align:start position:0%
improve your TPS right and you your
 

00:02:32.599 --> 00:02:37.190 align:start position:0%
improve your TPS right and you your
users<00:02:33.000><c> will</c><00:02:33.200><c> be</c><00:02:34.000><c> happy</c><00:02:35.000><c> and</c><00:02:35.760><c> lastly</c><00:02:36.760><c> you</c><00:02:36.959><c> have</c>

00:02:37.190 --> 00:02:37.200 align:start position:0%
users will be happy and lastly you have
 

00:02:37.200 --> 00:02:39.190 align:start position:0%
users will be happy and lastly you have
you<00:02:37.319><c> can</c><00:02:37.480><c> also</c><00:02:37.720><c> improve</c><00:02:38.120><c> your</c><00:02:38.239><c> scalability</c><00:02:39.000><c> by</c>

00:02:39.190 --> 00:02:39.200 align:start position:0%
you can also improve your scalability by
 

00:02:39.200 --> 00:02:41.990 align:start position:0%
you can also improve your scalability by
optimizing<00:02:39.760><c> ZK</c><00:02:40.640><c> improver</c><00:02:41.400><c> because</c><00:02:41.680><c> you</c><00:02:41.800><c> can</c>

00:02:41.990 --> 00:02:42.000 align:start position:0%
optimizing ZK improver because you can
 

00:02:42.000 --> 00:02:44.430 align:start position:0%
optimizing ZK improver because you can
support<00:02:42.560><c> more</c><00:02:42.879><c> transactions</c><00:02:43.760><c> which</c><00:02:43.920><c> means</c>

00:02:44.430 --> 00:02:44.440 align:start position:0%
support more transactions which means
 

00:02:44.440 --> 00:02:47.990 align:start position:0%
support more transactions which means
you<00:02:44.560><c> can</c><00:02:44.720><c> handle</c><00:02:45.080><c> more</c><00:02:45.800><c> complex</c><00:02:46.319><c> proofs</c><00:02:46.800><c> as</c>

00:02:47.990 --> 00:02:48.000 align:start position:0%
you can handle more complex proofs as
 

00:02:48.000 --> 00:02:51.509 align:start position:0%
you can handle more complex proofs as
well<00:02:49.000><c> so</c><00:02:49.319><c> let</c><00:02:49.440><c> me</c><00:02:49.560><c> share</c><00:02:49.959><c> some</c><00:02:50.519><c> common</c><00:02:51.159><c> bot</c>

00:02:51.509 --> 00:02:51.519 align:start position:0%
well so let me share some common bot
 

00:02:51.519 --> 00:02:55.710 align:start position:0%
well so let me share some common bot
legs<00:02:51.959><c> here</c><00:02:52.319><c> so</c><00:02:52.720><c> most</c><00:02:53.040><c> zkm</c><00:02:53.879><c> provs</c><00:02:54.440><c> and</c><00:02:54.800><c> project</c>

00:02:55.710 --> 00:02:55.720 align:start position:0%
legs here so most zkm provs and project
 

00:02:55.720 --> 00:02:58.869 align:start position:0%
legs here so most zkm provs and project
they<00:02:55.879><c> have</c><00:02:56.159><c> really</c><00:02:56.720><c> high</c><00:02:57.000><c> complex</c><00:02:57.440><c> ability</c><00:02:58.040><c> so</c>

00:02:58.869 --> 00:02:58.879 align:start position:0%
they have really high complex ability so
 

00:02:58.879 --> 00:03:03.589 align:start position:0%
they have really high complex ability so
inheritant<00:03:00.280><c> I</c><00:03:00.360><c> mean</c><00:03:00.560><c> ZK</c><00:03:01.280><c> EVMS</c><00:03:02.280><c> are</c><00:03:02.560><c> very</c><00:03:03.200><c> U</c>

00:03:03.589 --> 00:03:03.599 align:start position:0%
inheritant I mean ZK EVMS are very U
 

00:03:03.599 --> 00:03:06.430 align:start position:0%
inheritant I mean ZK EVMS are very U
complex<00:03:04.159><c> because</c><00:03:04.599><c> we</c><00:03:04.799><c> want</c><00:03:05.000><c> to</c><00:03:05.200><c> kind</c><00:03:05.360><c> of</c>

00:03:06.430 --> 00:03:06.440 align:start position:0%
complex because we want to kind of
 

00:03:06.440 --> 00:03:09.229 align:start position:0%
complex because we want to kind of
simulate<00:03:07.440><c> EVMS</c><00:03:08.280><c> right</c><00:03:08.519><c> and</c><00:03:08.720><c> we</c><00:03:08.840><c> want</c><00:03:09.000><c> to</c>

00:03:09.229 --> 00:03:09.239 align:start position:0%
simulate EVMS right and we want to
 

00:03:09.239 --> 00:03:11.990 align:start position:0%
simulate EVMS right and we want to
provide<00:03:09.560><c> the</c><00:03:09.680><c> full</c><00:03:10.159><c> compatibility</c><00:03:11.159><c> so</c><00:03:11.480><c> every</c>

00:03:11.990 --> 00:03:12.000 align:start position:0%
provide the full compatibility so every
 

00:03:12.000 --> 00:03:14.750 align:start position:0%
provide the full compatibility so every
project<00:03:12.480><c> has</c><00:03:12.720><c> their</c><00:03:12.920><c> own</c><00:03:13.319><c> design</c><00:03:14.319><c> um</c><00:03:14.480><c> their</c>

00:03:14.750 --> 00:03:14.760 align:start position:0%
project has their own design um their
 

00:03:14.760 --> 00:03:16.789 align:start position:0%
project has their own design um their
architecture<00:03:15.440><c> so</c><00:03:15.640><c> it's</c><00:03:15.879><c> really</c><00:03:16.080><c> hard</c><00:03:16.280><c> to</c>

00:03:16.789 --> 00:03:16.799 align:start position:0%
architecture so it's really hard to
 

00:03:16.799 --> 00:03:20.350 align:start position:0%
architecture so it's really hard to
optimize<00:03:17.799><c> uh</c><00:03:18.280><c> but</c><00:03:18.640><c> all</c><00:03:19.120><c> project</c><00:03:19.840><c> project</c>

00:03:20.350 --> 00:03:20.360 align:start position:0%
optimize uh but all project project
 

00:03:20.360 --> 00:03:22.550 align:start position:0%
optimize uh but all project project
there<00:03:20.840><c> something</c><00:03:21.120><c> in</c><00:03:21.319><c> common</c><00:03:21.799><c> they</c><00:03:22.040><c> have</c><00:03:22.360><c> high</c>

00:03:22.550 --> 00:03:22.560 align:start position:0%
there something in common they have high
 

00:03:22.560 --> 00:03:24.990 align:start position:0%
there something in common they have high
resource<00:03:23.040><c> consumptions</c><00:03:23.680><c> right</c><00:03:23.959><c> so</c><00:03:24.400><c> CPU</c><00:03:24.840><c> and</c>

00:03:24.990 --> 00:03:25.000 align:start position:0%
resource consumptions right so CPU and
 

00:03:25.000 --> 00:03:27.750 align:start position:0%
resource consumptions right so CPU and
memory<00:03:25.480><c> they're</c><00:03:25.680><c> using</c><00:03:26.480><c> uh</c><00:03:26.720><c> a</c><00:03:26.840><c> lot</c><00:03:27.040><c> of</c><00:03:27.239><c> CPU</c><00:03:27.599><c> and</c>

00:03:27.750 --> 00:03:27.760 align:start position:0%
memory they're using uh a lot of CPU and
 

00:03:27.760 --> 00:03:31.270 align:start position:0%
memory they're using uh a lot of CPU and
memory<00:03:28.439><c> and</c><00:03:28.680><c> also</c><00:03:29.439><c> because</c><00:03:29.840><c> to</c><00:03:30.000><c> support</c><00:03:30.879><c> large</c>

00:03:31.270 --> 00:03:31.280 align:start position:0%
memory and also because to support large
 

00:03:31.280 --> 00:03:34.750 align:start position:0%
memory and also because to support large
scale<00:03:31.599><c> cryptographic</c><00:03:32.799><c> calculations</c><00:03:33.799><c> so</c><00:03:34.519><c> we</c>

00:03:34.750 --> 00:03:34.760 align:start position:0%
scale cryptographic calculations so we
 

00:03:34.760 --> 00:03:37.149 align:start position:0%
scale cryptographic calculations so we
have<00:03:35.280><c> uh</c><00:03:35.519><c> these</c><00:03:35.799><c> things</c><00:03:36.080><c> in</c><00:03:36.280><c> common</c><00:03:36.760><c> so</c><00:03:37.000><c> the</c>

00:03:37.149 --> 00:03:37.159 align:start position:0%
have uh these things in common so the
 

00:03:37.159 --> 00:03:40.030 align:start position:0%
have uh these things in common so the
common<00:03:37.400><c> botle</c><00:03:37.680><c> leg</c><00:03:38.239><c> is</c><00:03:38.840><c> you</c><00:03:39.000><c> have</c><00:03:39.159><c> CPU</c><00:03:39.560><c> usage</c>

00:03:40.030 --> 00:03:40.040 align:start position:0%
common botle leg is you have CPU usage
 

00:03:40.040 --> 00:03:42.589 align:start position:0%
common botle leg is you have CPU usage
and<00:03:40.280><c> parallelization</c><00:03:41.000><c> issues</c><00:03:41.599><c> probably</c><00:03:42.439><c> and</c>

00:03:42.589 --> 00:03:42.599 align:start position:0%
and parallelization issues probably and
 

00:03:42.599 --> 00:03:45.550 align:start position:0%
and parallelization issues probably and
then<00:03:42.720><c> you</c><00:03:42.840><c> will</c><00:03:43.120><c> have</c><00:03:43.519><c> memory</c><00:03:43.879><c> overhead</c><00:03:44.519><c> a</c><00:03:44.680><c> lot</c>

00:03:45.550 --> 00:03:45.560 align:start position:0%
then you will have memory overhead a lot
 

00:03:45.560 --> 00:03:48.149 align:start position:0%
then you will have memory overhead a lot
and<00:03:45.799><c> we</c><00:03:45.920><c> will</c><00:03:46.200><c> have</c><00:03:46.599><c> iole</c><00:03:47.200><c> X</c><00:03:47.480><c> because</c><00:03:47.799><c> you</c><00:03:47.920><c> are</c>

00:03:48.149 --> 00:03:48.159 align:start position:0%
and we will have iole X because you are
 

00:03:48.159 --> 00:03:50.630 align:start position:0%
and we will have iole X because you are
dealing<00:03:48.560><c> with</c><00:03:49.000><c> a</c><00:03:49.200><c> huge</c><00:03:49.519><c> amount</c><00:03:49.760><c> of</c>

00:03:50.630 --> 00:03:50.640 align:start position:0%
dealing with a huge amount of
 

00:03:50.640 --> 00:03:54.350 align:start position:0%
dealing with a huge amount of
data<00:03:51.640><c> so</c><00:03:52.200><c> uh</c><00:03:52.319><c> this</c><00:03:52.519><c> talk</c><00:03:52.959><c> I</c><00:03:53.040><c> will</c><00:03:53.680><c> uh</c><00:03:53.959><c> I</c><00:03:54.040><c> will</c>

00:03:54.350 --> 00:03:54.360 align:start position:0%
data so uh this talk I will uh I will
 

00:03:54.360 --> 00:03:56.509 align:start position:0%
data so uh this talk I will uh I will
talk<00:03:54.599><c> about</c><00:03:55.360><c> what</c><00:03:55.519><c> we</c><00:03:55.640><c> will</c><00:03:55.840><c> cover</c><00:03:56.200><c> and</c><00:03:56.400><c> what</c>

00:03:56.509 --> 00:03:56.519 align:start position:0%
talk about what we will cover and what
 

00:03:56.519 --> 00:03:58.710 align:start position:0%
talk about what we will cover and what
will<00:03:56.640><c> not</c><00:03:56.799><c> be</c><00:03:56.959><c> covered</c><00:03:57.640><c> so</c><00:03:57.879><c> first</c><00:03:58.120><c> time</c><00:03:58.599><c> we</c>

00:03:58.710 --> 00:03:58.720 align:start position:0%
will not be covered so first time we
 

00:03:58.720 --> 00:04:00.869 align:start position:0%
will not be covered so first time we
will<00:03:59.120><c> not</c><00:03:59.400><c> cover</c><00:04:00.000><c> linear</c><00:04:00.480><c> specific</c>

00:04:00.869 --> 00:04:00.879 align:start position:0%
will not cover linear specific
 

00:04:00.879 --> 00:04:03.149 align:start position:0%
will not cover linear specific
optimizations<00:04:01.840><c> because</c><00:04:02.040><c> you</c><00:04:02.200><c> know</c><00:04:02.959><c> if</c><00:04:03.040><c> I</c>

00:04:03.149 --> 00:04:03.159 align:start position:0%
optimizations because you know if I
 

00:04:03.159 --> 00:04:05.110 align:start position:0%
optimizations because you know if I
share<00:04:03.519><c> that</c><00:04:03.640><c> kind</c><00:04:03.760><c> of</c><00:04:03.920><c> information</c><00:04:04.360><c> you</c><00:04:04.599><c> can't</c>

00:04:05.110 --> 00:04:05.120 align:start position:0%
share that kind of information you can't
 

00:04:05.120 --> 00:04:08.110 align:start position:0%
share that kind of information you can't
apply<00:04:05.560><c> that</c><00:04:05.760><c> to</c><00:04:06.040><c> your</c><00:04:06.360><c> project</c><00:04:06.920><c> so</c><00:04:07.640><c> as</c><00:04:07.840><c> so</c><00:04:08.040><c> I'm</c>

00:04:08.110 --> 00:04:08.120 align:start position:0%
apply that to your project so as so I'm
 

00:04:08.120 --> 00:04:09.630 align:start position:0%
apply that to your project so as so I'm
not<00:04:08.280><c> going</c><00:04:08.360><c> to</c><00:04:08.519><c> talk</c><00:04:08.760><c> about</c><00:04:09.079><c> detailed</c>

00:04:09.630 --> 00:04:09.640 align:start position:0%
not going to talk about detailed
 

00:04:09.640 --> 00:04:12.229 align:start position:0%
not going to talk about detailed
cryptographic<00:04:10.400><c> theory</c><00:04:10.840><c> behind</c><00:04:11.519><c> our</c><00:04:11.879><c> project</c>

00:04:12.229 --> 00:04:12.239 align:start position:0%
cryptographic theory behind our project
 

00:04:12.239 --> 00:04:15.030 align:start position:0%
cryptographic theory behind our project
or<00:04:12.720><c> ckvm</c><00:04:13.720><c> and</c><00:04:13.840><c> also</c><00:04:14.120><c> I</c><00:04:14.200><c> will</c><00:04:14.319><c> not</c><00:04:14.480><c> share</c><00:04:14.799><c> about</c>

00:04:15.030 --> 00:04:15.040 align:start position:0%
or ckvm and also I will not share about
 

00:04:15.040 --> 00:04:17.870 align:start position:0%
or ckvm and also I will not share about
share<00:04:15.640><c> uh</c><00:04:15.799><c> Hardware</c><00:04:16.400><c> accelerated</c>

00:04:17.870 --> 00:04:17.880 align:start position:0%
share uh Hardware accelerated
 

00:04:17.880 --> 00:04:20.430 align:start position:0%
share uh Hardware accelerated
optimizations<00:04:18.880><c> and</c><00:04:19.120><c> we'll</c><00:04:19.359><c> focus</c><00:04:19.680><c> on</c><00:04:19.880><c> CPU</c>

00:04:20.430 --> 00:04:20.440 align:start position:0%
optimizations and we'll focus on CPU
 

00:04:20.440 --> 00:04:22.909 align:start position:0%
optimizations and we'll focus on CPU
optimizations<00:04:21.440><c> so</c><00:04:21.720><c> here</c><00:04:22.040><c> I</c><00:04:22.120><c> will</c><00:04:22.320><c> cover</c><00:04:22.639><c> some</c>

00:04:22.909 --> 00:04:22.919 align:start position:0%
optimizations so here I will cover some
 

00:04:22.919 --> 00:04:25.070 align:start position:0%
optimizations so here I will cover some
quick<00:04:23.199><c> wins</c><00:04:23.600><c> and</c><00:04:23.919><c> strategies</c><00:04:24.600><c> so</c><00:04:24.800><c> you</c><00:04:24.919><c> can</c>

00:04:25.070 --> 00:04:25.080 align:start position:0%
quick wins and strategies so you can
 

00:04:25.080 --> 00:04:27.629 align:start position:0%
quick wins and strategies so you can
just<00:04:25.360><c> pick</c><00:04:25.560><c> up</c><00:04:26.120><c> and</c><00:04:26.479><c> uh</c><00:04:26.680><c> apply</c><00:04:27.040><c> to</c><00:04:27.199><c> your</c>

00:04:27.629 --> 00:04:27.639 align:start position:0%
just pick up and uh apply to your
 

00:04:27.639 --> 00:04:31.150 align:start position:0%
just pick up and uh apply to your
project<00:04:28.639><c> uh</c><00:04:28.880><c> in</c><00:04:29.160><c> in</c><00:04:29.240><c> a</c><00:04:29.400><c> week</c><00:04:29.800><c> or</c><00:04:30.080><c> two</c><00:04:30.280><c> weeks</c><00:04:30.600><c> or</c>

00:04:31.150 --> 00:04:31.160 align:start position:0%
project uh in in a week or two weeks or
 

00:04:31.160 --> 00:04:33.830 align:start position:0%
project uh in in a week or two weeks or
sometimes<00:04:31.800><c> maybe</c><00:04:32.440><c> um</c><00:04:33.000><c> on</c><00:04:33.160><c> the</c><00:04:33.280><c> flight</c><00:04:33.600><c> going</c>

00:04:33.830 --> 00:04:33.840 align:start position:0%
sometimes maybe um on the flight going
 

00:04:33.840 --> 00:04:36.230 align:start position:0%
sometimes maybe um on the flight going
back<00:04:34.000><c> your</c><00:04:34.199><c> home</c><00:04:34.960><c> uh</c><00:04:35.039><c> you</c><00:04:35.120><c> can</c><00:04:35.360><c> actually</c><00:04:35.800><c> apply</c>

00:04:36.230 --> 00:04:36.240 align:start position:0%
back your home uh you can actually apply
 

00:04:36.240 --> 00:04:39.230 align:start position:0%
back your home uh you can actually apply
that<00:04:36.520><c> easily</c><00:04:37.400><c> and</c><00:04:37.560><c> then</c><00:04:37.840><c> I</c><00:04:37.919><c> will</c><00:04:38.120><c> share</c><00:04:38.720><c> mostly</c>

00:04:39.230 --> 00:04:39.240 align:start position:0%
that easily and then I will share mostly
 

00:04:39.240 --> 00:04:41.670 align:start position:0%
that easily and then I will share mostly
on<00:04:39.440><c> CPU</c><00:04:39.880><c> and</c><00:04:40.000><c> memory</c><00:04:40.320><c> optimizations</c><00:04:41.280><c> without</c>

00:04:41.670 --> 00:04:41.680 align:start position:0%
on CPU and memory optimizations without
 

00:04:41.680 --> 00:04:44.150 align:start position:0%
on CPU and memory optimizations without
any<00:04:42.479><c> significant</c><00:04:43.120><c> changes</c><00:04:43.720><c> on</c><00:04:43.880><c> your</c>

00:04:44.150 --> 00:04:44.160 align:start position:0%
any significant changes on your
 

00:04:44.160 --> 00:04:46.270 align:start position:0%
any significant changes on your
architecture<00:04:44.800><c> or</c><00:04:45.039><c> on</c><00:04:45.160><c> your</c>

00:04:46.270 --> 00:04:46.280 align:start position:0%
architecture or on your
 

00:04:46.280 --> 00:04:48.909 align:start position:0%
architecture or on your
code<00:04:47.280><c> so</c><00:04:47.520><c> that</c><00:04:47.639><c> was</c><00:04:47.800><c> the</c><00:04:47.919><c> intro</c><00:04:48.600><c> and</c><00:04:48.720><c> we'll</c>

00:04:48.909 --> 00:04:48.919 align:start position:0%
code so that was the intro and we'll
 

00:04:48.919 --> 00:04:51.909 align:start position:0%
code so that was the intro and we'll
share<00:04:49.800><c> about</c><00:04:50.240><c> the</c><00:04:50.440><c> problems</c><00:04:50.919><c> right</c><00:04:51.080><c> now</c><00:04:51.600><c> and</c>

00:04:51.909 --> 00:04:51.919 align:start position:0%
share about the problems right now and
 

00:04:51.919 --> 00:04:54.189 align:start position:0%
share about the problems right now and
how<00:04:52.080><c> to</c><00:04:52.680><c> actually</c><00:04:53.000><c> optimize</c><00:04:53.479><c> it</c><00:04:53.880><c> the</c><00:04:54.000><c> first</c>

00:04:54.189 --> 00:04:54.199 align:start position:0%
how to actually optimize it the first
 

00:04:54.199 --> 00:04:56.110 align:start position:0%
how to actually optimize it the first
thing<00:04:54.360><c> you</c><00:04:54.479><c> have</c><00:04:54.639><c> to</c><00:04:54.800><c> do</c><00:04:55.280><c> is</c><00:04:55.479><c> you</c><00:04:55.680><c> know</c><00:04:55.960><c> you</c>

00:04:56.110 --> 00:04:56.120 align:start position:0%
thing you have to do is you know you
 

00:04:56.120 --> 00:04:59.270 align:start position:0%
thing you have to do is you know you
need<00:04:56.280><c> to</c><00:04:56.400><c> know</c><00:04:57.000><c> um</c><00:04:57.440><c> your</c><00:04:58.240><c> your</c><00:04:58.560><c> your</c><00:04:58.759><c> code</c>

00:04:59.270 --> 00:04:59.280 align:start position:0%
need to know um your your your code
 

00:04:59.280 --> 00:05:02.590 align:start position:0%
need to know um your your your code
right<00:04:59.960><c> so</c><00:05:00.360><c> there's</c><00:05:00.560><c> a</c><00:05:00.759><c> really</c><00:05:01.400><c> famous</c><00:05:02.199><c> and</c>

00:05:02.590 --> 00:05:02.600 align:start position:0%
right so there's a really famous and
 

00:05:02.600 --> 00:05:05.390 align:start position:0%
right so there's a really famous and
famous<00:05:02.960><c> quote</c><00:05:03.720><c> in</c><00:05:03.919><c> this</c><00:05:04.160><c> programming</c><00:05:04.639><c> World</c>

00:05:05.390 --> 00:05:05.400 align:start position:0%
famous quote in this programming World
 

00:05:05.400 --> 00:05:07.870 align:start position:0%
famous quote in this programming World
which<00:05:05.560><c> is</c><00:05:05.840><c> premature</c><00:05:06.560><c> optimization</c><00:05:07.440><c> is</c>

00:05:07.870 --> 00:05:07.880 align:start position:0%
which is premature optimization is
 

00:05:07.880 --> 00:05:10.390 align:start position:0%
which is premature optimization is
really<00:05:08.199><c> bad</c><00:05:08.840><c> let's</c><00:05:09.039><c> just</c><00:05:09.280><c> don't</c><00:05:09.520><c> do</c><00:05:09.800><c> that</c>

00:05:10.390 --> 00:05:10.400 align:start position:0%
really bad let's just don't do that
 

00:05:10.400 --> 00:05:12.590 align:start position:0%
really bad let's just don't do that
because<00:05:10.680><c> you</c><00:05:10.840><c> know</c><00:05:11.600><c> uh</c><00:05:12.000><c> sometimes</c><00:05:12.280><c> you</c><00:05:12.440><c> want</c>

00:05:12.590 --> 00:05:12.600 align:start position:0%
because you know uh sometimes you want
 

00:05:12.600 --> 00:05:15.029 align:start position:0%
because you know uh sometimes you want
to<00:05:13.000><c> optimize</c><00:05:13.520><c> your</c><00:05:13.720><c> code</c><00:05:14.120><c> because</c><00:05:14.360><c> you</c><00:05:14.479><c> know</c>

00:05:15.029 --> 00:05:15.039 align:start position:0%
to optimize your code because you know
 

00:05:15.039 --> 00:05:18.070 align:start position:0%
to optimize your code because you know
it<00:05:15.320><c> it</c><00:05:15.440><c> feels</c><00:05:15.800><c> fun</c><00:05:16.479><c> so</c><00:05:16.759><c> you</c><00:05:16.960><c> just</c><00:05:17.160><c> optimize</c><00:05:17.639><c> it</c>

00:05:18.070 --> 00:05:18.080 align:start position:0%
it it feels fun so you just optimize it
 

00:05:18.080 --> 00:05:19.749 align:start position:0%
it it feels fun so you just optimize it
and<00:05:18.319><c> because</c><00:05:18.560><c> you</c><00:05:18.720><c> think</c><00:05:19.120><c> it's</c><00:05:19.319><c> going</c><00:05:19.479><c> to</c><00:05:19.600><c> be</c>

00:05:19.749 --> 00:05:19.759 align:start position:0%
and because you think it's going to be
 

00:05:19.759 --> 00:05:22.510 align:start position:0%
and because you think it's going to be
the<00:05:19.840><c> botle</c><00:05:20.160><c> leg</c><00:05:20.360><c> but</c><00:05:20.520><c> most</c><00:05:20.800><c> cases</c><00:05:21.120><c> it's</c><00:05:21.360><c> not</c><00:05:22.080><c> so</c>

00:05:22.510 --> 00:05:22.520 align:start position:0%
the botle leg but most cases it's not so
 

00:05:22.520 --> 00:05:24.070 align:start position:0%
the botle leg but most cases it's not so
before<00:05:22.759><c> you</c><00:05:22.960><c> actually</c><00:05:23.280><c> start</c><00:05:23.680><c> optimizing</c>

00:05:24.070 --> 00:05:24.080 align:start position:0%
before you actually start optimizing
 

00:05:24.080 --> 00:05:25.749 align:start position:0%
before you actually start optimizing
your<00:05:24.319><c> code</c><00:05:24.600><c> you</c><00:05:24.720><c> need</c><00:05:24.840><c> to</c><00:05:25.080><c> find</c><00:05:25.280><c> out</c><00:05:25.520><c> the</c>

00:05:25.749 --> 00:05:25.759 align:start position:0%
your code you need to find out the
 

00:05:25.759 --> 00:05:28.110 align:start position:0%
your code you need to find out the
problems<00:05:26.240><c> first</c><00:05:27.000><c> and</c><00:05:27.160><c> the</c><00:05:27.319><c> most</c><00:05:27.600><c> common</c><00:05:27.960><c> way</c>

00:05:28.110 --> 00:05:28.120 align:start position:0%
problems first and the most common way
 

00:05:28.120 --> 00:05:31.230 align:start position:0%
problems first and the most common way
or<00:05:28.440><c> easy</c><00:05:29.080><c> easiest</c><00:05:29.440><c> way</c><00:05:29.840><c> to</c><00:05:30.000><c> do</c><00:05:30.240><c> that</c><00:05:30.479><c> is</c><00:05:30.759><c> using</c>

00:05:31.230 --> 00:05:31.240 align:start position:0%
or easy easiest way to do that is using
 

00:05:31.240 --> 00:05:33.870 align:start position:0%
or easy easiest way to do that is using
CPU<00:05:31.720><c> and</c><00:05:31.880><c> memory</c><00:05:32.360><c> profiling</c><00:05:33.360><c> so</c><00:05:33.560><c> most</c>

00:05:33.870 --> 00:05:33.880 align:start position:0%
CPU and memory profiling so most
 

00:05:33.880 --> 00:05:36.469 align:start position:0%
CPU and memory profiling so most
languages<00:05:34.720><c> they</c><00:05:34.960><c> have</c><00:05:35.199><c> kind</c><00:05:35.360><c> of</c><00:05:35.560><c> builtin</c>

00:05:36.469 --> 00:05:36.479 align:start position:0%
languages they have kind of builtin
 

00:05:36.479 --> 00:05:38.909 align:start position:0%
languages they have kind of builtin
profiling<00:05:37.000><c> tools</c><00:05:37.800><c> so</c><00:05:38.400><c> that</c><00:05:38.560><c> you</c><00:05:38.680><c> can</c>

00:05:38.909 --> 00:05:38.919 align:start position:0%
profiling tools so that you can
 

00:05:38.919 --> 00:05:42.189 align:start position:0%
profiling tools so that you can
visualize<00:05:39.520><c> your</c><00:05:39.759><c> CPU</c><00:05:40.319><c> or</c><00:05:40.560><c> memory</c><00:05:40.960><c> usage</c><00:05:41.960><c> and</c>

00:05:42.189 --> 00:05:42.199 align:start position:0%
visualize your CPU or memory usage and
 

00:05:42.199 --> 00:05:44.270 align:start position:0%
visualize your CPU or memory usage and
you<00:05:42.280><c> can</c><00:05:42.759><c> understand</c><00:05:42.919><c> your</c><00:05:43.120><c> code</c><00:05:43.479><c> there</c><00:05:44.039><c> uh</c><00:05:44.160><c> in</c>

00:05:44.270 --> 00:05:44.280 align:start position:0%
you can understand your code there uh in
 

00:05:44.280 --> 00:05:47.150 align:start position:0%
you can understand your code there uh in
our<00:05:44.600><c> case</c><00:05:44.880><c> we</c><00:05:45.000><c> are</c><00:05:45.120><c> using</c><00:05:45.440><c> go</c><00:05:45.880><c> we</c><00:05:46.080><c> based</c><00:05:46.400><c> in</c><00:05:46.759><c> um</c>

00:05:47.150 --> 00:05:47.160 align:start position:0%
our case we are using go we based in um
 

00:05:47.160 --> 00:05:49.950 align:start position:0%
our case we are using go we based in um
so<00:05:47.639><c> we</c><00:05:48.080><c> used</c><00:05:48.560><c> that</c><00:05:48.720><c> kind</c><00:05:48.880><c> of</c><00:05:49.160><c> that</c><00:05:49.319><c> tool</c><00:05:49.759><c> that</c>

00:05:49.950 --> 00:05:49.960 align:start position:0%
so we used that kind of that tool that
 

00:05:49.960 --> 00:05:53.430 align:start position:0%
so we used that kind of that tool that
profiling<00:05:50.400><c> tool</c><00:05:50.960><c> to</c><00:05:51.280><c> visualize</c><00:05:51.800><c> our</c><00:05:52.440><c> program</c>

00:05:53.430 --> 00:05:53.440 align:start position:0%
profiling tool to visualize our program
 

00:05:53.440 --> 00:05:57.309 align:start position:0%
profiling tool to visualize our program
so<00:05:54.000><c> this</c><00:05:55.000><c> uh</c><00:05:55.319><c> is</c><00:05:56.080><c> the</c><00:05:56.280><c> CPU</c><00:05:56.680><c> and</c><00:05:56.840><c> memory</c>

00:05:57.309 --> 00:05:57.319 align:start position:0%
so this uh is the CPU and memory
 

00:05:57.319 --> 00:05:59.430 align:start position:0%
so this uh is the CPU and memory
profiling<00:05:57.960><c> we</c><00:05:58.160><c> actually</c><00:05:58.560><c> had</c><00:05:59.039><c> this</c><00:05:59.160><c> is</c><00:05:59.280><c> the</c>

00:05:59.430 --> 00:05:59.440 align:start position:0%
profiling we actually had this is the
 

00:05:59.440 --> 00:06:01.469 align:start position:0%
profiling we actually had this is the
whole<00:05:59.639><c> whole</c><00:05:59.960><c> life</c><00:06:00.280><c> life</c><00:06:00.560><c> cycle</c><00:06:01.000><c> of</c><00:06:01.199><c> our</c>

00:06:01.469 --> 00:06:01.479 align:start position:0%
whole whole life life cycle of our
 

00:06:01.479 --> 00:06:03.629 align:start position:0%
whole whole life life cycle of our
prover<00:06:02.400><c> so</c><00:06:02.680><c> I</c><00:06:02.759><c> know</c><00:06:02.919><c> what</c><00:06:03.039><c> you're</c><00:06:03.240><c> thinking</c>

00:06:03.629 --> 00:06:03.639 align:start position:0%
prover so I know what you're thinking
 

00:06:03.639 --> 00:06:05.830 align:start position:0%
prover so I know what you're thinking
right<00:06:03.800><c> now</c><00:06:04.039><c> you're</c><00:06:04.319><c> like</c><00:06:04.800><c> oh</c><00:06:05.039><c> no</c><00:06:05.479><c> I'm</c><00:06:05.600><c> going</c><00:06:05.680><c> to</c>

00:06:05.830 --> 00:06:05.840 align:start position:0%
right now you're like oh no I'm going to
 

00:06:05.840 --> 00:06:07.469 align:start position:0%
right now you're like oh no I'm going to
just<00:06:05.960><c> sleep</c><00:06:06.280><c> for</c><00:06:06.440><c> 20</c><00:06:06.680><c> minutes</c><00:06:06.960><c> wake</c><00:06:07.120><c> me</c><00:06:07.199><c> up</c><00:06:07.360><c> in</c>

00:06:07.469 --> 00:06:07.479 align:start position:0%
just sleep for 20 minutes wake me up in
 

00:06:07.479 --> 00:06:09.990 align:start position:0%
just sleep for 20 minutes wake me up in
20<00:06:07.800><c> minutes</c><00:06:08.560><c> but</c><00:06:08.720><c> don't</c><00:06:08.919><c> worry</c><00:06:09.360><c> yeah</c><00:06:09.599><c> we</c><00:06:09.759><c> spent</c>

00:06:09.990 --> 00:06:10.000 align:start position:0%
20 minutes but don't worry yeah we spent
 

00:06:10.000 --> 00:06:11.870 align:start position:0%
20 minutes but don't worry yeah we spent
a<00:06:10.120><c> lot</c><00:06:10.280><c> of</c><00:06:10.479><c> time</c><00:06:10.800><c> so</c><00:06:11.039><c> and</c><00:06:11.160><c> then</c><00:06:11.280><c> we</c><00:06:11.479><c> kind</c><00:06:11.639><c> of</c>

00:06:11.870 --> 00:06:11.880 align:start position:0%
a lot of time so and then we kind of
 

00:06:11.880 --> 00:06:14.710 align:start position:0%
a lot of time so and then we kind of
categorized<00:06:12.880><c> them</c><00:06:13.520><c> for</c><00:06:13.720><c> you</c><00:06:14.000><c> and</c><00:06:14.120><c> we'll</c><00:06:14.319><c> share</c>

00:06:14.710 --> 00:06:14.720 align:start position:0%
categorized them for you and we'll share
 

00:06:14.720 --> 00:06:18.550 align:start position:0%
categorized them for you and we'll share
that<00:06:14.960><c> uh</c><00:06:15.080><c> quickly</c><00:06:15.400><c> today</c><00:06:16.280><c> so</c><00:06:17.000><c> we</c><00:06:18.000><c> here</c><00:06:18.199><c> you</c><00:06:18.360><c> can</c>

00:06:18.550 --> 00:06:18.560 align:start position:0%
that uh quickly today so we here you can
 

00:06:18.560 --> 00:06:22.430 align:start position:0%
that uh quickly today so we here you can
see<00:06:18.919><c> many</c><00:06:19.520><c> uh</c><00:06:19.639><c> holes</c><00:06:20.120><c> or</c><00:06:20.599><c> sparse</c><00:06:21.280><c> areas</c><00:06:22.280><c> which</c>

00:06:22.430 --> 00:06:22.440 align:start position:0%
see many uh holes or sparse areas which
 

00:06:22.440 --> 00:06:25.589 align:start position:0%
see many uh holes or sparse areas which
is<00:06:22.840><c> white</c><00:06:23.479><c> white</c><00:06:23.800><c> colored</c><00:06:24.560><c> so</c><00:06:24.880><c> here</c><00:06:25.199><c> the</c><00:06:25.360><c> green</c>

00:06:25.589 --> 00:06:25.599 align:start position:0%
is white white colored so here the green
 

00:06:25.599 --> 00:06:27.469 align:start position:0%
is white white colored so here the green
color<00:06:25.919><c> means</c><00:06:26.280><c> you</c><00:06:26.400><c> are</c><00:06:26.560><c> using</c><00:06:26.840><c> CPU</c><00:06:27.280><c> very</c>

00:06:27.469 --> 00:06:27.479 align:start position:0%
color means you are using CPU very
 

00:06:27.479 --> 00:06:30.029 align:start position:0%
color means you are using CPU very
extensively<00:06:28.199><c> so</c><00:06:28.639><c> you're</c><00:06:29.000><c> good</c><00:06:29.400><c> but</c><00:06:29.800><c> white</c>

00:06:30.029 --> 00:06:30.039 align:start position:0%
extensively so you're good but white
 

00:06:30.039 --> 00:06:32.550 align:start position:0%
extensively so you're good but white
colors<00:06:30.880><c> that</c><00:06:31.000><c> means</c><00:06:31.280><c> something</c><00:06:31.560><c> is</c><00:06:31.720><c> wrong</c><00:06:32.319><c> so</c>

00:06:32.550 --> 00:06:32.560 align:start position:0%
colors that means something is wrong so
 

00:06:32.560 --> 00:06:36.270 align:start position:0%
colors that means something is wrong so
mostly<00:06:33.199><c> it</c><00:06:33.319><c> means</c><00:06:33.680><c> CPU</c><00:06:34.280><c> is</c><00:06:35.039><c> underutilized</c><00:06:36.039><c> so</c>

00:06:36.270 --> 00:06:36.280 align:start position:0%
mostly it means CPU is underutilized so
 

00:06:36.280 --> 00:06:38.790 align:start position:0%
mostly it means CPU is underutilized so
you<00:06:36.520><c> find</c><00:06:36.800><c> out</c><00:06:37.120><c> which</c><00:06:37.319><c> part</c><00:06:37.800><c> is</c><00:06:38.400><c> not</c><00:06:38.599><c> being</c>

00:06:38.790 --> 00:06:38.800 align:start position:0%
you find out which part is not being
 

00:06:38.800 --> 00:06:41.710 align:start position:0%
you find out which part is not being
used<00:06:39.120><c> fully</c><00:06:39.720><c> and</c><00:06:39.880><c> then</c><00:06:40.080><c> you</c><00:06:40.680><c> go</c><00:06:40.919><c> into</c><00:06:41.160><c> the</c><00:06:41.319><c> code</c>

00:06:41.710 --> 00:06:41.720 align:start position:0%
used fully and then you go into the code
 

00:06:41.720 --> 00:06:43.309 align:start position:0%
used fully and then you go into the code
and<00:06:41.840><c> you</c><00:06:42.000><c> look</c><00:06:42.160><c> at</c><00:06:42.319><c> the</c><00:06:42.440><c> code</c><00:06:42.720><c> and</c><00:06:42.800><c> you</c><00:06:42.919><c> can</c><00:06:43.080><c> fix</c>

00:06:43.309 --> 00:06:43.319 align:start position:0%
and you look at the code and you can fix
 

00:06:43.319 --> 00:06:46.029 align:start position:0%
and you look at the code and you can fix
it<00:06:44.120><c> and</c><00:06:44.319><c> on</c><00:06:44.520><c> top</c><00:06:44.720><c> of</c><00:06:44.919><c> that</c><00:06:45.120><c> we</c><00:06:45.280><c> have</c><00:06:45.560><c> memory</c>

00:06:46.029 --> 00:06:46.039 align:start position:0%
it and on top of that we have memory
 

00:06:46.039 --> 00:06:49.430 align:start position:0%
it and on top of that we have memory
usage<00:06:46.800><c> patterns</c><00:06:47.800><c> and</c><00:06:48.240><c> the</c><00:06:48.560><c> the</c><00:06:48.680><c> main</c><00:06:48.960><c> goal</c><00:06:49.199><c> of</c>

00:06:49.430 --> 00:06:49.440 align:start position:0%
usage patterns and the the main goal of
 

00:06:49.440 --> 00:06:52.230 align:start position:0%
usage patterns and the the main goal of
memory<00:06:49.800><c> usage</c><00:06:50.319><c> or</c><00:06:50.560><c> memory</c><00:06:51.160><c> optimization</c><00:06:52.039><c> is</c>

00:06:52.230 --> 00:06:52.240 align:start position:0%
memory usage or memory optimization is
 

00:06:52.240 --> 00:06:55.150 align:start position:0%
memory usage or memory optimization is
to<00:06:52.599><c> reduce</c><00:06:53.039><c> the</c><00:06:53.199><c> memory</c><00:06:53.639><c> pics</c><00:06:54.520><c> so</c><00:06:54.759><c> first</c><00:06:54.960><c> time</c>

00:06:55.150 --> 00:06:55.160 align:start position:0%
to reduce the memory pics so first time
 

00:06:55.160 --> 00:06:57.150 align:start position:0%
to reduce the memory pics so first time
I<00:06:55.240><c> will</c><00:06:55.400><c> talk</c><00:06:55.639><c> about</c><00:06:55.879><c> CPU</c><00:06:56.520><c> and</c><00:06:56.680><c> then</c><00:06:56.919><c> we'll</c>

00:06:57.150 --> 00:06:57.160 align:start position:0%
I will talk about CPU and then we'll
 

00:06:57.160 --> 00:06:59.629 align:start position:0%
I will talk about CPU and then we'll
move<00:06:57.400><c> to</c><00:06:57.720><c> memory</c>

00:06:59.629 --> 00:06:59.639 align:start position:0%
move to memory
 

00:06:59.639 --> 00:07:03.350 align:start position:0%
move to memory
so<00:07:00.120><c> um</c><00:07:00.440><c> you</c><00:07:00.639><c> have</c><00:07:00.879><c> many</c><00:07:01.240><c> different</c><00:07:01.960><c> CPU</c><00:07:02.759><c> issues</c>

00:07:03.350 --> 00:07:03.360 align:start position:0%
so um you have many different CPU issues
 

00:07:03.360 --> 00:07:06.070 align:start position:0%
so um you have many different CPU issues
but<00:07:03.520><c> mostly</c><00:07:04.479><c> it's</c><00:07:04.639><c> going</c><00:07:04.840><c> to</c><00:07:04.960><c> be</c><00:07:05.160><c> two</c><00:07:05.440><c> cases</c>

00:07:06.070 --> 00:07:06.080 align:start position:0%
but mostly it's going to be two cases
 

00:07:06.080 --> 00:07:07.869 align:start position:0%
but mostly it's going to be two cases
the<00:07:06.240><c> first</c><00:07:06.440><c> one</c><00:07:06.639><c> is</c><00:07:06.919><c> poor</c>

00:07:07.869 --> 00:07:07.879 align:start position:0%
the first one is poor
 

00:07:07.879 --> 00:07:09.790 align:start position:0%
the first one is poor
parallelization<00:07:08.879><c> and</c><00:07:09.039><c> then</c><00:07:09.160><c> the</c><00:07:09.319><c> second</c><00:07:09.560><c> one</c>

00:07:09.790 --> 00:07:09.800 align:start position:0%
parallelization and then the second one
 

00:07:09.800 --> 00:07:12.710 align:start position:0%
parallelization and then the second one
is<00:07:10.319><c> uh</c><00:07:10.440><c> CPU</c><00:07:10.840><c> under</c><00:07:11.199><c> utilization</c><00:07:12.199><c> the</c><00:07:12.440><c> first</c>

00:07:12.710 --> 00:07:12.720 align:start position:0%
is uh CPU under utilization the first
 

00:07:12.720 --> 00:07:14.950 align:start position:0%
is uh CPU under utilization the first
first<00:07:12.960><c> panel</c><00:07:13.280><c> when</c><00:07:13.400><c> you</c><00:07:13.720><c> look</c><00:07:13.879><c> at</c><00:07:14.120><c> this</c><00:07:14.680><c> um</c>

00:07:14.950 --> 00:07:14.960 align:start position:0%
first panel when you look at this um
 

00:07:14.960 --> 00:07:17.990 align:start position:0%
first panel when you look at this um
this<00:07:15.360><c> graph</c><00:07:16.360><c> here</c><00:07:16.639><c> you</c><00:07:16.840><c> have</c><00:07:17.080><c> CPU</c><00:07:17.520><c> number</c><00:07:17.759><c> one</c>

00:07:17.990 --> 00:07:18.000 align:start position:0%
this graph here you have CPU number one
 

00:07:18.000 --> 00:07:21.670 align:start position:0%
this graph here you have CPU number one
to<00:07:18.520><c> maybe</c><00:07:18.759><c> CPU</c><00:07:19.120><c> number</c><00:07:19.680><c> 100</c><00:07:20.680><c> and</c><00:07:20.960><c> we</c><00:07:21.080><c> are</c><00:07:21.319><c> using</c>

00:07:21.670 --> 00:07:21.680 align:start position:0%
to maybe CPU number 100 and we are using
 

00:07:21.680 --> 00:07:24.070 align:start position:0%
to maybe CPU number 100 and we are using
only<00:07:22.000><c> five</c><00:07:22.319><c> CPUs</c><00:07:22.960><c> actively</c><00:07:23.440><c> and</c><00:07:23.639><c> the</c><00:07:23.759><c> others</c>

00:07:24.070 --> 00:07:24.080 align:start position:0%
only five CPUs actively and the others
 

00:07:24.080 --> 00:07:26.629 align:start position:0%
only five CPUs actively and the others
are<00:07:24.319><c> just</c><00:07:24.520><c> doing</c><00:07:24.840><c> nothing</c><00:07:25.440><c> so</c><00:07:25.680><c> we</c><00:07:25.879><c> realized</c>

00:07:26.629 --> 00:07:26.639 align:start position:0%
are just doing nothing so we realized
 

00:07:26.639 --> 00:07:29.230 align:start position:0%
are just doing nothing so we realized
many<00:07:26.919><c> cases</c><00:07:27.319><c> we</c><00:07:27.520><c> have</c><00:07:27.759><c> these</c><00:07:28.039><c> issues</c><00:07:28.840><c> so</c><00:07:29.080><c> we</c>

00:07:29.230 --> 00:07:29.240 align:start position:0%
many cases we have these issues so we
 

00:07:29.240 --> 00:07:31.670 align:start position:0%
many cases we have these issues so we
had<00:07:29.360><c> to</c><00:07:29.520><c> to</c><00:07:30.120><c> add</c><00:07:30.360><c> more</c><00:07:30.680><c> parallelization</c><00:07:31.520><c> to</c>

00:07:31.670 --> 00:07:31.680 align:start position:0%
had to to add more parallelization to
 

00:07:31.680 --> 00:07:34.469 align:start position:0%
had to to add more parallelization to
improve<00:07:32.120><c> that</c><00:07:32.960><c> uh</c><00:07:33.080><c> the</c><00:07:33.240><c> second</c><00:07:33.759><c> second</c><00:07:34.039><c> one</c><00:07:34.240><c> is</c>

00:07:34.469 --> 00:07:34.479 align:start position:0%
improve that uh the second second one is
 

00:07:34.479 --> 00:07:37.230 align:start position:0%
improve that uh the second second one is
you<00:07:34.599><c> are</c><00:07:34.879><c> actually</c><00:07:35.160><c> using</c><00:07:35.680><c> 100</c><00:07:35.960><c> CPUs</c><00:07:36.919><c> but</c>

00:07:37.230 --> 00:07:37.240 align:start position:0%
you are actually using 100 CPUs but
 

00:07:37.240 --> 00:07:40.189 align:start position:0%
you are actually using 100 CPUs but
between<00:07:38.240><c> uh</c><00:07:38.520><c> between</c><00:07:38.919><c> some</c><00:07:39.199><c> run</c><00:07:39.560><c> times</c><00:07:40.080><c> you</c>

00:07:40.189 --> 00:07:40.199 align:start position:0%
between uh between some run times you
 

00:07:40.199 --> 00:07:42.589 align:start position:0%
between uh between some run times you
are<00:07:40.400><c> waiting</c><00:07:40.680><c> for</c><00:07:40.960><c> something</c><00:07:41.639><c> so</c><00:07:41.919><c> that</c><00:07:42.199><c> means</c>

00:07:42.589 --> 00:07:42.599 align:start position:0%
are waiting for something so that means
 

00:07:42.599 --> 00:07:44.869 align:start position:0%
are waiting for something so that means
you<00:07:42.919><c> are</c><00:07:43.120><c> underutilizing</c><00:07:43.960><c> your</c>

00:07:44.869 --> 00:07:44.879 align:start position:0%
you are underutilizing your
 

00:07:44.879 --> 00:07:48.790 align:start position:0%
you are underutilizing your
CPU<00:07:45.879><c> the</c><00:07:46.120><c> first</c><00:07:46.360><c> thing</c><00:07:46.599><c> so</c><00:07:46.840><c> how</c><00:07:47.000><c> to</c><00:07:47.240><c> improve</c>

00:07:48.790 --> 00:07:48.800 align:start position:0%
CPU the first thing so how to improve
 

00:07:48.800 --> 00:07:51.189 align:start position:0%
CPU the first thing so how to improve
parallelization<00:07:49.800><c> uh</c><00:07:50.159><c> this</c><00:07:50.319><c> is</c><00:07:50.639><c> common</c>

00:07:51.189 --> 00:07:51.199 align:start position:0%
parallelization uh this is common
 

00:07:51.199 --> 00:07:54.029 align:start position:0%
parallelization uh this is common
methodology<00:07:51.960><c> that</c><00:07:52.240><c> you</c><00:07:52.400><c> can</c><00:07:52.759><c> apply</c><00:07:53.479><c> to</c><00:07:53.759><c> your</c>

00:07:54.029 --> 00:07:54.039 align:start position:0%
methodology that you can apply to your
 

00:07:54.039 --> 00:07:57.149 align:start position:0%
methodology that you can apply to your
program<00:07:54.720><c> so</c><00:07:55.039><c> first</c><00:07:55.280><c> thing</c><00:07:55.680><c> is</c><00:07:55.919><c> you</c><00:07:56.159><c> just</c><00:07:56.800><c> draw</c>

00:07:57.149 --> 00:07:57.159 align:start position:0%
program so first thing is you just draw
 

00:07:57.159 --> 00:07:59.830 align:start position:0%
program so first thing is you just draw
your<00:07:57.440><c> modules</c><00:07:58.440><c> like</c><00:07:58.879><c> like</c><00:07:59.000><c> a</c><00:07:59.120><c> graph</c><00:07:59.360><c> of</c><00:07:59.520><c> on</c><00:07:59.639><c> the</c>

00:07:59.830 --> 00:07:59.840 align:start position:0%
your modules like like a graph of on the
 

00:07:59.840 --> 00:08:03.350 align:start position:0%
your modules like like a graph of on the
left<00:08:00.599><c> and</c><00:08:00.800><c> then</c><00:08:01.039><c> you</c><00:08:01.680><c> show</c><00:08:02.400><c> you</c><00:08:02.639><c> grab</c><00:08:03.000><c> you</c><00:08:03.159><c> also</c>

00:08:03.350 --> 00:08:03.360 align:start position:0%
left and then you show you grab you also
 

00:08:03.360 --> 00:08:05.749 align:start position:0%
left and then you show you grab you also
draw<00:08:03.680><c> your</c><00:08:03.879><c> dependencies</c><00:08:04.680><c> like</c><00:08:04.919><c> that</c><00:08:05.560><c> and</c>

00:08:05.749 --> 00:08:05.759 align:start position:0%
draw your dependencies like that and
 

00:08:05.759 --> 00:08:07.909 align:start position:0%
draw your dependencies like that and
then<00:08:06.120><c> on</c><00:08:06.280><c> the</c><00:08:06.479><c> right</c><00:08:06.759><c> side</c><00:08:07.199><c> you</c><00:08:07.360><c> can</c><00:08:07.680><c> have</c>

00:08:07.909 --> 00:08:07.919 align:start position:0%
then on the right side you can have
 

00:08:07.919 --> 00:08:11.270 align:start position:0%
then on the right side you can have
those<00:08:08.360><c> Lego</c><00:08:08.800><c> blocks</c><00:08:09.639><c> and</c><00:08:09.800><c> then</c><00:08:09.919><c> you</c><00:08:10.120><c> can</c><00:08:11.000><c> um</c>

00:08:11.270 --> 00:08:11.280 align:start position:0%
those Lego blocks and then you can um
 

00:08:11.280 --> 00:08:14.149 align:start position:0%
those Lego blocks and then you can um
find<00:08:11.560><c> out</c><00:08:11.879><c> some</c><00:08:12.120><c> better</c><00:08:12.520><c> execution</c>

00:08:14.149 --> 00:08:14.159 align:start position:0%
find out some better execution
 

00:08:14.159 --> 00:08:17.270 align:start position:0%
find out some better execution
scenarios<00:08:15.159><c> for</c><00:08:15.479><c> example</c><00:08:15.800><c> in</c><00:08:15.919><c> our</c><00:08:16.280><c> case</c><00:08:17.000><c> so</c>

00:08:17.270 --> 00:08:17.280 align:start position:0%
scenarios for example in our case so
 

00:08:17.280 --> 00:08:19.390 align:start position:0%
scenarios for example in our case so
this<00:08:17.479><c> was</c><00:08:17.680><c> the</c><00:08:17.840><c> issue</c><00:08:18.199><c> right</c><00:08:18.360><c> now</c><00:08:18.800><c> right</c><00:08:19.080><c> and</c>

00:08:19.390 --> 00:08:19.400 align:start position:0%
this was the issue right now right and
 

00:08:19.400 --> 00:08:22.110 align:start position:0%
this was the issue right now right and
the<00:08:19.919><c> this</c><00:08:20.280><c> module</c><00:08:20.759><c> actually</c><00:08:21.360><c> was</c><00:08:21.800><c> about</c>

00:08:22.110 --> 00:08:22.120 align:start position:0%
the this module actually was about
 

00:08:22.120 --> 00:08:25.230 align:start position:0%
the this module actually was about
reading<00:08:22.599><c> the</c><00:08:22.759><c> setup</c><00:08:23.560><c> for</c><00:08:23.759><c> the</c><00:08:23.879><c> prover</c><00:08:24.639><c> and</c><00:08:24.960><c> the</c>

00:08:25.230 --> 00:08:25.240 align:start position:0%
reading the setup for the prover and the
 

00:08:25.240 --> 00:08:27.110 align:start position:0%
reading the setup for the prover and the
especially<00:08:25.720><c> proven</c><00:08:26.039><c> key</c><00:08:26.400><c> we</c><00:08:26.520><c> were</c><00:08:26.720><c> reading</c>

00:08:27.110 --> 00:08:27.120 align:start position:0%
especially proven key we were reading
 

00:08:27.120 --> 00:08:30.390 align:start position:0%
especially proven key we were reading
this<00:08:27.520><c> from</c><00:08:28.080><c> the</c><00:08:28.280><c> disk</c><00:08:29.280><c> and</c><00:08:29.520><c> and</c><00:08:29.720><c> originally</c><00:08:30.240><c> on</c>

00:08:30.390 --> 00:08:30.400 align:start position:0%
this from the disk and and originally on
 

00:08:30.400 --> 00:08:34.630 align:start position:0%
this from the disk and and originally on
the<00:08:30.599><c> left</c><00:08:30.960><c> side</c><00:08:31.840><c> at</c><00:08:32.080><c> V5</c><00:08:32.880><c> had</c><00:08:33.080><c> issues</c><00:08:33.919><c> of</c>

00:08:34.630 --> 00:08:34.640 align:start position:0%
the left side at V5 had issues of
 

00:08:34.640 --> 00:08:38.709 align:start position:0%
the left side at V5 had issues of
paralyzation<00:08:35.640><c> so</c><00:08:36.080><c> we</c><00:08:37.080><c> changed</c><00:08:37.760><c> this</c><00:08:38.399><c> uh</c><00:08:38.560><c> this</c>

00:08:38.709 --> 00:08:38.719 align:start position:0%
paralyzation so we changed this uh this
 

00:08:38.719 --> 00:08:41.389 align:start position:0%
paralyzation so we changed this uh this
blocks<00:08:39.039><c> on</c><00:08:39.200><c> the</c><00:08:39.360><c> left</c><00:08:39.839><c> to</c><00:08:40.039><c> the</c><00:08:40.279><c> right</c><00:08:40.959><c> so</c><00:08:41.200><c> we</c>

00:08:41.389 --> 00:08:41.399 align:start position:0%
blocks on the left to the right so we
 

00:08:41.399 --> 00:08:45.190 align:start position:0%
blocks on the left to the right so we
moved<00:08:41.919><c> that</c><00:08:42.599><c> V5</c><00:08:43.599><c> uh</c><00:08:43.680><c> to</c><00:08:43.919><c> the</c><00:08:44.039><c> early</c><00:08:44.399><c> stage</c><00:08:44.959><c> of</c>

00:08:45.190 --> 00:08:45.200 align:start position:0%
moved that V5 uh to the early stage of
 

00:08:45.200 --> 00:08:48.030 align:start position:0%
moved that V5 uh to the early stage of
of<00:08:45.360><c> our</c><00:08:45.680><c> approval</c><00:08:46.040><c> life</c><00:08:46.320><c> cycle</c><00:08:47.080><c> so</c><00:08:47.399><c> that</c><00:08:47.800><c> the</c>

00:08:48.030 --> 00:08:48.040 align:start position:0%
of our approval life cycle so that the
 

00:08:48.040 --> 00:08:53.630 align:start position:0%
of our approval life cycle so that the
total<00:08:48.959><c> runtime</c><00:08:49.480><c> of</c><00:08:49.720><c> T2</c><00:08:50.720><c> became</c><00:08:51.080><c> smaller</c><00:08:51.519><c> than</c>

00:08:53.630 --> 00:08:53.640 align:start position:0%
total runtime of T2 became smaller than
 

00:08:53.640 --> 00:08:56.790 align:start position:0%
total runtime of T2 became smaller than
T1<00:08:54.640><c> uh</c><00:08:54.800><c> the</c><00:08:54.959><c> other</c><00:08:55.240><c> issue</c><00:08:55.800><c> common</c><00:08:56.120><c> issue</c><00:08:56.560><c> is</c>

00:08:56.790 --> 00:08:56.800 align:start position:0%
T1 uh the other issue common issue is
 

00:08:56.800 --> 00:08:59.590 align:start position:0%
T1 uh the other issue common issue is
CPU<00:08:57.480><c> underutilization</c><00:08:58.480><c> so</c><00:08:59.040><c> this</c><00:08:59.279><c> has</c><00:08:59.440><c> has</c>

00:08:59.590 --> 00:08:59.600 align:start position:0%
CPU underutilization so this has has
 

00:08:59.600 --> 00:09:02.829 align:start position:0%
CPU underutilization so this has has
actually<00:08:59.959><c> many</c><00:09:00.600><c> uh</c><00:09:00.920><c> many</c><00:09:01.440><c> pro</c><00:09:01.800><c> U</c><00:09:01.959><c> many</c><00:09:02.320><c> causes</c>

00:09:02.829 --> 00:09:02.839 align:start position:0%
actually many uh many pro U many causes
 

00:09:02.839 --> 00:09:05.550 align:start position:0%
actually many uh many pro U many causes
so<00:09:03.279><c> many</c><00:09:03.560><c> root</c><00:09:03.880><c> issues</c><00:09:04.320><c> so</c><00:09:04.760><c> the</c><00:09:04.920><c> first</c><00:09:05.160><c> one</c>

00:09:05.550 --> 00:09:05.560 align:start position:0%
so many root issues so the first one
 

00:09:05.560 --> 00:09:09.190 align:start position:0%
so many root issues so the first one
could<00:09:05.760><c> be</c><00:09:06.560><c> poor</c><00:09:07.079><c> penalization</c><00:09:08.079><c> second</c><00:09:08.440><c> one</c>

00:09:09.190 --> 00:09:09.200 align:start position:0%
could be poor penalization second one
 

00:09:09.200 --> 00:09:11.550 align:start position:0%
could be poor penalization second one
synchronization<00:09:10.040><c> issues</c><00:09:10.760><c> and</c><00:09:11.040><c> lock</c><00:09:11.320><c> up</c>

00:09:11.550 --> 00:09:11.560 align:start position:0%
synchronization issues and lock up
 

00:09:11.560 --> 00:09:14.310 align:start position:0%
synchronization issues and lock up
issues<00:09:12.320><c> and</c><00:09:12.480><c> most</c><00:09:13.160><c> sometimes</c><00:09:13.480><c> you</c><00:09:13.680><c> have</c><00:09:13.839><c> some</c>

00:09:14.310 --> 00:09:14.320 align:start position:0%
issues and most sometimes you have some
 

00:09:14.320 --> 00:09:16.509 align:start position:0%
issues and most sometimes you have some
uh<00:09:14.440><c> blocking</c><00:09:14.920><c> iio</c><00:09:15.279><c> operations</c><00:09:15.959><c> operations</c>

00:09:16.509 --> 00:09:16.519 align:start position:0%
uh blocking iio operations operations
 

00:09:16.519 --> 00:09:18.910 align:start position:0%
uh blocking iio operations operations
when<00:09:16.640><c> you're</c><00:09:16.839><c> using</c><00:09:17.120><c> disk</c><00:09:17.399><c> or</c><00:09:17.680><c> network</c><00:09:18.600><c> so</c><00:09:18.760><c> in</c>

00:09:18.910 --> 00:09:18.920 align:start position:0%
when you're using disk or network so in
 

00:09:18.920 --> 00:09:22.389 align:start position:0%
when you're using disk or network so in
our<00:09:19.240><c> case</c><00:09:19.760><c> uh</c><00:09:19.880><c> we</c><00:09:20.000><c> had</c><00:09:20.200><c> this</c><00:09:20.360><c> issue</c><00:09:20.720><c> in</c><00:09:21.160><c> fft</c><00:09:22.160><c> and</c>

00:09:22.389 --> 00:09:22.399 align:start position:0%
our case uh we had this issue in fft and
 

00:09:22.399 --> 00:09:24.949 align:start position:0%
our case uh we had this issue in fft and
we<00:09:22.760><c> we</c><00:09:22.920><c> had</c><00:09:23.560><c> synchronization</c><00:09:24.320><c> issue</c><00:09:24.600><c> in</c><00:09:24.720><c> our</c>

00:09:24.949 --> 00:09:24.959 align:start position:0%
we we had synchronization issue in our
 

00:09:24.959 --> 00:09:27.190 align:start position:0%
we we had synchronization issue in our
data<00:09:25.200><c> structure</c><00:09:25.680><c> so</c><00:09:25.839><c> we</c><00:09:26.000><c> have</c><00:09:26.120><c> to</c><00:09:26.760><c> slightly</c>

00:09:27.190 --> 00:09:27.200 align:start position:0%
data structure so we have to slightly
 

00:09:27.200 --> 00:09:29.389 align:start position:0%
data structure so we have to slightly
change<00:09:27.519><c> our</c><00:09:27.800><c> data</c><00:09:28.040><c> structure</c><00:09:28.519><c> so</c><00:09:28.800><c> the</c><00:09:29.000><c> CPUs</c>

00:09:29.389 --> 00:09:29.399 align:start position:0%
change our data structure so the CPUs
 

00:09:29.399 --> 00:09:32.509 align:start position:0%
change our data structure so the CPUs
are<00:09:29.600><c> not</c><00:09:29.920><c> not</c><00:09:30.079><c> waiting</c><00:09:30.360><c> for</c><00:09:30.640><c> other</c>

00:09:32.509 --> 00:09:32.519 align:start position:0%
are not not waiting for other
 

00:09:32.519 --> 00:09:38.310 align:start position:0%
are not not waiting for other
data<00:09:33.519><c> so</c><00:09:33.880><c> after</c><00:09:34.720><c> uh</c><00:09:35.200><c> optimizing</c><00:09:36.000><c> CP</c><00:09:36.360><c> CPU</c><00:09:37.079><c> so</c><00:09:37.560><c> we</c>

00:09:38.310 --> 00:09:38.320 align:start position:0%
data so after uh optimizing CP CPU so we
 

00:09:38.320 --> 00:09:40.990 align:start position:0%
data so after uh optimizing CP CPU so we
changed<00:09:38.800><c> our</c><00:09:39.120><c> CPU</c><00:09:39.480><c> usage</c><00:09:39.839><c> pattern</c><00:09:40.279><c> from</c><00:09:40.680><c> left</c>

00:09:40.990 --> 00:09:41.000 align:start position:0%
changed our CPU usage pattern from left
 

00:09:41.000 --> 00:09:43.430 align:start position:0%
changed our CPU usage pattern from left
side<00:09:41.200><c> to</c><00:09:41.320><c> the</c><00:09:41.519><c> right</c><00:09:41.760><c> side</c><00:09:42.120><c> so</c><00:09:42.600><c> we</c><00:09:42.760><c> got</c><00:09:42.959><c> one</c>

00:09:43.430 --> 00:09:43.440 align:start position:0%
side to the right side so we got one
 

00:09:43.440 --> 00:09:48.870 align:start position:0%
side to the right side so we got one
okay<00:09:44.160><c> cat</c><00:09:44.760><c> is</c><00:09:45.040><c> happy</c><00:09:45.959><c> so</c><00:09:46.959><c> got</c><00:09:47.360><c> one</c><00:09:48.160><c> uh</c><00:09:48.320><c> okay</c><00:09:48.680><c> cat</c>

00:09:48.870 --> 00:09:48.880 align:start position:0%
okay cat is happy so got one uh okay cat
 

00:09:48.880 --> 00:09:50.790 align:start position:0%
okay cat is happy so got one uh okay cat
for<00:09:49.040><c> CPU</c><00:09:49.399><c> optimization</c><00:09:50.200><c> but</c><00:09:50.360><c> we</c><00:09:50.480><c> need</c><00:09:50.640><c> one</c>

00:09:50.790 --> 00:09:50.800 align:start position:0%
for CPU optimization but we need one
 

00:09:50.800 --> 00:09:53.150 align:start position:0%
for CPU optimization but we need one
more<00:09:51.079><c> for</c><00:09:51.279><c> memory</c><00:09:51.760><c> optimization</c><00:09:52.760><c> so</c><00:09:52.959><c> let's</c>

00:09:53.150 --> 00:09:53.160 align:start position:0%
more for memory optimization so let's
 

00:09:53.160 --> 00:09:55.389 align:start position:0%
more for memory optimization so let's
move<00:09:53.480><c> to</c><00:09:53.720><c> memory</c><00:09:54.079><c> optimization</c><00:09:55.079><c> actually</c>

00:09:55.389 --> 00:09:55.399 align:start position:0%
move to memory optimization actually
 

00:09:55.399 --> 00:09:57.870 align:start position:0%
move to memory optimization actually
more<00:09:55.600><c> than</c><00:09:55.800><c> CPU</c><00:09:56.760><c> uh</c><00:09:56.880><c> memory</c><00:09:57.200><c> optimization</c><00:09:57.720><c> is</c>

00:09:57.870 --> 00:09:57.880 align:start position:0%
more than CPU uh memory optimization is
 

00:09:57.880 --> 00:10:00.430 align:start position:0%
more than CPU uh memory optimization is
more<00:09:58.079><c> important</c><00:09:58.600><c> because</c><00:09:59.440><c> in</c><00:09:59.600><c> general</c><00:10:00.240><c> in</c>

00:10:00.430 --> 00:10:00.440 align:start position:0%
more important because in general in
 

00:10:00.440 --> 00:10:03.509 align:start position:0%
more important because in general in
most<00:10:00.800><c> Cloud</c><00:10:01.160><c> systems</c><00:10:01.760><c> or</c><00:10:02.079><c> cloud</c><00:10:02.640><c> service</c>

00:10:03.509 --> 00:10:03.519 align:start position:0%
most Cloud systems or cloud service
 

00:10:03.519 --> 00:10:05.750 align:start position:0%
most Cloud systems or cloud service
cloud<00:10:03.839><c> services</c><00:10:04.519><c> memory</c><00:10:04.880><c> is</c><00:10:05.040><c> more</c><00:10:05.320><c> expensive</c>

00:10:05.750 --> 00:10:05.760 align:start position:0%
cloud services memory is more expensive
 

00:10:05.760 --> 00:10:09.710 align:start position:0%
cloud services memory is more expensive
than<00:10:05.959><c> CPU</c><00:10:06.959><c> for</c><00:10:07.279><c> example</c><00:10:08.279><c> uh</c><00:10:08.720><c> you</c><00:10:08.839><c> can</c><00:10:09.000><c> see</c><00:10:09.279><c> that</c>

00:10:09.710 --> 00:10:09.720 align:start position:0%
than CPU for example uh you can see that
 

00:10:09.720 --> 00:10:13.670 align:start position:0%
than CPU for example uh you can see that
we<00:10:10.000><c> our</c><00:10:10.480><c> Peak</c><00:10:10.880><c> memory</c><00:10:11.200><c> usage</c><00:10:11.600><c> was</c><00:10:11.839><c> 700</c><00:10:12.680><c> Gaby</c>

00:10:13.670 --> 00:10:13.680 align:start position:0%
we our Peak memory usage was 700 Gaby
 

00:10:13.680 --> 00:10:16.550 align:start position:0%
we our Peak memory usage was 700 Gaby
and<00:10:13.920><c> then</c><00:10:14.640><c> so</c><00:10:14.839><c> we</c><00:10:15.000><c> have</c><00:10:15.120><c> to</c><00:10:15.360><c> use</c><00:10:15.839><c> sub</c><00:10:16.120><c> machine</c>

00:10:16.550 --> 00:10:16.560 align:start position:0%
and then so we have to use sub machine
 

00:10:16.560 --> 00:10:19.430 align:start position:0%
and then so we have to use sub machine
with<00:10:16.760><c> 970</c><00:10:17.720><c> Gaby</c><00:10:18.320><c> right</c><00:10:18.839><c> which</c><00:10:19.000><c> is</c><00:10:19.200><c> very</c>

00:10:19.430 --> 00:10:19.440 align:start position:0%
with 970 Gaby right which is very
 

00:10:19.440 --> 00:10:22.230 align:start position:0%
with 970 Gaby right which is very
expensive<00:10:20.320><c> but</c><00:10:20.600><c> when</c><00:10:20.800><c> we</c><00:10:20.920><c> can</c><00:10:21.160><c> move</c><00:10:21.680><c> from</c><00:10:22.040><c> this</c>

00:10:22.230 --> 00:10:22.240 align:start position:0%
expensive but when we can move from this
 

00:10:22.240 --> 00:10:25.710 align:start position:0%
expensive but when we can move from this
one<00:10:22.600><c> to</c><00:10:22.959><c> the</c><00:10:23.079><c> other</c><00:10:23.360><c> one</c><00:10:23.720><c> with</c><00:10:24.040><c> 380</c><00:10:24.920><c> gab</c><00:10:25.399><c> we</c><00:10:25.519><c> can</c>

00:10:25.710 --> 00:10:25.720 align:start position:0%
one to the other one with 380 gab we can
 

00:10:25.720 --> 00:10:29.150 align:start position:0%
one to the other one with 380 gab we can
save<00:10:26.360><c> a</c><00:10:26.519><c> lot</c><00:10:26.680><c> of</c><00:10:26.880><c> money</c><00:10:27.600><c> but</c><00:10:27.959><c> we</c><00:10:28.079><c> will</c><00:10:28.760><c> also</c><00:10:29.040><c> we</c>

00:10:29.150 --> 00:10:29.160 align:start position:0%
save a lot of money but we will also we
 

00:10:29.160 --> 00:10:32.550 align:start position:0%
save a lot of money but we will also we
can<00:10:29.320><c> can</c><00:10:29.480><c> get</c><00:10:29.640><c> more</c><00:10:29.880><c> ches</c><00:10:30.760><c> so</c><00:10:31.440><c> our</c><00:10:31.760><c> plan</c><00:10:32.120><c> was</c>

00:10:32.550 --> 00:10:32.560 align:start position:0%
can can get more ches so our plan was
 

00:10:32.560 --> 00:10:36.350 align:start position:0%
can can get more ches so our plan was
let's<00:10:32.760><c> to</c><00:10:32.959><c> reduce</c><00:10:33.720><c> our</c><00:10:34.000><c> CPU</c><00:10:34.440><c> pick</c><00:10:34.720><c> memory</c><00:10:35.519><c> to</c>

00:10:36.350 --> 00:10:36.360 align:start position:0%
let's to reduce our CPU pick memory to
 

00:10:36.360 --> 00:10:39.870 align:start position:0%
let's to reduce our CPU pick memory to
maybe<00:10:36.680><c> somewhere</c><00:10:37.279><c> between</c><00:10:37.720><c> 308</c><00:10:38.720><c> uh</c><00:10:39.040><c> so</c><00:10:39.519><c> around</c>

00:10:39.870 --> 00:10:39.880 align:start position:0%
maybe somewhere between 308 uh so around
 

00:10:39.880 --> 00:10:44.509 align:start position:0%
maybe somewhere between 308 uh so around
380<00:10:40.800><c> gab</c><00:10:41.800><c> so</c><00:10:42.279><c> the</c><00:10:42.440><c> goal</c><00:10:42.800><c> is</c><00:10:43.519><c> flatten</c><00:10:44.160><c> memory</c>

00:10:44.509 --> 00:10:44.519 align:start position:0%
380 gab so the goal is flatten memory
 

00:10:44.519 --> 00:10:47.150 align:start position:0%
380 gab so the goal is flatten memory
usage<00:10:45.000><c> and</c><00:10:45.160><c> memory</c><00:10:45.519><c> pick</c><00:10:46.200><c> that's</c><00:10:46.480><c> the</c><00:10:46.959><c> most</c>

00:10:47.150 --> 00:10:47.160 align:start position:0%
usage and memory pick that's the most
 

00:10:47.160 --> 00:10:48.710 align:start position:0%
usage and memory pick that's the most
important<00:10:47.600><c> one</c><00:10:47.800><c> when</c><00:10:47.920><c> you</c><00:10:48.040><c> are</c><00:10:48.200><c> working</c><00:10:48.480><c> on</c>

00:10:48.710 --> 00:10:48.720 align:start position:0%
important one when you are working on
 

00:10:48.720 --> 00:10:50.269 align:start position:0%
important one when you are working on
memory

00:10:50.269 --> 00:10:50.279 align:start position:0%
memory
 

00:10:50.279 --> 00:10:52.550 align:start position:0%
memory
optimization<00:10:51.279><c> so</c><00:10:51.519><c> the</c><00:10:51.680><c> first</c><00:10:51.880><c> thing</c><00:10:52.160><c> we</c><00:10:52.360><c> we</c>

00:10:52.550 --> 00:10:52.560 align:start position:0%
optimization so the first thing we we
 

00:10:52.560 --> 00:10:56.750 align:start position:0%
optimization so the first thing we we
did<00:10:53.040><c> is</c><00:10:53.480><c> using</c><00:10:53.920><c> memory</c><00:10:54.519><c> pulling</c><00:10:55.519><c> so</c><00:10:55.839><c> it</c><00:10:55.959><c> means</c>

00:10:56.750 --> 00:10:56.760 align:start position:0%
did is using memory pulling so it means
 

00:10:56.760 --> 00:10:58.509 align:start position:0%
did is using memory pulling so it means
sometimes<00:10:57.000><c> you</c><00:10:57.160><c> have</c><00:10:57.320><c> many</c><00:10:57.600><c> data</c><00:10:57.880><c> stru</c>

00:10:58.509 --> 00:10:58.519 align:start position:0%
sometimes you have many data stru
 

00:10:58.519 --> 00:11:01.670 align:start position:0%
sometimes you have many data stru
structures<00:10:59.000><c> in</c><00:10:59.519><c> approver</c><00:11:00.519><c> and</c><00:11:01.120><c> some</c><00:11:01.399><c> data</c>

00:11:01.670 --> 00:11:01.680 align:start position:0%
structures in approver and some data
 

00:11:01.680 --> 00:11:04.350 align:start position:0%
structures in approver and some data
structures<00:11:02.160><c> are</c><00:11:02.360><c> being</c><00:11:02.600><c> used</c><00:11:03.360><c> tens</c><00:11:04.000><c> hundreds</c>

00:11:04.350 --> 00:11:04.360 align:start position:0%
structures are being used tens hundreds
 

00:11:04.360 --> 00:11:07.069 align:start position:0%
structures are being used tens hundreds
of<00:11:04.560><c> times</c><00:11:04.800><c> or</c><00:11:05.079><c> thousands</c><00:11:05.440><c> of</c><00:11:05.720><c> times</c><00:11:06.680><c> and</c><00:11:06.880><c> when</c>

00:11:07.069 --> 00:11:07.079 align:start position:0%
of times or thousands of times and when
 

00:11:07.079 --> 00:11:09.790 align:start position:0%
of times or thousands of times and when
you<00:11:07.760><c> just</c><00:11:08.040><c> allocate</c><00:11:08.720><c> that</c><00:11:08.920><c> data</c><00:11:09.200><c> structure</c>

00:11:09.790 --> 00:11:09.800 align:start position:0%
you just allocate that data structure
 

00:11:09.800 --> 00:11:12.310 align:start position:0%
you just allocate that data structure
every<00:11:10.120><c> time</c><00:11:10.399><c> when</c><00:11:10.560><c> you</c><00:11:10.720><c> need</c><00:11:11.079><c> that</c><00:11:12.000><c> um</c><00:11:12.200><c> you</c>

00:11:12.310 --> 00:11:12.320 align:start position:0%
every time when you need that um you
 

00:11:12.320 --> 00:11:14.590 align:start position:0%
every time when you need that um you
will<00:11:12.519><c> allocate</c><00:11:13.000><c> that</c><00:11:13.200><c> memory</c><00:11:13.800><c> and</c><00:11:14.000><c> also</c>

00:11:14.590 --> 00:11:14.600 align:start position:0%
will allocate that memory and also
 

00:11:14.600 --> 00:11:16.949 align:start position:0%
will allocate that memory and also
sometimes<00:11:14.800><c> the</c><00:11:14.959><c> garbage</c><00:11:15.480><c> collector</c><00:11:16.480><c> uh</c><00:11:16.600><c> will</c>

00:11:16.949 --> 00:11:16.959 align:start position:0%
sometimes the garbage collector uh will
 

00:11:16.959 --> 00:11:18.990 align:start position:0%
sometimes the garbage collector uh will
spend<00:11:17.279><c> some</c><00:11:17.560><c> some</c><00:11:17.800><c> time</c><00:11:18.079><c> to</c><00:11:18.519><c> return</c><00:11:18.839><c> that</c>

00:11:18.990 --> 00:11:19.000 align:start position:0%
spend some some time to return that
 

00:11:19.000 --> 00:11:22.350 align:start position:0%
spend some some time to return that
memory<00:11:19.720><c> to</c><00:11:19.880><c> the</c><00:11:20.079><c> system</c><00:11:20.880><c> so</c><00:11:21.200><c> instead</c><00:11:21.560><c> of</c><00:11:21.920><c> you</c>

00:11:22.350 --> 00:11:22.360 align:start position:0%
memory to the system so instead of you
 

00:11:22.360 --> 00:11:24.870 align:start position:0%
memory to the system so instead of you
instead<00:11:22.600><c> of</c><00:11:22.720><c> doing</c><00:11:23.000><c> that</c><00:11:23.279><c> you</c><00:11:23.480><c> just</c><00:11:24.360><c> set</c><00:11:24.600><c> up</c>

00:11:24.870 --> 00:11:24.880 align:start position:0%
instead of doing that you just set up
 

00:11:24.880 --> 00:11:27.509 align:start position:0%
instead of doing that you just set up
this<00:11:25.240><c> large</c><00:11:26.120><c> memory</c><00:11:26.519><c> pool</c><00:11:26.880><c> for</c><00:11:27.040><c> your</c><00:11:27.240><c> data</c>

00:11:27.509 --> 00:11:27.519 align:start position:0%
this large memory pool for your data
 

00:11:27.519 --> 00:11:30.069 align:start position:0%
this large memory pool for your data
structure<00:11:28.320><c> and</c><00:11:28.440><c> you</c><00:11:28.600><c> just</c><00:11:28.800><c> allocate</c>

00:11:30.069 --> 00:11:30.079 align:start position:0%
structure and you just allocate
 

00:11:30.079 --> 00:11:32.069 align:start position:0%
structure and you just allocate
that<00:11:30.279><c> and</c><00:11:30.480><c> use</c><00:11:30.720><c> it</c><00:11:31.240><c> and</c><00:11:31.399><c> when</c><00:11:31.519><c> you</c><00:11:31.680><c> don't</c><00:11:31.880><c> use</c>

00:11:32.069 --> 00:11:32.079 align:start position:0%
that and use it and when you don't use
 

00:11:32.079 --> 00:11:34.069 align:start position:0%
that and use it and when you don't use
it<00:11:32.480><c> when</c><00:11:32.560><c> you</c><00:11:32.720><c> don't</c><00:11:32.920><c> you're</c><00:11:33.160><c> not</c><00:11:33.760><c> you're</c><00:11:33.959><c> not</c>

00:11:34.069 --> 00:11:34.079 align:start position:0%
it when you don't you're not you're not
 

00:11:34.079 --> 00:11:35.829 align:start position:0%
it when you don't you're not you're not
using<00:11:34.320><c> it</c><00:11:34.480><c> anymore</c><00:11:34.800><c> you</c><00:11:34.920><c> just</c><00:11:35.279><c> return</c><00:11:35.560><c> it</c><00:11:35.680><c> to</c>

00:11:35.829 --> 00:11:35.839 align:start position:0%
using it anymore you just return it to
 

00:11:35.839 --> 00:11:38.069 align:start position:0%
using it anymore you just return it to
the<00:11:36.000><c> pool</c><00:11:36.560><c> and</c><00:11:36.639><c> you</c><00:11:36.800><c> keep</c><00:11:37.000><c> doing</c><00:11:37.279><c> this</c><00:11:37.760><c> so</c><00:11:37.920><c> you</c>

00:11:38.069 --> 00:11:38.079 align:start position:0%
the pool and you keep doing this so you
 

00:11:38.079 --> 00:11:40.310 align:start position:0%
the pool and you keep doing this so you
only<00:11:38.360><c> allocate</c><00:11:38.839><c> once</c><00:11:39.200><c> and</c><00:11:39.320><c> you</c><00:11:39.480><c> just</c><00:11:39.639><c> use</c><00:11:39.880><c> it</c>

00:11:40.310 --> 00:11:40.320 align:start position:0%
only allocate once and you just use it
 

00:11:40.320 --> 00:11:42.910 align:start position:0%
only allocate once and you just use it
and<00:11:40.519><c> you</c><00:11:40.720><c> just</c><00:11:41.079><c> return</c><00:11:41.279><c> it</c><00:11:41.680><c> only</c><00:11:41.959><c> once</c><00:11:42.560><c> so</c><00:11:42.800><c> by</c>

00:11:42.910 --> 00:11:42.920 align:start position:0%
and you just return it only once so by
 

00:11:42.920 --> 00:11:45.509 align:start position:0%
and you just return it only once so by
using<00:11:43.240><c> this</c><00:11:43.399><c> one</c><00:11:43.720><c> we</c><00:11:44.120><c> reduced</c><00:11:44.639><c> our</c><00:11:45.040><c> memory</c>

00:11:45.509 --> 00:11:45.519 align:start position:0%
using this one we reduced our memory
 

00:11:45.519 --> 00:11:48.350 align:start position:0%
using this one we reduced our memory
pick<00:11:46.040><c> to</c><00:11:46.399><c> 450</c>

00:11:48.350 --> 00:11:48.360 align:start position:0%
pick to 450
 

00:11:48.360 --> 00:11:52.230 align:start position:0%
pick to 450
GB<00:11:49.360><c> but</c><00:11:49.519><c> still</c><00:11:49.920><c> not</c><00:11:50.200><c> enough</c><00:11:50.880><c> so</c><00:11:51.240><c> we</c><00:11:51.440><c> use</c><00:11:51.839><c> this</c>

00:11:52.230 --> 00:11:52.240 align:start position:0%
GB but still not enough so we use this
 

00:11:52.240 --> 00:11:55.509 align:start position:0%
GB but still not enough so we use this
mem<00:11:52.600><c> limit</c><00:11:53.360><c> most</c><00:11:53.639><c> languages</c><00:11:54.360><c> they</c><00:11:55.079><c> support</c>

00:11:55.509 --> 00:11:55.519 align:start position:0%
mem limit most languages they support
 

00:11:55.519 --> 00:11:57.790 align:start position:0%
mem limit most languages they support
this<00:11:55.720><c> feature</c><00:11:56.399><c> so</c><00:11:56.600><c> it's</c><00:11:56.720><c> a</c><00:11:56.920><c> soft</c><00:11:57.279><c> limit</c><00:11:57.600><c> of</c>

00:11:57.790 --> 00:11:57.800 align:start position:0%
this feature so it's a soft limit of
 

00:11:57.800 --> 00:12:00.870 align:start position:0%
this feature so it's a soft limit of
memory<00:11:58.240><c> pick</c><00:11:59.000><c> so</c><00:11:59.240><c> so</c><00:11:59.519><c> the</c><00:11:59.680><c> language</c><00:12:00.279><c> for</c><00:12:00.560><c> you</c>

00:12:00.870 --> 00:12:00.880 align:start position:0%
memory pick so so the language for you
 

00:12:00.880 --> 00:12:02.910 align:start position:0%
memory pick so so the language for you
they<00:12:01.079><c> trigger</c><00:12:01.760><c> garbage</c><00:12:02.160><c> collection</c><00:12:02.600><c> when</c><00:12:02.760><c> the</c>

00:12:02.910 --> 00:12:02.920 align:start position:0%
they trigger garbage collection when the
 

00:12:02.920 --> 00:12:06.310 align:start position:0%
they trigger garbage collection when the
memory<00:12:03.240><c> usage</c><00:12:03.760><c> hits</c><00:12:04.560><c> uh</c><00:12:04.720><c> this</c><00:12:04.959><c> memory</c><00:12:05.680><c> limit</c>

00:12:06.310 --> 00:12:06.320 align:start position:0%
memory usage hits uh this memory limit
 

00:12:06.320 --> 00:12:09.110 align:start position:0%
memory usage hits uh this memory limit
so<00:12:06.480><c> in</c><00:12:06.600><c> our</c><00:12:06.880><c> case</c><00:12:07.240><c> when</c><00:12:07.360><c> you</c><00:12:07.480><c> see</c><00:12:08.079><c> here</c><00:12:08.880><c> uh</c><00:12:09.000><c> in</c>

00:12:09.110 --> 00:12:09.120 align:start position:0%
so in our case when you see here uh in
 

00:12:09.120 --> 00:12:12.509 align:start position:0%
so in our case when you see here uh in
the<00:12:09.560><c> inside</c><00:12:10.519><c> right</c><00:12:10.839><c> Circle</c><00:12:11.560><c> we</c><00:12:11.680><c> have</c><00:12:12.000><c> many</c>

00:12:12.509 --> 00:12:12.519 align:start position:0%
the inside right Circle we have many
 

00:12:12.519 --> 00:12:14.750 align:start position:0%
the inside right Circle we have many
many<00:12:12.800><c> memory</c><00:12:13.160><c> pcks</c><00:12:13.600><c> but</c><00:12:13.800><c> that's</c><00:12:14.120><c> exactly</c>

00:12:14.750 --> 00:12:14.760 align:start position:0%
many memory pcks but that's exactly
 

00:12:14.760 --> 00:12:17.670 align:start position:0%
many memory pcks but that's exactly
around<00:12:15.279><c> 307</c><00:12:16.160><c> gigabyte</c><00:12:16.920><c> so</c><00:12:17.160><c> your</c><00:12:17.440><c> your</c>

00:12:17.670 --> 00:12:17.680 align:start position:0%
around 307 gigabyte so your your
 

00:12:17.680 --> 00:12:20.069 align:start position:0%
around 307 gigabyte so your your
language<00:12:18.040><c> or</c><00:12:18.240><c> run</c><00:12:18.560><c> time</c><00:12:18.800><c> will</c><00:12:19.120><c> just</c><00:12:19.600><c> run</c>

00:12:20.069 --> 00:12:20.079 align:start position:0%
language or run time will just run
 

00:12:20.079 --> 00:12:23.310 align:start position:0%
language or run time will just run
garbage<00:12:20.480><c> collection</c><00:12:21.199><c> so</c><00:12:21.480><c> it</c><00:12:21.639><c> will</c><00:12:21.880><c> not</c><00:12:22.519><c> go</c><00:12:22.720><c> up</c>

00:12:23.310 --> 00:12:23.320 align:start position:0%
garbage collection so it will not go up
 

00:12:23.320 --> 00:12:26.910 align:start position:0%
garbage collection so it will not go up
above<00:12:23.880><c> like</c><00:12:24.279><c> 37</c><00:12:25.279><c> uh</c><00:12:25.519><c> gigabyte</c><00:12:26.079><c> here</c><00:12:26.639><c> so</c>

00:12:26.910 --> 00:12:26.920 align:start position:0%
above like 37 uh gigabyte here so
 

00:12:26.920 --> 00:12:29.509 align:start position:0%
above like 37 uh gigabyte here so
finally<00:12:27.360><c> we</c><00:12:27.440><c> were</c><00:12:27.639><c> able</c><00:12:27.880><c> to</c><00:12:28.079><c> move</c><00:12:28.360><c> to</c><00:12:29.360><c> the</c>

00:12:29.509 --> 00:12:29.519 align:start position:0%
finally we were able to move to the
 

00:12:29.519 --> 00:12:31.829 align:start position:0%
finally we were able to move to the
smaller<00:12:29.920><c> machine</c><00:12:30.800><c> and</c><00:12:31.000><c> then</c><00:12:31.199><c> but</c><00:12:31.360><c> with</c><00:12:31.600><c> more</c>

00:12:31.829 --> 00:12:31.839 align:start position:0%
smaller machine and then but with more
 

00:12:31.839 --> 00:12:35.069 align:start position:0%
smaller machine and then but with more
course<00:12:32.199><c> and</c><00:12:32.360><c> cheaper</c><00:12:33.320><c> machine</c><00:12:34.320><c> but</c><00:12:34.600><c> we</c><00:12:34.800><c> found</c>

00:12:35.069 --> 00:12:35.079 align:start position:0%
course and cheaper machine but we found
 

00:12:35.079 --> 00:12:37.509 align:start position:0%
course and cheaper machine but we found
out<00:12:35.480><c> we</c><00:12:35.600><c> are</c><00:12:35.800><c> spending</c><00:12:36.160><c> too</c><00:12:36.320><c> much</c><00:12:36.600><c> time</c><00:12:37.279><c> in</c>

00:12:37.509 --> 00:12:37.519 align:start position:0%
out we are spending too much time in
 

00:12:37.519 --> 00:12:40.470 align:start position:0%
out we are spending too much time in
these<00:12:37.839><c> specific</c><00:12:38.920><c> areas</c><00:12:39.920><c> uh</c><00:12:40.040><c> because</c><00:12:40.279><c> of</c>

00:12:40.470 --> 00:12:40.480 align:start position:0%
these specific areas uh because of
 

00:12:40.480 --> 00:12:42.990 align:start position:0%
these specific areas uh because of
garbage<00:12:40.880><c> collection</c><00:12:41.839><c> so</c><00:12:42.320><c> we</c><00:12:42.480><c> thought</c><00:12:42.760><c> maybe</c>

00:12:42.990 --> 00:12:43.000 align:start position:0%
garbage collection so we thought maybe
 

00:12:43.000 --> 00:12:45.470 align:start position:0%
garbage collection so we thought maybe
we<00:12:43.120><c> need</c><00:12:43.240><c> to</c><00:12:43.399><c> do</c><00:12:43.560><c> something</c><00:12:43.920><c> more</c><00:12:44.920><c> um</c><00:12:45.199><c> so</c>

00:12:45.470 --> 00:12:45.480 align:start position:0%
we need to do something more um so
 

00:12:45.480 --> 00:12:48.350 align:start position:0%
we need to do something more um so
garbage<00:12:45.839><c> collection</c><00:12:46.720><c> is</c><00:12:47.040><c> something</c><00:12:47.519><c> that</c>

00:12:48.350 --> 00:12:48.360 align:start position:0%
garbage collection is something that
 

00:12:48.360 --> 00:12:50.829 align:start position:0%
garbage collection is something that
many<00:12:48.959><c> in</c><00:12:49.279><c> many</c><00:12:49.560><c> garbage</c><00:12:49.920><c> collected</c><00:12:50.320><c> languages</c>

00:12:50.829 --> 00:12:50.839 align:start position:0%
many in many garbage collected languages
 

00:12:50.839 --> 00:12:52.550 align:start position:0%
many in many garbage collected languages
they<00:12:51.000><c> just</c><00:12:51.120><c> do</c><00:12:51.320><c> it</c><00:12:51.440><c> for</c><00:12:51.639><c> you</c><00:12:52.000><c> right</c><00:12:52.199><c> so</c><00:12:52.320><c> it's</c>

00:12:52.550 --> 00:12:52.560 align:start position:0%
they just do it for you right so it's
 

00:12:52.560 --> 00:12:55.949 align:start position:0%
they just do it for you right so it's
very<00:12:52.880><c> convenient</c><00:12:53.959><c> but</c><00:12:54.959><c> it's</c><00:12:55.240><c> really</c><00:12:55.519><c> hard</c><00:12:55.760><c> to</c>

00:12:55.949 --> 00:12:55.959 align:start position:0%
very convenient but it's really hard to
 

00:12:55.959 --> 00:12:59.590 align:start position:0%
very convenient but it's really hard to
predict<00:12:56.480><c> when</c><00:12:56.800><c> this</c><00:12:57.000><c> will</c><00:12:57.560><c> be</c><00:12:58.560><c> when</c><00:12:58.760><c> this</c><00:12:58.880><c> will</c>

00:12:59.590 --> 00:12:59.600 align:start position:0%
predict when this will be when this will
 

00:12:59.600 --> 00:13:01.790 align:start position:0%
predict when this will be when this will
and<00:12:59.800><c> this</c><00:12:59.920><c> will</c><00:13:00.240><c> happen</c><00:13:00.680><c> so</c><00:13:01.279><c> what</c><00:13:01.440><c> if</c><00:13:01.560><c> it</c>

00:13:01.790 --> 00:13:01.800 align:start position:0%
and this will happen so what if it
 

00:13:01.800 --> 00:13:04.629 align:start position:0%
and this will happen so what if it
happens<00:13:02.240><c> during</c><00:13:02.560><c> a</c><00:13:02.760><c> very</c><00:13:03.079><c> critical</c><00:13:03.800><c> tasks</c><00:13:04.279><c> or</c>

00:13:04.629 --> 00:13:04.639 align:start position:0%
happens during a very critical tasks or
 

00:13:04.639 --> 00:13:07.990 align:start position:0%
happens during a very critical tasks or
areas<00:13:05.199><c> of</c><00:13:05.360><c> your</c><00:13:05.760><c> code</c><00:13:06.760><c> this</c><00:13:07.040><c> this</c><00:13:07.279><c> will</c><00:13:07.480><c> be</c><00:13:07.760><c> a</c>

00:13:07.990 --> 00:13:08.000 align:start position:0%
areas of your code this this will be a
 

00:13:08.000 --> 00:13:11.590 align:start position:0%
areas of your code this this will be a
huge<00:13:08.519><c> problem</c><00:13:09.519><c> for</c><00:13:09.720><c> example</c><00:13:10.600><c> in</c><00:13:10.760><c> our</c><00:13:11.040><c> code</c>

00:13:11.590 --> 00:13:11.600 align:start position:0%
huge problem for example in our code
 

00:13:11.600 --> 00:13:15.230 align:start position:0%
huge problem for example in our code
here<00:13:12.600><c> so</c><00:13:13.000><c> we</c><00:13:13.120><c> are</c><00:13:13.440><c> doing</c><00:13:13.720><c> some</c><00:13:13.920><c> fft</c><00:13:14.399><c> inverse</c>

00:13:15.230 --> 00:13:15.240 align:start position:0%
here so we are doing some fft inverse
 

00:13:15.240 --> 00:13:18.790 align:start position:0%
here so we are doing some fft inverse
function<00:13:15.720><c> over</c><00:13:16.000><c> there</c><00:13:16.880><c> and</c><00:13:17.680><c> it's</c><00:13:17.920><c> very</c><00:13:18.360><c> CPU</c>

00:13:18.790 --> 00:13:18.800 align:start position:0%
function over there and it's very CPU
 

00:13:18.800 --> 00:13:21.670 align:start position:0%
function over there and it's very CPU
intensive<00:13:19.279><c> and</c><00:13:19.440><c> memory</c><00:13:19.839><c> intensive</c><00:13:20.519><c> so</c><00:13:21.480><c> we</c>

00:13:21.670 --> 00:13:21.680 align:start position:0%
intensive and memory intensive so we
 

00:13:21.680 --> 00:13:23.509 align:start position:0%
intensive and memory intensive so we
realize<00:13:22.360><c> that</c><00:13:22.760><c> every</c>

00:13:23.509 --> 00:13:23.519 align:start position:0%
realize that every
 

00:13:23.519 --> 00:13:27.150 align:start position:0%
realize that every
time<00:13:24.519><c> when</c><00:13:24.720><c> this</c><00:13:24.920><c> part</c><00:13:25.240><c> is</c><00:13:25.639><c> running</c><00:13:26.639><c> the</c><00:13:26.959><c> the</c>

00:13:27.150 --> 00:13:27.160 align:start position:0%
time when this part is running the the
 

00:13:27.160 --> 00:13:29.629 align:start position:0%
time when this part is running the the
runtime<00:13:27.720><c> language</c><00:13:28.079><c> runtime</c><00:13:28.680><c> try</c><00:13:28.959><c> to</c><00:13:29.120><c> to</c>

00:13:29.629 --> 00:13:29.639 align:start position:0%
runtime language runtime try to to
 

00:13:29.639 --> 00:13:32.069 align:start position:0%
runtime language runtime try to to
actually<00:13:29.920><c> run</c><00:13:30.240><c> garbage</c><00:13:30.600><c> collection</c><00:13:31.079><c> randomly</c>

00:13:32.069 --> 00:13:32.079 align:start position:0%
actually run garbage collection randomly
 

00:13:32.079 --> 00:13:34.030 align:start position:0%
actually run garbage collection randomly
and<00:13:32.360><c> because</c><00:13:32.600><c> this</c><00:13:32.760><c> is</c><00:13:32.959><c> really</c><00:13:33.240><c> critical</c><00:13:33.920><c> in</c>

00:13:34.030 --> 00:13:34.040 align:start position:0%
and because this is really critical in
 

00:13:34.040 --> 00:13:36.509 align:start position:0%
and because this is really critical in
terms<00:13:34.320><c> of</c><00:13:34.519><c> CPU</c><00:13:34.920><c> usage</c><00:13:35.199><c> and</c><00:13:35.360><c> memory</c><00:13:35.720><c> usage</c><00:13:36.360><c> it</c>

00:13:36.509 --> 00:13:36.519 align:start position:0%
terms of CPU usage and memory usage it
 

00:13:36.519 --> 00:13:39.150 align:start position:0%
terms of CPU usage and memory usage it
slowed<00:13:36.959><c> down</c><00:13:37.320><c> the</c><00:13:37.480><c> pro</c><00:13:37.680><c> whole</c><00:13:37.920><c> program</c><00:13:38.279><c> a</c><00:13:38.440><c> lot</c>

00:13:39.150 --> 00:13:39.160 align:start position:0%
slowed down the pro whole program a lot
 

00:13:39.160 --> 00:13:42.829 align:start position:0%
slowed down the pro whole program a lot
so<00:13:39.639><c> so</c><00:13:40.240><c> uh</c><00:13:40.360><c> we</c><00:13:40.519><c> realized</c><00:13:41.480><c> let's</c><00:13:42.120><c> manually</c>

00:13:42.829 --> 00:13:42.839 align:start position:0%
so so uh we realized let's manually
 

00:13:42.839 --> 00:13:45.629 align:start position:0%
so so uh we realized let's manually
garbage<00:13:43.360><c> collect</c><00:13:44.360><c> before</c><00:13:44.720><c> entering</c><00:13:45.440><c> that</c>

00:13:45.629 --> 00:13:45.639 align:start position:0%
garbage collect before entering that
 

00:13:45.639 --> 00:13:48.430 align:start position:0%
garbage collect before entering that
critical<00:13:46.120><c> areas</c><00:13:47.079><c> so</c><00:13:47.399><c> we</c><00:13:47.600><c> decide</c><00:13:47.920><c> to</c><00:13:48.120><c> run</c>

00:13:48.430 --> 00:13:48.440 align:start position:0%
critical areas so we decide to run
 

00:13:48.440 --> 00:13:50.670 align:start position:0%
critical areas so we decide to run
manual<00:13:49.160><c> garbage</c><00:13:49.519><c> collection</c><00:13:50.079><c> before</c><00:13:50.440><c> these</c>

00:13:50.670 --> 00:13:50.680 align:start position:0%
manual garbage collection before these
 

00:13:50.680 --> 00:13:53.990 align:start position:0%
manual garbage collection before these
critical<00:13:51.720><c> tasks</c><00:13:52.720><c> so</c><00:13:52.959><c> that</c><00:13:53.199><c> we</c><00:13:53.399><c> have</c><00:13:53.639><c> less</c>

00:13:53.990 --> 00:13:54.000 align:start position:0%
critical tasks so that we have less
 

00:13:54.000 --> 00:13:56.550 align:start position:0%
critical tasks so that we have less
context<00:13:54.399><c> switching</c><00:13:54.839><c> overhead</c><00:13:55.720><c> inside</c><00:13:56.279><c> or</c>

00:13:56.550 --> 00:13:56.560 align:start position:0%
context switching overhead inside or
 

00:13:56.560 --> 00:13:59.310 align:start position:0%
context switching overhead inside or
during<00:13:57.040><c> these</c><00:13:57.320><c> critical</c><00:13:57.800><c> areas</c><00:13:58.759><c> and</c><00:13:59.120><c> which</c>

00:13:59.310 --> 00:13:59.320 align:start position:0%
during these critical areas and which
 

00:13:59.320 --> 00:14:02.310 align:start position:0%
during these critical areas and which
actually<00:13:59.639><c> reduce</c><00:14:00.079><c> the</c><00:14:00.199><c> runtime</c><00:14:00.680><c> a</c><00:14:00.839><c> lot</c><00:14:01.440><c> so</c><00:14:02.199><c> uh</c>

00:14:02.310 --> 00:14:02.320 align:start position:0%
actually reduce the runtime a lot so uh
 

00:14:02.320 --> 00:14:04.749 align:start position:0%
actually reduce the runtime a lot so uh
if<00:14:02.440><c> you</c><00:14:02.600><c> have</c><00:14:02.800><c> these</c><00:14:03.000><c> kind</c><00:14:03.120><c> of</c><00:14:03.320><c> issues</c><00:14:03.880><c> you</c><00:14:04.600><c> you</c>

00:14:04.749 --> 00:14:04.759 align:start position:0%
if you have these kind of issues you you
 

00:14:04.759 --> 00:14:07.150 align:start position:0%
if you have these kind of issues you you
can<00:14:05.000><c> just</c><00:14:05.279><c> manually</c><00:14:05.880><c> run</c><00:14:06.240><c> garbage</c><00:14:06.600><c> collection</c>

00:14:07.150 --> 00:14:07.160 align:start position:0%
can just manually run garbage collection
 

00:14:07.160 --> 00:14:09.230 align:start position:0%
can just manually run garbage collection
before<00:14:07.560><c> those</c><00:14:07.800><c> areas</c><00:14:08.240><c> and</c><00:14:08.480><c> will</c><00:14:08.639><c> you</c><00:14:08.759><c> will</c><00:14:09.040><c> get</c>

00:14:09.230 --> 00:14:09.240 align:start position:0%
before those areas and will you will get
 

00:14:09.240 --> 00:14:10.470 align:start position:0%
before those areas and will you will get
a<00:14:09.360><c> lot</c><00:14:09.480><c> of</c>

00:14:10.470 --> 00:14:10.480 align:start position:0%
a lot of
 

00:14:10.480 --> 00:14:13.790 align:start position:0%
a lot of
improvement<00:14:11.480><c> lastly</c><00:14:12.279><c> um</c><00:14:12.920><c> so</c><00:14:13.320><c> we</c><00:14:13.440><c> felt</c>

00:14:13.790 --> 00:14:13.800 align:start position:0%
improvement lastly um so we felt
 

00:14:13.800 --> 00:14:15.509 align:start position:0%
improvement lastly um so we felt
everything's<00:14:14.320><c> okay</c><00:14:14.560><c> looks</c><00:14:14.880><c> good</c><00:14:15.120><c> but</c>

00:14:15.509 --> 00:14:15.519 align:start position:0%
everything's okay looks good but
 

00:14:15.519 --> 00:14:18.110 align:start position:0%
everything's okay looks good but
sometimes<00:14:16.040><c> when</c><00:14:16.160><c> you</c><00:14:16.320><c> have</c><00:14:16.600><c> really</c><00:14:17.040><c> large</c><00:14:17.959><c> uh</c>

00:14:18.110 --> 00:14:18.120 align:start position:0%
sometimes when you have really large uh
 

00:14:18.120 --> 00:14:21.710 align:start position:0%
sometimes when you have really large uh
input<00:14:18.639><c> data</c><00:14:19.639><c> um</c><00:14:20.000><c> you</c><00:14:20.360><c> you</c><00:14:20.480><c> will</c><00:14:20.639><c> see</c><00:14:21.240><c> sometimes</c>

00:14:21.710 --> 00:14:21.720 align:start position:0%
input data um you you will see sometimes
 

00:14:21.720 --> 00:14:25.110 align:start position:0%
input data um you you will see sometimes
out<00:14:21.880><c> of</c><00:14:22.040><c> memory</c><00:14:22.399><c> issue</c><00:14:22.800><c> right</c><00:14:23.680><c> uh</c><00:14:24.120><c> and</c><00:14:24.759><c> because</c>

00:14:25.110 --> 00:14:25.120 align:start position:0%
out of memory issue right uh and because
 

00:14:25.120 --> 00:14:27.629 align:start position:0%
out of memory issue right uh and because
we<00:14:25.399><c> have</c><00:14:25.600><c> a</c><00:14:25.759><c> very</c><00:14:26.040><c> specific</c><00:14:26.519><c> size</c><00:14:26.839><c> of</c><00:14:27.279><c> physical</c>

00:14:27.629 --> 00:14:27.639 align:start position:0%
we have a very specific size of physical
 

00:14:27.639 --> 00:14:30.990 align:start position:0%
we have a very specific size of physical
memory<00:14:28.120><c> it's</c><00:14:28.360><c> not</c><00:14:28.560><c> easy</c><00:14:28.759><c> to</c><00:14:29.160><c> to</c><00:14:29.920><c> solve</c><00:14:30.399><c> that</c><00:14:30.639><c> so</c>

00:14:30.990 --> 00:14:31.000 align:start position:0%
memory it's not easy to to solve that so
 

00:14:31.000 --> 00:14:33.509 align:start position:0%
memory it's not easy to to solve that so
sometimes<00:14:31.240><c> you</c><00:14:31.360><c> need</c><00:14:31.480><c> to</c><00:14:31.639><c> move</c><00:14:32.120><c> to</c><00:14:33.120><c> larger</c>

00:14:33.509 --> 00:14:33.519 align:start position:0%
sometimes you need to move to larger
 

00:14:33.519 --> 00:14:35.949 align:start position:0%
sometimes you need to move to larger
machine<00:14:33.959><c> very</c><00:14:34.320><c> expensive</c><00:14:35.320><c> machine</c><00:14:35.720><c> with</c>

00:14:35.949 --> 00:14:35.959 align:start position:0%
machine very expensive machine with
 

00:14:35.959 --> 00:14:37.870 align:start position:0%
machine very expensive machine with
larger<00:14:36.360><c> memory</c><00:14:37.079><c> and</c><00:14:37.160><c> then</c><00:14:37.279><c> you</c><00:14:37.360><c> have</c><00:14:37.480><c> to</c><00:14:37.639><c> learn</c>

00:14:37.870 --> 00:14:37.880 align:start position:0%
larger memory and then you have to learn
 

00:14:37.880 --> 00:14:40.269 align:start position:0%
larger memory and then you have to learn
run<00:14:38.199><c> that</c><00:14:38.759><c> but</c><00:14:39.000><c> we</c><00:14:39.240><c> we</c><00:14:39.480><c> we</c><00:14:39.600><c> find</c><00:14:39.839><c> out</c><00:14:40.079><c> this</c>

00:14:40.269 --> 00:14:40.279 align:start position:0%
run that but we we we find out this
 

00:14:40.279 --> 00:14:42.350 align:start position:0%
run that but we we we find out this
solution<00:14:40.800><c> it's</c><00:14:41.000><c> called</c><00:14:41.399><c> zerm</c><00:14:42.000><c> it's</c><00:14:42.120><c> a</c>

00:14:42.350 --> 00:14:42.360 align:start position:0%
solution it's called zerm it's a
 

00:14:42.360 --> 00:14:46.030 align:start position:0%
solution it's called zerm it's a
inmemory<00:14:43.160><c> swap</c><00:14:43.639><c> feature</c><00:14:44.519><c> most</c><00:14:45.160><c> Linux</c><00:14:45.560><c> systems</c>

00:14:46.030 --> 00:14:46.040 align:start position:0%
inmemory swap feature most Linux systems
 

00:14:46.040 --> 00:14:48.670 align:start position:0%
inmemory swap feature most Linux systems
have<00:14:46.279><c> this</c><00:14:46.759><c> feure</c><00:14:47.639><c> and</c><00:14:47.880><c> you</c><00:14:48.000><c> can</c><00:14:48.160><c> just</c><00:14:48.320><c> turn</c><00:14:48.519><c> it</c>

00:14:48.670 --> 00:14:48.680 align:start position:0%
have this feure and you can just turn it
 

00:14:48.680 --> 00:14:51.030 align:start position:0%
have this feure and you can just turn it
on<00:14:48.839><c> and</c><00:14:48.959><c> turn</c><00:14:49.160><c> it</c><00:14:49.320><c> off</c><00:14:49.959><c> we</c><00:14:50.120><c> all</c><00:14:50.320><c> know</c><00:14:50.519><c> the</c><00:14:50.639><c> swap</c>

00:14:51.030 --> 00:14:51.040 align:start position:0%
on and turn it off we all know the swap
 

00:14:51.040 --> 00:14:53.670 align:start position:0%
on and turn it off we all know the swap
space<00:14:51.440><c> in</c><00:14:52.040><c> uh</c><00:14:52.160><c> storage</c><00:14:52.600><c> or</c><00:14:52.800><c> dis</c><00:14:53.320><c> right</c><00:14:53.519><c> but</c>

00:14:53.670 --> 00:14:53.680 align:start position:0%
space in uh storage or dis right but
 

00:14:53.680 --> 00:14:55.829 align:start position:0%
space in uh storage or dis right but
it's<00:14:53.880><c> slow</c><00:14:54.320><c> so</c><00:14:54.480><c> in</c><00:14:54.680><c> production</c><00:14:55.040><c> it's</c><00:14:55.480><c> almost</c>

00:14:55.829 --> 00:14:55.839 align:start position:0%
it's slow so in production it's almost
 

00:14:55.839 --> 00:14:58.430 align:start position:0%
it's slow so in production it's almost
hard<00:14:56.279><c> um</c><00:14:56.639><c> it's</c><00:14:56.880><c> impossible</c><00:14:57.320><c> to</c><00:14:57.480><c> use</c><00:14:57.680><c> it</c><00:14:58.240><c> but</c>

00:14:58.430 --> 00:14:58.440 align:start position:0%
hard um it's impossible to use it but
 

00:14:58.440 --> 00:15:01.110 align:start position:0%
hard um it's impossible to use it but
this<00:14:58.639><c> feature</c><00:14:59.040><c> here</c><00:14:59.240><c> it's</c><00:14:59.519><c> inmemory</c><00:15:00.079><c> swap</c><00:15:00.839><c> so</c>

00:15:01.110 --> 00:15:01.120 align:start position:0%
this feature here it's inmemory swap so
 

00:15:01.120 --> 00:15:03.150 align:start position:0%
this feature here it's inmemory swap so
this<00:15:01.279><c> one</c><00:15:01.600><c> if</c><00:15:01.759><c> you</c><00:15:01.880><c> don't</c><00:15:02.120><c> have</c><00:15:02.320><c> enough</c><00:15:02.639><c> memory</c>

00:15:03.150 --> 00:15:03.160 align:start position:0%
this one if you don't have enough memory
 

00:15:03.160 --> 00:15:05.509 align:start position:0%
this one if you don't have enough memory
this<00:15:03.320><c> will</c><00:15:03.639><c> compress</c><00:15:04.240><c> your</c><00:15:04.519><c> data</c><00:15:04.959><c> inside</c><00:15:05.320><c> your</c>

00:15:05.509 --> 00:15:05.519 align:start position:0%
this will compress your data inside your
 

00:15:05.519 --> 00:15:08.269 align:start position:0%
this will compress your data inside your
memory<00:15:06.360><c> and</c><00:15:06.680><c> will</c><00:15:06.880><c> just</c><00:15:07.120><c> sort</c><00:15:07.600><c> that</c><00:15:07.959><c> within</c>

00:15:08.269 --> 00:15:08.279 align:start position:0%
memory and will just sort that within
 

00:15:08.279 --> 00:15:11.710 align:start position:0%
memory and will just sort that within
your<00:15:08.560><c> memory</c><00:15:09.480><c> so</c><00:15:10.279><c> for</c><00:15:10.519><c> example</c><00:15:11.079><c> over</c><00:15:11.399><c> there</c>

00:15:11.710 --> 00:15:11.720 align:start position:0%
your memory so for example over there
 

00:15:11.720 --> 00:15:15.870 align:start position:0%
your memory so for example over there
you<00:15:11.920><c> have</c><00:15:12.240><c> like</c><00:15:12.759><c> we</c><00:15:12.920><c> have</c><00:15:13.120><c> like</c><00:15:13.399><c> 74</c><00:15:14.399><c> 7</c><00:15:15.079><c> 140</c><00:15:15.360><c> gab</c>

00:15:15.870 --> 00:15:15.880 align:start position:0%
you have like we have like 74 7 140 gab
 

00:15:15.880 --> 00:15:18.949 align:start position:0%
you have like we have like 74 7 140 gab
of<00:15:16.440><c> memory</c><00:15:16.839><c> physical</c><00:15:17.279><c> memory</c><00:15:18.000><c> but</c><00:15:18.160><c> I</c><00:15:18.279><c> set</c><00:15:18.519><c> up</c>

00:15:18.949 --> 00:15:18.959 align:start position:0%
of memory physical memory but I set up
 

00:15:18.959 --> 00:15:23.550 align:start position:0%
of memory physical memory but I set up
like<00:15:19.519><c> 100</c><00:15:20.519><c> 1.5</c><00:15:21.360><c> terabyte</c><00:15:21.959><c> of</c><00:15:22.160><c> swap</c><00:15:22.560><c> space</c><00:15:23.360><c> so</c>

00:15:23.550 --> 00:15:23.560 align:start position:0%
like 100 1.5 terabyte of swap space so
 

00:15:23.560 --> 00:15:27.189 align:start position:0%
like 100 1.5 terabyte of swap space so
you<00:15:23.759><c> can</c><00:15:24.120><c> actually</c><00:15:25.000><c> have</c><00:15:25.480><c> a</c><00:15:25.639><c> lot</c><00:15:25.920><c> more</c><00:15:26.480><c> memory</c>

00:15:27.189 --> 00:15:27.199 align:start position:0%
you can actually have a lot more memory
 

00:15:27.199 --> 00:15:30.470 align:start position:0%
you can actually have a lot more memory
and<00:15:27.399><c> that</c><00:15:27.639><c> kind</c><00:15:27.959><c> of</c><00:15:29.040><c> fast</c><00:15:29.360><c> swoft</c><00:15:29.800><c> space</c><00:15:30.360><c> in</c>

00:15:30.470 --> 00:15:30.480 align:start position:0%
and that kind of fast swoft space in
 

00:15:30.480 --> 00:15:32.949 align:start position:0%
and that kind of fast swoft space in
your<00:15:30.759><c> system</c><00:15:31.600><c> so</c><00:15:31.800><c> we</c><00:15:31.920><c> are</c><00:15:32.240><c> actively</c><00:15:32.639><c> using</c>

00:15:32.949 --> 00:15:32.959 align:start position:0%
your system so we are actively using
 

00:15:32.959 --> 00:15:35.389 align:start position:0%
your system so we are actively using
this<00:15:33.160><c> for</c><00:15:33.920><c> massive</c><00:15:34.319><c> integration</c><00:15:34.880><c> test</c><00:15:35.240><c> with</c>

00:15:35.389 --> 00:15:35.399 align:start position:0%
this for massive integration test with
 

00:15:35.399 --> 00:15:37.990 align:start position:0%
this for massive integration test with
terabytes<00:15:36.079><c> of</c><00:15:36.600><c> memory</c>

00:15:37.990 --> 00:15:38.000 align:start position:0%
terabytes of memory
 

00:15:38.000 --> 00:15:41.590 align:start position:0%
terabytes of memory
usage<00:15:39.000><c> so</c><00:15:39.279><c> finally</c><00:15:39.639><c> we</c><00:15:39.800><c> got</c><00:15:40.000><c> two</c><00:15:40.319><c> happy</c><00:15:40.920><c> okay</c>

00:15:41.590 --> 00:15:41.600 align:start position:0%
usage so finally we got two happy okay
 

00:15:41.600 --> 00:15:45.150 align:start position:0%
usage so finally we got two happy okay
cats<00:15:42.600><c> uh</c><00:15:42.720><c> and</c><00:15:42.880><c> let's</c><00:15:43.600><c> um</c><00:15:44.120><c> I</c><00:15:44.240><c> will'll</c><00:15:44.720><c> share</c>

00:15:45.150 --> 00:15:45.160 align:start position:0%
cats uh and let's um I will'll share
 

00:15:45.160 --> 00:15:48.990 align:start position:0%
cats uh and let's um I will'll share
quickly<00:15:45.800><c> one</c><00:15:45.959><c> more</c><00:15:46.480><c> optimization</c><00:15:47.240><c> things</c><00:15:48.000><c> so</c>

00:15:48.990 --> 00:15:49.000 align:start position:0%
quickly one more optimization things so
 

00:15:49.000 --> 00:15:51.470 align:start position:0%
quickly one more optimization things so
one<00:15:49.199><c> thing</c><00:15:49.399><c> is</c><00:15:49.600><c> data</c><00:15:49.920><c> compression</c><00:15:50.639><c> so</c><00:15:50.880><c> we</c>

00:15:51.470 --> 00:15:51.480 align:start position:0%
one thing is data compression so we
 

00:15:51.480 --> 00:15:55.509 align:start position:0%
one thing is data compression so we
realized<00:15:52.480><c> the</c><00:15:52.800><c> trans</c><00:15:53.360><c> data</c><00:15:53.759><c> has</c><00:15:54.560><c> really</c><00:15:55.240><c> high</c>

00:15:55.509 --> 00:15:55.519 align:start position:0%
realized the trans data has really high
 

00:15:55.519 --> 00:15:59.749 align:start position:0%
realized the trans data has really high
compression<00:15:56.000><c> ratio</c><00:15:56.839><c> so</c><00:15:57.440><c> if</c><00:15:57.560><c> you</c><00:15:58.120><c> IO</c><00:15:58.560><c> or</c>

00:15:59.749 --> 00:15:59.759 align:start position:0%
compression ratio so if you IO or
 

00:15:59.759 --> 00:16:01.350 align:start position:0%
compression ratio so if you IO or
network<00:16:00.199><c> is</c><00:16:00.279><c> the</c><00:16:00.440><c> bottle</c><00:16:00.759><c> deck</c><00:16:00.920><c> you</c><00:16:01.000><c> can</c><00:16:01.160><c> just</c>

00:16:01.350 --> 00:16:01.360 align:start position:0%
network is the bottle deck you can just
 

00:16:01.360 --> 00:16:04.749 align:start position:0%
network is the bottle deck you can just
compress<00:16:01.800><c> it</c><00:16:02.560><c> and</c><00:16:02.759><c> for</c><00:16:03.000><c> example</c><00:16:03.519><c> our</c><00:16:04.040><c> case</c><00:16:04.399><c> 40</c>

00:16:04.749 --> 00:16:04.759 align:start position:0%
compress it and for example our case 40
 

00:16:04.759 --> 00:16:07.749 align:start position:0%
compress it and for example our case 40
gab<00:16:05.279><c> of</c><00:16:05.440><c> Tres</c><00:16:06.000><c> could</c><00:16:06.160><c> be</c><00:16:06.639><c> um</c><00:16:06.759><c> 2</c><00:16:07.040><c> gigabyte</c><00:16:07.519><c> of</c>

00:16:07.749 --> 00:16:07.759 align:start position:0%
gab of Tres could be um 2 gigabyte of
 

00:16:07.759 --> 00:16:11.509 align:start position:0%
gab of Tres could be um 2 gigabyte of
trace<00:16:08.759><c> and</c><00:16:08.920><c> zero</c><00:16:09.240><c> isation</c><00:16:10.079><c> is</c><00:16:10.240><c> a</c><00:16:10.560><c> kind</c><00:16:10.759><c> of</c><00:16:11.120><c> time</c>

00:16:11.509 --> 00:16:11.519 align:start position:0%
trace and zero isation is a kind of time
 

00:16:11.519 --> 00:16:15.230 align:start position:0%
trace and zero isation is a kind of time
you<00:16:11.759><c> you</c><00:16:11.920><c> spend</c><00:16:12.519><c> on</c><00:16:13.079><c> initializing</c><00:16:13.759><c> your</c><00:16:14.240><c> data</c>

00:16:15.230 --> 00:16:15.240 align:start position:0%
you you spend on initializing your data
 

00:16:15.240 --> 00:16:17.749 align:start position:0%
you you spend on initializing your data
so<00:16:15.920><c> because</c><00:16:16.600><c> you</c><00:16:16.759><c> we</c><00:16:16.839><c> are</c><00:16:17.000><c> dealing</c><00:16:17.319><c> with</c><00:16:17.519><c> very</c>

00:16:17.749 --> 00:16:17.759 align:start position:0%
so because you we are dealing with very
 

00:16:17.759 --> 00:16:20.069 align:start position:0%
so because you we are dealing with very
large<00:16:18.120><c> data</c><00:16:18.480><c> set</c><00:16:18.720><c> and</c><00:16:18.920><c> very</c><00:16:19.240><c> large</c><00:16:19.600><c> data</c>

00:16:20.069 --> 00:16:20.079 align:start position:0%
large data set and very large data
 

00:16:20.079 --> 00:16:23.110 align:start position:0%
large data set and very large data
structure<00:16:21.079><c> sometimes</c><00:16:21.480><c> time</c><00:16:21.759><c> time</c><00:16:22.000><c> taken</c><00:16:22.319><c> for</c>

00:16:23.110 --> 00:16:23.120 align:start position:0%
structure sometimes time time taken for
 

00:16:23.120 --> 00:16:26.309 align:start position:0%
structure sometimes time time taken for
uh<00:16:23.680><c> initializing</c><00:16:24.319><c> your</c><00:16:24.519><c> data</c><00:16:24.800><c> is</c><00:16:25.000><c> a</c><00:16:25.160><c> lot</c><00:16:25.560><c> so</c>

00:16:26.309 --> 00:16:26.319 align:start position:0%
uh initializing your data is a lot so
 

00:16:26.319 --> 00:16:29.030 align:start position:0%
uh initializing your data is a lot so
you<00:16:26.600><c> you</c><00:16:27.079><c> might</c><00:16:27.279><c> need</c><00:16:27.480><c> to</c><00:16:27.720><c> auto</c><00:16:28.480><c> zeroize</c>

00:16:29.030 --> 00:16:29.040 align:start position:0%
you you might need to auto zeroize
 

00:16:29.040 --> 00:16:32.590 align:start position:0%
you you might need to auto zeroize
iation<00:16:30.040><c> supported</c><00:16:30.480><c> by</c><00:16:30.639><c> your</c><00:16:30.839><c> language</c><00:16:31.560><c> or</c><00:16:32.199><c> use</c>

00:16:32.590 --> 00:16:32.600 align:start position:0%
iation supported by your language or use
 

00:16:32.600 --> 00:16:36.710 align:start position:0%
iation supported by your language or use
optimized<00:16:33.199><c> library</c><00:16:33.600><c> or</c><00:16:33.759><c> lowle</c><00:16:34.240><c> libraries</c><00:16:34.880><c> for</c>

00:16:36.710 --> 00:16:36.720 align:start position:0%
optimized library or lowle libraries for
 

00:16:36.720 --> 00:16:39.590 align:start position:0%
optimized library or lowle libraries for
zation<00:16:37.720><c> so</c><00:16:37.920><c> let's</c><00:16:38.160><c> conclude</c><00:16:38.480><c> the</c><00:16:38.600><c> talk</c><00:16:39.120><c> um</c><00:16:39.319><c> so</c>

00:16:39.590 --> 00:16:39.600 align:start position:0%
zation so let's conclude the talk um so
 

00:16:39.600 --> 00:16:42.910 align:start position:0%
zation so let's conclude the talk um so
result<00:16:40.120><c> we</c><00:16:40.199><c> were</c><00:16:40.440><c> so</c><00:16:40.839><c> happy</c><00:16:41.319><c> happy</c><00:16:41.759><c> happy</c><00:16:42.440><c> yeah</c>

00:16:42.910 --> 00:16:42.920 align:start position:0%
result we were so happy happy happy yeah
 

00:16:42.920 --> 00:16:45.670 align:start position:0%
result we were so happy happy happy yeah
and<00:16:43.079><c> then</c><00:16:43.319><c> we</c><00:16:43.480><c> reduced</c><00:16:44.160><c> like</c><00:16:44.959><c> okay</c><00:16:45.240><c> we</c><00:16:45.399><c> improve</c>

00:16:45.670 --> 00:16:45.680 align:start position:0%
and then we reduced like okay we improve
 

00:16:45.680 --> 00:16:48.829 align:start position:0%
and then we reduced like okay we improve
a<00:16:45.759><c> r</c><00:16:46.000><c> Time</c><00:16:46.279><c> by</c><00:16:46.880><c> 75%</c><00:16:47.880><c> which</c><00:16:48.000><c> is</c><00:16:48.279><c> good</c><00:16:48.600><c> and</c><00:16:48.720><c> we</c>

00:16:48.829 --> 00:16:48.839 align:start position:0%
a r Time by 75% which is good and we
 

00:16:48.839 --> 00:16:51.670 align:start position:0%
a r Time by 75% which is good and we
saved<00:16:49.160><c> a</c><00:16:49.279><c> lot</c><00:16:49.399><c> of</c><00:16:49.560><c> operating</c><00:16:50.000><c> cost</c><00:16:50.720><c> cost</c><00:16:51.519><c> not</c>

00:16:51.670 --> 00:16:51.680 align:start position:0%
saved a lot of operating cost cost not
 

00:16:51.680 --> 00:16:53.590 align:start position:0%
saved a lot of operating cost cost not
only<00:16:52.240><c> saving</c><00:16:52.560><c> the</c><00:16:52.680><c> operating</c><00:16:53.079><c> Cod</c><00:16:53.399><c> we</c>

00:16:53.590 --> 00:16:53.600 align:start position:0%
only saving the operating Cod we
 

00:16:53.600 --> 00:16:56.670 align:start position:0%
only saving the operating Cod we
reinvented<00:16:54.519><c> that</c><00:16:55.079><c> reinvented</c><00:16:55.720><c> that</c><00:16:55.880><c> to</c><00:16:56.560><c> uh</c>

00:16:56.670 --> 00:16:56.680 align:start position:0%
reinvented that reinvented that to uh
 

00:16:56.680 --> 00:16:59.870 align:start position:0%
reinvented that reinvented that to uh
into<00:16:57.079><c> our</c><00:16:57.560><c> PR</c><00:16:58.000><c> system</c><00:16:58.440><c> so</c><00:16:58.639><c> we</c><00:16:58.959><c> increased</c><00:16:59.639><c> the</c>

00:16:59.870 --> 00:16:59.880 align:start position:0%
into our PR system so we increased the
 

00:16:59.880 --> 00:17:04.189 align:start position:0%
into our PR system so we increased the
final<00:17:00.639><c> F</c><00:17:00.880><c> finality</c><00:17:01.680><c> speed</c><00:17:02.120><c> and</c><00:17:02.279><c> also</c><00:17:02.759><c> higher</c>

00:17:04.189 --> 00:17:04.199 align:start position:0%
final F finality speed and also higher
 

00:17:04.199 --> 00:17:08.750 align:start position:0%
final F finality speed and also higher
TPS<00:17:05.199><c> and</c><00:17:05.720><c> ironically</c><00:17:06.559><c> we</c><00:17:07.039><c> were</c><00:17:07.280><c> able</c><00:17:07.520><c> to</c><00:17:07.760><c> und</c>

00:17:08.750 --> 00:17:08.760 align:start position:0%
TPS and ironically we were able to und
 

00:17:08.760 --> 00:17:10.990 align:start position:0%
TPS and ironically we were able to und
understand<00:17:09.039><c> what</c><00:17:09.199><c> we</c><00:17:09.400><c> did</c><00:17:09.720><c> and</c><00:17:09.880><c> what</c><00:17:10.000><c> we</c><00:17:10.160><c> built</c>

00:17:10.990 --> 00:17:11.000 align:start position:0%
understand what we did and what we built
 

00:17:11.000 --> 00:17:12.829 align:start position:0%
understand what we did and what we built
and<00:17:11.160><c> what</c><00:17:11.319><c> we</c><00:17:11.400><c> are</c><00:17:11.559><c> doing</c><00:17:12.079><c> which</c><00:17:12.240><c> is</c><00:17:12.520><c> I</c><00:17:12.600><c> think</c>

00:17:12.829 --> 00:17:12.839 align:start position:0%
and what we are doing which is I think
 

00:17:12.839 --> 00:17:15.309 align:start position:0%
and what we are doing which is I think
most<00:17:13.120><c> important</c>

00:17:15.309 --> 00:17:15.319 align:start position:0%
most important
 

00:17:15.319 --> 00:17:18.789 align:start position:0%
most important
one<00:17:16.319><c> and</c><00:17:16.520><c> some</c><00:17:16.760><c> lessons</c><00:17:17.160><c> we</c><00:17:17.360><c> learned</c><00:17:18.079><c> please</c>

00:17:18.789 --> 00:17:18.799 align:start position:0%
one and some lessons we learned please
 

00:17:18.799 --> 00:17:22.150 align:start position:0%
one and some lessons we learned please
uh<00:17:19.000><c> do</c><00:17:19.199><c> not</c><00:17:19.880><c> pre-</c><00:17:20.120><c> optimize</c><00:17:20.600><c> your</c><00:17:20.880><c> code</c><00:17:21.839><c> unless</c>

00:17:22.150 --> 00:17:22.160 align:start position:0%
uh do not pre- optimize your code unless
 

00:17:22.160 --> 00:17:25.309 align:start position:0%
uh do not pre- optimize your code unless
you<00:17:22.319><c> fully</c><00:17:22.919><c> understand</c><00:17:23.120><c> your</c><00:17:23.360><c> code</c><00:17:24.160><c> so</c><00:17:24.919><c> I</c>

00:17:25.309 --> 00:17:25.319 align:start position:0%
you fully understand your code so I
 

00:17:25.319 --> 00:17:27.150 align:start position:0%
you fully understand your code so I
strongly<00:17:25.600><c> recommend</c><00:17:26.160><c> that</c><00:17:26.760><c> make</c>

00:17:27.150 --> 00:17:27.160 align:start position:0%
strongly recommend that make
 

00:17:27.160 --> 00:17:29.470 align:start position:0%
strongly recommend that make
optimizations<00:17:28.160><c> only</c><00:17:28.439><c> based</c><00:17:28.720><c> on</c><00:17:28.919><c> on</c><00:17:29.039><c> your</c>

00:17:29.470 --> 00:17:29.480 align:start position:0%
optimizations only based on on your
 

00:17:29.480 --> 00:17:32.470 align:start position:0%
optimizations only based on on your
measurement<00:17:30.480><c> and</c><00:17:31.320><c> instead</c><00:17:31.640><c> of</c><00:17:31.799><c> doing</c><00:17:32.160><c> this</c>

00:17:32.470 --> 00:17:32.480 align:start position:0%
measurement and instead of doing this
 

00:17:32.480 --> 00:17:36.430 align:start position:0%
measurement and instead of doing this
with<00:17:32.760><c> a</c><00:17:33.160><c> kind</c><00:17:33.360><c> of</c><00:17:33.679><c> a</c><00:17:33.840><c> local</c><00:17:34.880><c> view</c><00:17:35.880><c> uh</c><00:17:36.160><c> you</c><00:17:36.320><c> you</c>

00:17:36.430 --> 00:17:36.440 align:start position:0%
with a kind of a local view uh you you
 

00:17:36.440 --> 00:17:38.270 align:start position:0%
with a kind of a local view uh you you
need<00:17:36.640><c> you</c><00:17:36.760><c> need</c><00:17:37.000><c> someone</c><00:17:37.320><c> to</c><00:17:37.520><c> have</c><00:17:37.679><c> a</c><00:17:37.880><c> global</c>

00:17:38.270 --> 00:17:38.280 align:start position:0%
need you need someone to have a global
 

00:17:38.280 --> 00:17:41.350 align:start position:0%
need you need someone to have a global
view<00:17:38.840><c> so</c><00:17:39.120><c> that</c><00:17:39.360><c> you</c><00:17:39.840><c> some</c><00:17:40.440><c> uh</c><00:17:40.600><c> you</c><00:17:40.760><c> can</c><00:17:40.960><c> set</c>

00:17:41.350 --> 00:17:41.360 align:start position:0%
view so that you some uh you can set
 

00:17:41.360 --> 00:17:44.230 align:start position:0%
view so that you some uh you can set
priorities<00:17:42.280><c> for</c><00:17:42.679><c> optimizations</c><00:17:43.679><c> our</c><00:17:43.880><c> future</c>

00:17:44.230 --> 00:17:44.240 align:start position:0%
priorities for optimizations our future
 

00:17:44.240 --> 00:17:47.190 align:start position:0%
priorities for optimizations our future
work<00:17:44.480><c> includes</c><00:17:45.480><c> distributed</c><00:17:46.080><c> gkv</c><00:17:46.520><c> improver</c>

00:17:47.190 --> 00:17:47.200 align:start position:0%
work includes distributed gkv improver
 

00:17:47.200 --> 00:17:48.669 align:start position:0%
work includes distributed gkv improver
so<00:17:47.520><c> different</c><00:17:47.799><c> modules</c><00:17:48.240><c> running</c><00:17:48.520><c> on</c>

00:17:48.669 --> 00:17:48.679 align:start position:0%
so different modules running on
 

00:17:48.679 --> 00:17:50.870 align:start position:0%
so different modules running on
different<00:17:49.080><c> machines</c><00:17:49.919><c> that</c><00:17:50.080><c> means</c><00:17:50.360><c> we</c><00:17:50.480><c> can</c><00:17:50.640><c> run</c>

00:17:50.870 --> 00:17:50.880 align:start position:0%
different machines that means we can run
 

00:17:50.880 --> 00:17:53.909 align:start position:0%
different machines that means we can run
some<00:17:51.760><c> we</c><00:17:51.880><c> can</c><00:17:52.000><c> use</c><00:17:52.280><c> some</c><00:17:52.480><c> smaller</c><00:17:53.240><c> machines</c><00:17:53.760><c> to</c>

00:17:53.909 --> 00:17:53.919 align:start position:0%
some we can use some smaller machines to
 

00:17:53.919 --> 00:17:56.110 align:start position:0%
some we can use some smaller machines to
save<00:17:54.280><c> cost</c><00:17:55.080><c> and</c><00:17:55.200><c> then</c><00:17:55.320><c> we</c><00:17:55.440><c> are</c><00:17:55.559><c> thinking</c><00:17:55.840><c> about</c>

00:17:56.110 --> 00:17:56.120 align:start position:0%
save cost and then we are thinking about
 

00:17:56.120 --> 00:17:59.750 align:start position:0%
save cost and then we are thinking about
also<00:17:56.360><c> how</c><00:17:56.440><c> do</c><00:17:56.559><c> we</c><00:17:56.720><c> accelerate</c><00:17:57.640><c> provs</c>

00:17:59.750 --> 00:17:59.760 align:start position:0%
also how do we accelerate provs
 

00:17:59.760 --> 00:18:01.310 align:start position:0%
also how do we accelerate provs
we<00:17:59.880><c> think</c><00:18:00.080><c> optimization</c><00:18:00.679><c> is</c><00:18:00.880><c> never</c><00:18:01.120><c> a</c>

00:18:01.310 --> 00:18:01.320 align:start position:0%
we think optimization is never a
 

00:18:01.320 --> 00:18:04.110 align:start position:0%
we think optimization is never a
one-time<00:18:01.880><c> task</c><00:18:02.400><c> so</c><00:18:02.760><c> please</c><00:18:03.080><c> measure</c><00:18:03.520><c> analyze</c>

00:18:04.110 --> 00:18:04.120 align:start position:0%
one-time task so please measure analyze
 

00:18:04.120 --> 00:18:06.470 align:start position:0%
one-time task so please measure analyze
optimize<00:18:04.640><c> and</c><00:18:04.840><c> repeat</c><00:18:05.440><c> thank</c>

00:18:06.470 --> 00:18:06.480 align:start position:0%
optimize and repeat thank
 

00:18:06.480 --> 00:18:08.789 align:start position:0%
optimize and repeat thank
you<00:18:07.480><c> nice</c>

00:18:08.789 --> 00:18:08.799 align:start position:0%
you nice
 

00:18:08.799 --> 00:18:11.669 align:start position:0%
you nice
seeing<00:18:09.799><c> great</c><00:18:10.559><c> great</c><00:18:10.919><c> great</c><00:18:11.159><c> presentation</c>

00:18:11.669 --> 00:18:11.679 align:start position:0%
seeing great great great presentation
 

00:18:11.679 --> 00:18:15.190 align:start position:0%
seeing great great great presentation
Leo<00:18:12.320><c> all</c><00:18:12.480><c> right</c><00:18:13.080><c> so</c><00:18:13.640><c> remember</c><00:18:14.039><c> you</c><00:18:14.159><c> can</c><00:18:14.320><c> always</c>

00:18:15.190 --> 00:18:15.200 align:start position:0%
Leo all right so remember you can always
 

00:18:15.200 --> 00:18:17.029 align:start position:0%
Leo all right so remember you can always
uh<00:18:15.400><c> ask</c><00:18:15.600><c> more</c><00:18:15.840><c> questions</c><00:18:16.320><c> and</c><00:18:16.520><c> vote</c><00:18:16.720><c> for</c><00:18:16.880><c> the</c>

00:18:17.029 --> 00:18:17.039 align:start position:0%
uh ask more questions and vote for the
 

00:18:17.039 --> 00:18:18.190 align:start position:0%
uh ask more questions and vote for the
questions<00:18:17.320><c> that</c><00:18:17.440><c> you</c><00:18:17.559><c> want</c><00:18:17.799><c> it</c><00:18:17.960><c> to</c><00:18:18.080><c> be</c>

00:18:18.190 --> 00:18:18.200 align:start position:0%
questions that you want it to be
 

00:18:18.200 --> 00:18:19.630 align:start position:0%
questions that you want it to be
answered<00:18:18.679><c> so</c><00:18:18.840><c> let's</c><00:18:19.000><c> start</c><00:18:19.159><c> with</c><00:18:19.280><c> the</c><00:18:19.400><c> first</c>

00:18:19.630 --> 00:18:19.640 align:start position:0%
answered so let's start with the first
 

00:18:19.640 --> 00:18:22.630 align:start position:0%
answered so let's start with the first
one<00:18:20.240><c> How</c><00:18:20.360><c> could</c><00:18:20.520><c> a</c><00:18:20.679><c> f</c><00:18:21.039><c> CH</c><00:18:21.440><c> okay</c><00:18:21.640><c> this</c><00:18:22.000><c> this</c><00:18:22.120><c> is</c><00:18:22.440><c> a</c>

00:18:22.630 --> 00:18:22.640 align:start position:0%
one How could a f CH okay this this is a
 

00:18:22.640 --> 00:18:24.630 align:start position:0%
one How could a f CH okay this this is a
spicy<00:18:23.559><c> How</c><00:18:23.679><c> could</c><00:18:23.799><c> a</c><00:18:23.919><c> thir</c><00:18:24.159><c> challenge</c>

00:18:24.630 --> 00:18:24.640 align:start position:0%
spicy How could a thir challenge
 

00:18:24.640 --> 00:18:27.110 align:start position:0%
spicy How could a thir challenge
Benchmark<00:18:25.240><c> over</c><00:18:25.480><c> same</c><00:18:25.799><c> machines</c><00:18:26.280><c> and</c><00:18:26.640><c> input</c>

00:18:27.110 --> 00:18:27.120 align:start position:0%
Benchmark over same machines and input
 

00:18:27.120 --> 00:18:31.110 align:start position:0%
Benchmark over same machines and input
be<00:18:27.320><c> organized</c><00:18:27.919><c> among</c><00:18:28.600><c> um</c><00:18:28.960><c> CK</c><00:18:29.480><c> l2s</c><00:18:30.440><c> to</c><00:18:30.679><c> get</c><00:18:30.840><c> like</c>

00:18:31.110 --> 00:18:31.120 align:start position:0%
be organized among um CK l2s to get like
 

00:18:31.120 --> 00:18:33.549 align:start position:0%
be organized among um CK l2s to get like
yeah<00:18:31.440><c> to</c><00:18:31.600><c> Benchmark</c><00:18:32.080><c> up</c><00:18:32.320><c> against</c><00:18:32.600><c> different</c>

00:18:33.549 --> 00:18:33.559 align:start position:0%
yeah to Benchmark up against different
 

00:18:33.559 --> 00:18:37.430 align:start position:0%
yeah to Benchmark up against different
systems<00:18:34.559><c> um</c><00:18:34.760><c> I</c><00:18:34.840><c> think</c><00:18:35.200><c> it's</c><00:18:35.440><c> really</c><00:18:35.720><c> hard</c><00:18:36.559><c> yeah</c>

00:18:37.430 --> 00:18:37.440 align:start position:0%
systems um I think it's really hard yeah
 

00:18:37.440 --> 00:18:40.870 align:start position:0%
systems um I think it's really hard yeah
I<00:18:37.520><c> think</c><00:18:38.280><c> because</c><00:18:38.720><c> I</c><00:18:39.080><c> I</c><00:18:39.520><c> explained</c><00:18:40.039><c> that</c><00:18:40.559><c> um</c><00:18:40.760><c> in</c>

00:18:40.870 --> 00:18:40.880 align:start position:0%
I think because I I explained that um in
 

00:18:40.880 --> 00:18:43.190 align:start position:0%
I think because I I explained that um in
the<00:18:41.679><c> maybe</c><00:18:41.960><c> introduction</c><00:18:42.600><c> because</c><00:18:42.919><c> every</c>

00:18:43.190 --> 00:18:43.200 align:start position:0%
the maybe introduction because every
 

00:18:43.200 --> 00:18:45.190 align:start position:0%
the maybe introduction because every
team<00:18:43.559><c> or</c><00:18:43.799><c> every</c><00:18:44.080><c> project</c><00:18:44.440><c> has</c><00:18:44.760><c> different</c>

00:18:45.190 --> 00:18:45.200 align:start position:0%
team or every project has different
 

00:18:45.200 --> 00:18:47.830 align:start position:0%
team or every project has different
architecture<00:18:46.000><c> different</c><00:18:46.840><c> models</c><00:18:47.400><c> different</c>

00:18:47.830 --> 00:18:47.840 align:start position:0%
architecture different models different
 

00:18:47.840 --> 00:18:50.830 align:start position:0%
architecture different models different
based<00:18:48.120><c> on</c><00:18:48.360><c> different</c><00:18:49.080><c> cryptography</c><00:18:50.080><c> so</c><00:18:50.720><c> I</c>

00:18:50.830 --> 00:18:50.840 align:start position:0%
based on different cryptography so I
 

00:18:50.840 --> 00:18:53.750 align:start position:0%
based on different cryptography so I
think<00:18:51.039><c> this</c><00:18:51.159><c> is</c><00:18:51.400><c> just</c><00:18:51.640><c> a</c><00:18:52.320><c> good</c><00:18:52.559><c> research</c><00:18:53.080><c> area</c>

00:18:53.750 --> 00:18:53.760 align:start position:0%
think this is just a good research area
 

00:18:53.760 --> 00:18:57.230 align:start position:0%
think this is just a good research area
I<00:18:53.919><c> me</c><00:18:54.200><c> has</c><00:18:54.360><c> been</c><00:18:54.480><c> solved</c><00:18:55.000><c> yet</c><00:18:55.840><c> so</c><00:18:56.840><c> yeah</c><00:18:57.039><c> it's</c>

00:18:57.230 --> 00:18:57.240 align:start position:0%
I me has been solved yet so yeah it's
 

00:18:57.240 --> 00:19:01.230 align:start position:0%
I me has been solved yet so yeah it's
hard<00:18:57.720><c> at</c><00:18:57.919><c> least</c><00:18:59.120><c> um</c><00:18:59.520><c> maybe</c><00:18:59.880><c> CPU</c><00:19:00.360><c> based</c><00:19:00.799><c> CPU</c>

00:19:01.230 --> 00:19:01.240 align:start position:0%
hard at least um maybe CPU based CPU
 

00:19:01.240 --> 00:19:03.510 align:start position:0%
hard at least um maybe CPU based CPU
based<00:19:01.640><c> or</c><00:19:01.919><c> some</c><00:19:02.240><c> specific</c><00:19:02.919><c> cryptography</c>

00:19:03.510 --> 00:19:03.520 align:start position:0%
based or some specific cryptography
 

00:19:03.520 --> 00:19:06.350 align:start position:0%
based or some specific cryptography
based<00:19:04.280><c> it</c><00:19:04.400><c> could</c><00:19:04.600><c> be</c><00:19:04.880><c> yeah</c><00:19:05.080><c> benchmarked</c><00:19:05.840><c> but</c>

00:19:06.350 --> 00:19:06.360 align:start position:0%
based it could be yeah benchmarked but
 

00:19:06.360 --> 00:19:09.549 align:start position:0%
based it could be yeah benchmarked but
in<00:19:06.480><c> general</c><00:19:06.960><c> it's</c><00:19:07.240><c> really</c><00:19:07.480><c> hard</c><00:19:08.200><c> yeah</c><00:19:09.200><c> yeah</c>

00:19:09.549 --> 00:19:09.559 align:start position:0%
in general it's really hard yeah yeah
 

00:19:09.559 --> 00:19:12.029 align:start position:0%
in general it's really hard yeah yeah
yeah<00:19:09.760><c> agreed</c><00:19:10.440><c> would</c><00:19:10.600><c> you</c><00:19:10.799><c> recommend</c><00:19:11.240><c> on</c><00:19:11.600><c> Prem</c>

00:19:12.029 --> 00:19:12.039 align:start position:0%
yeah agreed would you recommend on Prem
 

00:19:12.039 --> 00:19:17.789 align:start position:0%
yeah agreed would you recommend on Prem
PR<00:19:12.559><c> or</c><00:19:12.880><c> Cloud</c><00:19:13.679><c> PR</c><00:19:15.039><c> um</c><00:19:16.039><c> right</c><00:19:16.200><c> now</c><00:19:16.400><c> I</c><00:19:16.520><c> think</c><00:19:17.000><c> uh</c>

00:19:17.789 --> 00:19:17.799 align:start position:0%
PR or Cloud PR um right now I think uh
 

00:19:17.799 --> 00:19:19.990 align:start position:0%
PR or Cloud PR um right now I think uh
you<00:19:17.960><c> can</c><00:19:18.120><c> you</c><00:19:18.240><c> can</c><00:19:18.600><c> I</c><00:19:18.679><c> think</c><00:19:18.840><c> you</c><00:19:18.960><c> better</c><00:19:19.240><c> start</c>

00:19:19.990 --> 00:19:20.000 align:start position:0%
you can you can I think you better start
 

00:19:20.000 --> 00:19:22.350 align:start position:0%
you can you can I think you better start
from<00:19:20.240><c> the</c><00:19:20.400><c> cloudbased</c><00:19:21.120><c> yeah</c><00:19:21.720><c> because</c><00:19:22.120><c> cloud</c>

00:19:22.350 --> 00:19:22.360 align:start position:0%
from the cloudbased yeah because cloud
 

00:19:22.360 --> 00:19:26.070 align:start position:0%
from the cloudbased yeah because cloud
based<00:19:23.240><c> especially</c><00:19:23.880><c> on</c><00:19:24.000><c> the</c><00:19:24.159><c> early</c><00:19:24.559><c> stage</c><00:19:25.080><c> or</c>

00:19:26.070 --> 00:19:26.080 align:start position:0%
based especially on the early stage or
 

00:19:26.080 --> 00:19:29.230 align:start position:0%
based especially on the early stage or
especially<00:19:26.880><c> when</c><00:19:27.000><c> you</c><00:19:27.080><c> are</c><00:19:27.559><c> a</c><00:19:27.679><c> small</c><00:19:28.039><c> project</c>

00:19:29.230 --> 00:19:29.240 align:start position:0%
especially when you are a small project
 

00:19:29.240 --> 00:19:31.750 align:start position:0%
especially when you are a small project
M<00:19:29.720><c> makes</c><00:19:29.960><c> sense</c><00:19:30.600><c> if</c><00:19:30.720><c> the</c><00:19:30.840><c> memory</c><00:19:31.200><c> compresses</c>

00:19:31.750 --> 00:19:31.760 align:start position:0%
M makes sense if the memory compresses
 

00:19:31.760 --> 00:19:33.909 align:start position:0%
M makes sense if the memory compresses
well<00:19:32.159><c> then</c><00:19:32.799><c> couldn't</c><00:19:33.080><c> you</c><00:19:33.280><c> instead</c><00:19:33.559><c> use</c><00:19:33.760><c> more</c>

00:19:33.909 --> 00:19:33.919 align:start position:0%
well then couldn't you instead use more
 

00:19:33.919 --> 00:19:40.669 align:start position:0%
well then couldn't you instead use more
efficient<00:19:34.280><c> data</c><00:19:34.559><c> structures</c><00:19:35.120><c> in</c>

00:19:40.669 --> 00:19:40.679 align:start position:0%
 
 

00:19:40.679 --> 00:19:44.270 align:start position:0%
 
linear<00:19:41.679><c> sorry</c><00:19:42.280><c> um</c><00:19:42.960><c> is</c><00:19:43.120><c> the</c><00:19:43.280><c> top</c><00:19:43.559><c> one</c><00:19:44.039><c> if</c><00:19:44.159><c> the</c>

00:19:44.270 --> 00:19:44.280 align:start position:0%
linear sorry um is the top one if the
 

00:19:44.280 --> 00:19:46.190 align:start position:0%
linear sorry um is the top one if the
memory<00:19:44.720><c> compress</c><00:19:45.159><c> as</c><00:19:45.320><c> well</c><00:19:45.640><c> then</c><00:19:45.919><c> couldn't</c>

00:19:46.190 --> 00:19:46.200 align:start position:0%
memory compress as well then couldn't
 

00:19:46.200 --> 00:19:48.029 align:start position:0%
memory compress as well then couldn't
you<00:19:46.360><c> instead</c><00:19:46.720><c> use</c><00:19:46.960><c> more</c><00:19:47.320><c> efficient</c><00:19:47.760><c> data</c>

00:19:48.029 --> 00:19:48.039 align:start position:0%
you instead use more efficient data
 

00:19:48.039 --> 00:19:50.029 align:start position:0%
you instead use more efficient data
structures<00:19:48.600><c> in</c><00:19:48.720><c> Linea</c><00:19:49.280><c> yeah</c><00:19:49.600><c> actually</c><00:19:49.919><c> yeah</c>

00:19:50.029 --> 00:19:50.039 align:start position:0%
structures in Linea yeah actually yeah
 

00:19:50.039 --> 00:19:52.909 align:start position:0%
structures in Linea yeah actually yeah
that's<00:19:50.200><c> true</c><00:19:50.679><c> um</c><00:19:50.880><c> we</c><00:19:51.000><c> are</c><00:19:51.200><c> trying</c><00:19:51.440><c> to</c><00:19:52.440><c> use</c>

00:19:52.909 --> 00:19:52.919 align:start position:0%
that's true um we are trying to use
 

00:19:52.919 --> 00:19:55.710 align:start position:0%
that's true um we are trying to use
optimize<00:19:53.400><c> our</c><00:19:53.600><c> data</c><00:19:53.840><c> structure</c><00:19:54.240><c> as</c><00:19:54.520><c> well</c><00:19:55.520><c> uh</c>

00:19:55.710 --> 00:19:55.720 align:start position:0%
optimize our data structure as well uh
 

00:19:55.720 --> 00:19:59.549 align:start position:0%
optimize our data structure as well uh
right<00:19:55.919><c> now</c><00:19:56.880><c> we</c><00:19:57.120><c> are</c><00:19:57.440><c> we</c><00:19:57.559><c> don't</c><00:19:57.840><c> actually</c><00:19:59.120><c> imp</c>

00:19:59.549 --> 00:19:59.559 align:start position:0%
right now we are we don't actually imp
 

00:19:59.559 --> 00:20:01.669 align:start position:0%
right now we are we don't actually imp
uh<00:19:59.720><c> compress</c><00:20:00.559><c> the</c><00:20:00.760><c> data</c><00:20:01.000><c> structure</c><00:20:01.440><c> in</c>

00:20:01.669 --> 00:20:01.679 align:start position:0%
uh compress the data structure in
 

00:20:01.679 --> 00:20:04.470 align:start position:0%
uh compress the data structure in
production<00:20:02.280><c> because</c><00:20:03.280><c> uh</c><00:20:03.520><c> to</c><00:20:03.720><c> avoid</c><00:20:04.039><c> some</c><00:20:04.240><c> side</c>

00:20:04.470 --> 00:20:04.480 align:start position:0%
production because uh to avoid some side
 

00:20:04.480 --> 00:20:08.070 align:start position:0%
production because uh to avoid some side
effects<00:20:05.480><c> but</c><00:20:06.360><c> uh</c><00:20:06.600><c> after</c><00:20:07.159><c> optimizing</c><00:20:07.640><c> a</c><00:20:07.760><c> lot</c>

00:20:08.070 --> 00:20:08.080 align:start position:0%
effects but uh after optimizing a lot
 

00:20:08.080 --> 00:20:09.549 align:start position:0%
effects but uh after optimizing a lot
and<00:20:08.400><c> and</c><00:20:08.520><c> we</c><00:20:08.640><c> have</c><00:20:08.880><c> too</c><00:20:09.159><c> too</c><00:20:09.320><c> many</c>

00:20:09.549 --> 00:20:09.559 align:start position:0%
and and we have too too many
 

00:20:09.559 --> 00:20:11.310 align:start position:0%
and and we have too too many
transactions<00:20:10.159><c> or</c><00:20:10.360><c> too</c><00:20:10.520><c> much</c><00:20:10.720><c> trans</c>

00:20:11.310 --> 00:20:11.320 align:start position:0%
transactions or too much trans
 

00:20:11.320 --> 00:20:13.630 align:start position:0%
transactions or too much trans
transactions<00:20:11.960><c> I</c><00:20:12.080><c> think</c><00:20:12.360><c> yeah</c><00:20:12.919><c> we</c><00:20:13.039><c> need</c><00:20:13.200><c> to</c>

00:20:13.630 --> 00:20:13.640 align:start position:0%
transactions I think yeah we need to
 

00:20:13.640 --> 00:20:16.190 align:start position:0%
transactions I think yeah we need to
come<00:20:13.840><c> up</c><00:20:14.039><c> with</c><00:20:14.400><c> better</c><00:20:14.720><c> Tera</c><00:20:15.039><c> structure</c><00:20:15.960><c> yeah</c>

00:20:16.190 --> 00:20:16.200 align:start position:0%
come up with better Tera structure yeah
 

00:20:16.200 --> 00:20:18.830 align:start position:0%
come up with better Tera structure yeah
as<00:20:16.320><c> you</c><00:20:16.440><c> say</c><00:20:16.760><c> it</c><00:20:16.880><c> never</c><00:20:17.120><c> ends</c><00:20:17.600><c> right</c><00:20:18.440><c> always</c>

00:20:18.830 --> 00:20:18.840 align:start position:0%
as you say it never ends right always
 

00:20:18.840 --> 00:20:20.830 align:start position:0%
as you say it never ends right always
optimizing<00:20:19.840><c> I've</c><00:20:20.000><c> read</c><00:20:20.159><c> that</c><00:20:20.280><c> the</c><00:20:20.440><c> finality</c>

00:20:20.830 --> 00:20:20.840 align:start position:0%
optimizing I've read that the finality
 

00:20:20.840 --> 00:20:23.470 align:start position:0%
optimizing I've read that the finality
of<00:20:20.960><c> line</c><00:20:21.240><c> is</c><00:20:21.360><c> around</c><00:20:21.600><c> 8</c><00:20:21.919><c> to3</c><00:20:22.480><c> to</c><00:20:22.720><c> hours</c><00:20:23.159><c> will</c>

00:20:23.470 --> 00:20:23.480 align:start position:0%
of line is around 8 to3 to hours will
 

00:20:23.480 --> 00:20:25.029 align:start position:0%
of line is around 8 to3 to hours will
these<00:20:23.720><c> improvements</c><00:20:24.280><c> allow</c><00:20:24.600><c> these</c><00:20:24.720><c> to</c><00:20:24.880><c> be</c>

00:20:25.029 --> 00:20:25.039 align:start position:0%
these improvements allow these to be
 

00:20:25.039 --> 00:20:29.630 align:start position:0%
these improvements allow these to be
reduced<00:20:25.559><c> and</c><00:20:25.720><c> if</c><00:20:25.919><c> so</c><00:20:26.280><c> how</c><00:20:26.520><c> low</c><00:20:26.919><c> can</c><00:20:27.080><c> it</c><00:20:27.280><c> go</c>

00:20:29.630 --> 00:20:29.640 align:start position:0%
reduced and if so how low can it go
 

00:20:29.640 --> 00:20:34.750 align:start position:0%
reduced and if so how low can it go
um<00:20:30.640><c> actually</c><00:20:31.360><c> um</c><00:20:31.679><c> the</c><00:20:32.200><c> finality</c><00:20:33.200><c> time</c><00:20:33.880><c> has</c>

00:20:34.750 --> 00:20:34.760 align:start position:0%
um actually um the finality time has
 

00:20:34.760 --> 00:20:36.510 align:start position:0%
um actually um the finality time has
includes<00:20:35.240><c> many</c><00:20:35.480><c> different</c><00:20:35.799><c> factors</c><00:20:36.240><c> actually</c>

00:20:36.510 --> 00:20:36.520 align:start position:0%
includes many different factors actually
 

00:20:36.520 --> 00:20:39.630 align:start position:0%
includes many different factors actually
not<00:20:36.720><c> not</c><00:20:36.840><c> only</c><00:20:37.039><c> the</c><00:20:37.159><c> prover</c><00:20:37.960><c> itself</c><00:20:38.640><c> but</c>

00:20:39.630 --> 00:20:39.640 align:start position:0%
not not only the prover itself but
 

00:20:39.640 --> 00:20:42.710 align:start position:0%
not not only the prover itself but
number<00:20:39.840><c> of</c><00:20:40.000><c> transaction</c><00:20:40.600><c> or</c><00:20:41.600><c> uh</c><00:20:41.880><c> service</c><00:20:42.320><c> lay</c>

00:20:42.710 --> 00:20:42.720 align:start position:0%
number of transaction or uh service lay
 

00:20:42.720 --> 00:20:45.270 align:start position:0%
number of transaction or uh service lay
uh<00:20:43.679><c> service</c><00:20:43.960><c> layer</c><00:20:44.280><c> agreement</c><00:20:44.799><c> or</c><00:20:44.960><c> something</c>

00:20:45.270 --> 00:20:45.280 align:start position:0%
uh service layer agreement or something
 

00:20:45.280 --> 00:20:47.990 align:start position:0%
uh service layer agreement or something
like<00:20:45.480><c> that</c><00:20:45.799><c> so</c><00:20:46.520><c> it's</c><00:20:46.720><c> not</c><00:20:46.960><c> only</c><00:20:47.520><c> it</c><00:20:47.679><c> doesn't</c>

00:20:47.990 --> 00:20:48.000 align:start position:0%
like that so it's not only it doesn't
 

00:20:48.000 --> 00:20:51.149 align:start position:0%
like that so it's not only it doesn't
depend<00:20:48.400><c> on</c><00:20:48.919><c> solely</c><00:20:49.919><c> on</c><00:20:50.080><c> the</c><00:20:50.799><c> Prov</c>

00:20:51.149 --> 00:20:51.159 align:start position:0%
depend on solely on the Prov
 

00:20:51.159 --> 00:20:53.029 align:start position:0%
depend on solely on the Prov
optimization<00:20:51.799><c> actually</c><00:20:52.159><c> it's</c><00:20:52.440><c> more</c><00:20:52.760><c> than</c>

00:20:53.029 --> 00:20:53.039 align:start position:0%
optimization actually it's more than
 

00:20:53.039 --> 00:20:57.230 align:start position:0%
optimization actually it's more than
that<00:20:53.919><c> so</c><00:20:54.919><c> yeah</c><00:20:55.320><c> agree</c><00:20:56.280><c> have</c><00:20:56.400><c> you</c><00:20:56.559><c> had</c><00:20:56.799><c> examples</c>

00:20:57.230 --> 00:20:57.240 align:start position:0%
that so yeah agree have you had examples
 

00:20:57.240 --> 00:20:59.830 align:start position:0%
that so yeah agree have you had examples
in<00:20:57.440><c> where</c><00:20:57.720><c> an</c><00:20:58.000><c> attempt</c><00:20:58.640><c> said</c><00:20:58.960><c> optimization</c>

00:20:59.830 --> 00:20:59.840 align:start position:0%
in where an attempt said optimization
 

00:20:59.840 --> 00:21:03.149 align:start position:0%
in where an attempt said optimization
actually<00:21:00.280><c> backfire</c><00:21:01.280><c> in</c><00:21:01.400><c> an</c><00:21:01.600><c> unpredictable</c>

00:21:03.149 --> 00:21:03.159 align:start position:0%
actually backfire in an unpredictable
 

00:21:03.159 --> 00:21:07.390 align:start position:0%
actually backfire in an unpredictable
way<00:21:04.159><c> yeah</c><00:21:04.320><c> that's</c><00:21:04.520><c> true</c><00:21:05.240><c> um</c><00:21:06.240><c> so</c><00:21:06.480><c> I</c><00:21:06.799><c> I</c><00:21:06.919><c> think</c>

00:21:07.390 --> 00:21:07.400 align:start position:0%
way yeah that's true um so I I think
 

00:21:07.400 --> 00:21:10.630 align:start position:0%
way yeah that's true um so I I think
that<00:21:08.400><c> um</c><00:21:08.600><c> M</c><00:21:08.880><c> limit</c><00:21:09.280><c> stuff</c><00:21:09.679><c> is</c><00:21:09.919><c> actually</c><00:21:10.320><c> one</c><00:21:10.440><c> of</c>

00:21:10.630 --> 00:21:10.640 align:start position:0%
that um M limit stuff is actually one of
 

00:21:10.640 --> 00:21:13.870 align:start position:0%
that um M limit stuff is actually one of
them<00:21:11.279><c> without</c><00:21:11.559><c> M</c><00:21:11.840><c> limit</c><00:21:12.559><c> the</c><00:21:12.720><c> soft</c><00:21:13.559><c> memory</c>

00:21:13.870 --> 00:21:13.880 align:start position:0%
them without M limit the soft memory
 

00:21:13.880 --> 00:21:16.710 align:start position:0%
them without M limit the soft memory
limit<00:21:14.240><c> stuff</c><00:21:14.720><c> because</c><00:21:15.200><c> that</c><00:21:15.960><c> automatically</c>

00:21:16.710 --> 00:21:16.720 align:start position:0%
limit stuff because that automatically
 

00:21:16.720 --> 00:21:20.710 align:start position:0%
limit stuff because that automatically
triggering<00:21:17.720><c> garbage</c><00:21:18.080><c> collection</c><00:21:18.400><c> for</c><00:21:18.640><c> you</c><00:21:19.720><c> we</c>

00:21:20.710 --> 00:21:20.720 align:start position:0%
triggering garbage collection for you we
 

00:21:20.720 --> 00:21:22.669 align:start position:0%
triggering garbage collection for you we
didn't<00:21:21.080><c> have</c><00:21:21.360><c> any</c><00:21:21.760><c> issues</c><00:21:22.120><c> in</c><00:21:22.279><c> global</c>

00:21:22.669 --> 00:21:22.679 align:start position:0%
didn't have any issues in global
 

00:21:22.679 --> 00:21:25.390 align:start position:0%
didn't have any issues in global
constraints<00:21:23.360><c> part</c><00:21:23.919><c> but</c><00:21:24.159><c> after</c><00:21:24.520><c> applying</c><00:21:25.039><c> that</c>

00:21:25.390 --> 00:21:25.400 align:start position:0%
constraints part but after applying that
 

00:21:25.400 --> 00:21:27.950 align:start position:0%
constraints part but after applying that
we<00:21:26.279><c> actually</c><00:21:26.640><c> got</c><00:21:27.159><c> a</c><00:21:27.320><c> lot</c><00:21:27.480><c> of</c><00:21:27.679><c> garbage</c>

00:21:27.950 --> 00:21:27.960 align:start position:0%
we actually got a lot of garbage
 

00:21:27.960 --> 00:21:30.710 align:start position:0%
we actually got a lot of garbage
collector<00:21:28.600><c> collection</c><00:21:29.159><c> calls</c><00:21:29.919><c> within</c><00:21:30.360><c> glev</c>

00:21:30.710 --> 00:21:30.720 align:start position:0%
collector collection calls within glev
 

00:21:30.720 --> 00:21:33.230 align:start position:0%
collector collection calls within glev
constraints<00:21:31.440><c> and</c><00:21:32.159><c> maybe</c><00:21:32.440><c> the</c><00:21:32.600><c> runtime</c>

00:21:33.230 --> 00:21:33.240 align:start position:0%
constraints and maybe the runtime
 

00:21:33.240 --> 00:21:36.750 align:start position:0%
constraints and maybe the runtime
increased<00:21:33.840><c> a</c><00:21:34.000><c> lot</c><00:21:34.360><c> by</c><00:21:34.640><c> that</c><00:21:35.480><c> and</c><00:21:35.840><c> uh</c><00:21:36.080><c> that</c><00:21:36.559><c> was</c>

00:21:36.750 --> 00:21:36.760 align:start position:0%
increased a lot by that and uh that was
 

00:21:36.760 --> 00:21:39.029 align:start position:0%
increased a lot by that and uh that was
actually<00:21:37.120><c> a</c><00:21:37.360><c> huge</c><00:21:37.679><c> issue</c><00:21:38.039><c> and</c><00:21:38.360><c> we</c><00:21:38.720><c> finally</c>

00:21:39.029 --> 00:21:39.039 align:start position:0%
actually a huge issue and we finally
 

00:21:39.039 --> 00:21:42.909 align:start position:0%
actually a huge issue and we finally
found<00:21:39.279><c> out</c><00:21:39.480><c> and</c><00:21:39.600><c> I</c><00:21:39.720><c> fixed</c><00:21:40.120><c> it</c><00:21:41.120><c> great</c><00:21:41.760><c> great</c><00:21:42.760><c> has</c>

00:21:42.909 --> 00:21:42.919 align:start position:0%
found out and I fixed it great great has
 

00:21:42.919 --> 00:21:45.830 align:start position:0%
found out and I fixed it great great has
Linea<00:21:43.559><c> ckvm</c><00:21:44.559><c> thought</c><00:21:44.919><c> about</c><00:21:45.240><c> switching</c><00:21:45.600><c> to</c>

00:21:45.830 --> 00:21:45.840 align:start position:0%
Linea ckvm thought about switching to
 

00:21:45.840 --> 00:21:48.549 align:start position:0%
Linea ckvm thought about switching to
ckvm<00:21:46.440><c> to</c><00:21:46.600><c> further</c><00:21:47.039><c> improve</c>

00:21:48.549 --> 00:21:48.559 align:start position:0%
ckvm to further improve
 

00:21:48.559 --> 00:21:51.350 align:start position:0%
ckvm to further improve
performance

00:21:51.350 --> 00:21:51.360 align:start position:0%
performance
 

00:21:51.360 --> 00:21:54.870 align:start position:0%
performance
um<00:21:52.360><c> I</c><00:21:52.559><c> I</c><00:21:52.799><c> have</c><00:21:52.960><c> no</c><00:21:53.159><c> idea</c><00:21:53.600><c> on</c><00:21:53.840><c> this</c><00:21:54.080><c> to</c><00:21:54.559><c> in</c><00:21:54.679><c> this</c>

00:21:54.870 --> 00:21:54.880 align:start position:0%
um I I have no idea on this to in this
 

00:21:54.880 --> 00:21:57.149 align:start position:0%
um I I have no idea on this to in this
question<00:21:55.240><c> so</c><00:21:55.600><c> yeah</c><00:21:55.840><c> maybe</c><00:21:56.039><c> I'll</c><00:21:56.279><c> skip</c><00:21:56.520><c> it</c><00:21:56.960><c> yeah</c>

00:21:57.149 --> 00:21:57.159 align:start position:0%
question so yeah maybe I'll skip it yeah
 

00:21:57.159 --> 00:21:59.269 align:start position:0%
question so yeah maybe I'll skip it yeah
yeah<00:21:57.320><c> let's</c><00:21:57.480><c> skip</c><00:21:57.720><c> it</c>

00:21:59.269 --> 00:21:59.279 align:start position:0%
yeah let's skip it
 

00:21:59.279 --> 00:22:00.710 align:start position:0%
yeah let's skip it
uh<00:21:59.440><c> remember</c><00:21:59.799><c> you</c><00:21:59.880><c> can</c><00:22:00.039><c> always</c><00:22:00.360><c> find</c><00:22:00.600><c> the</c>

00:22:00.710 --> 00:22:00.720 align:start position:0%
uh remember you can always find the
 

00:22:00.720 --> 00:22:03.029 align:start position:0%
uh remember you can always find the
speaker<00:22:01.240><c> after</c><00:22:01.840><c> these</c><00:22:02.279><c> these</c><00:22:02.520><c> questions</c><00:22:02.960><c> we</c>

00:22:03.029 --> 00:22:03.039 align:start position:0%
speaker after these these questions we
 

00:22:03.039 --> 00:22:05.990 align:start position:0%
speaker after these these questions we
can<00:22:03.200><c> discuss</c><00:22:03.480><c> about</c><00:22:03.919><c> discuss</c><00:22:04.200><c> it</c><00:22:04.520><c> and</c><00:22:05.000><c> yeah</c>

00:22:05.990 --> 00:22:06.000 align:start position:0%
can discuss about discuss it and yeah
 

00:22:06.000 --> 00:22:07.789 align:start position:0%
can discuss about discuss it and yeah
what<00:22:06.120><c> are</c><00:22:06.240><c> some</c><00:22:06.400><c> tra</c><00:22:06.720><c> ofs</c><00:22:06.960><c> that</c><00:22:07.080><c> lenia</c><00:22:07.440><c> made</c><00:22:07.640><c> in</c>

00:22:07.789 --> 00:22:07.799 align:start position:0%
what are some tra ofs that lenia made in
 

00:22:07.799 --> 00:22:10.070 align:start position:0%
what are some tra ofs that lenia made in
contrast<00:22:08.240><c> with</c><00:22:08.440><c> other</c><00:22:08.679><c> CK</c>

00:22:10.070 --> 00:22:10.080 align:start position:0%
contrast with other CK
 

00:22:10.080 --> 00:22:14.870 align:start position:0%
contrast with other CK
EVMS<00:22:11.400><c> well</c><00:22:12.400><c> let's</c><00:22:12.640><c> say</c><00:22:13.279><c> I</c><00:22:13.440><c> I</c><00:22:13.559><c> saw</c><00:22:13.840><c> many</c><00:22:14.559><c> Project</c>

00:22:14.870 --> 00:22:14.880 align:start position:0%
EVMS well let's say I I saw many Project
 

00:22:14.880 --> 00:22:17.990 align:start position:0%
EVMS well let's say I I saw many Project
based<00:22:15.120><c> on</c><00:22:15.440><c> CPU</c><00:22:15.960><c> or</c><00:22:16.440><c> F</c><00:22:16.679><c> fpga</c><00:22:17.240><c> and</c><00:22:17.400><c> how</c><00:22:17.559><c> to</c>

00:22:17.990 --> 00:22:18.000 align:start position:0%
based on CPU or F fpga and how to
 

00:22:18.000 --> 00:22:21.950 align:start position:0%
based on CPU or F fpga and how to
accelerate<00:22:19.000><c> and</c><00:22:19.279><c> uh</c><00:22:19.480><c> we</c><00:22:19.760><c> thought</c><00:22:20.679><c> uh</c><00:22:21.480><c> starting</c>

00:22:21.950 --> 00:22:21.960 align:start position:0%
accelerate and uh we thought uh starting
 

00:22:21.960 --> 00:22:23.990 align:start position:0%
accelerate and uh we thought uh starting
with<00:22:22.360><c> the</c><00:22:22.559><c> simplest</c><00:22:23.559><c> design</c><00:22:23.880><c> and</c>

00:22:23.990 --> 00:22:24.000 align:start position:0%
with the simplest design and
 

00:22:24.000 --> 00:22:26.269 align:start position:0%
with the simplest design and
architecture<00:22:24.480><c> is</c><00:22:24.600><c> the</c><00:22:24.799><c> best</c><00:22:25.039><c> one</c><00:22:25.679><c> and</c>

00:22:26.269 --> 00:22:26.279 align:start position:0%
architecture is the best one and
 

00:22:26.279 --> 00:22:29.230 align:start position:0%
architecture is the best one and
especially<00:22:26.720><c> for</c><00:22:27.480><c> uh</c><00:22:27.640><c> so</c><00:22:27.919><c> that</c><00:22:28.120><c> any</c><00:22:28.840><c> small</c>

00:22:29.230 --> 00:22:29.240 align:start position:0%
especially for uh so that any small
 

00:22:29.240 --> 00:22:30.909 align:start position:0%
especially for uh so that any small
project<00:22:29.559><c> or</c><00:22:29.799><c> researchers</c><00:22:30.360><c> they</c><00:22:30.520><c> can</c><00:22:30.720><c> just</c>

00:22:30.909 --> 00:22:30.919 align:start position:0%
project or researchers they can just
 

00:22:30.919 --> 00:22:33.590 align:start position:0%
project or researchers they can just
simply<00:22:31.520><c> run</c><00:22:31.799><c> our</c><00:22:32.240><c> product</c><00:22:32.880><c> and</c><00:22:33.039><c> then</c><00:22:33.159><c> share</c>

00:22:33.590 --> 00:22:33.600 align:start position:0%
simply run our product and then share
 

00:22:33.600 --> 00:22:37.870 align:start position:0%
simply run our product and then share
ideas<00:22:34.600><c> uh</c><00:22:34.679><c> to</c><00:22:34.840><c> be</c><00:22:35.039><c> more</c><00:22:35.880><c> decentralized</c><00:22:36.880><c> so</c><00:22:37.520><c> for</c>

00:22:37.870 --> 00:22:37.880 align:start position:0%
ideas uh to be more decentralized so for
 

00:22:37.880 --> 00:22:40.230 align:start position:0%
ideas uh to be more decentralized so for
for<00:22:38.039><c> a</c><00:22:38.240><c> while</c><00:22:38.679><c> I</c><00:22:38.880><c> we</c><00:22:39.039><c> think</c><00:22:39.679><c> uh</c><00:22:39.799><c> we're</c><00:22:39.960><c> going</c><00:22:40.039><c> to</c>

00:22:40.230 --> 00:22:40.240 align:start position:0%
for a while I we think uh we're going to
 

00:22:40.240 --> 00:22:44.630 align:start position:0%
for a while I we think uh we're going to
keep<00:22:40.480><c> this</c><00:22:41.200><c> um</c><00:22:41.600><c> design</c><00:22:42.600><c> choice</c><00:22:43.039><c> and</c><00:22:43.360><c> we'll</c><00:22:44.360><c> uh</c>

00:22:44.630 --> 00:22:44.640 align:start position:0%
keep this um design choice and we'll uh
 

00:22:44.640 --> 00:22:47.230 align:start position:0%
keep this um design choice and we'll uh
continuously<00:22:45.320><c> work</c><00:22:45.559><c> on</c><00:22:46.039><c> optimization</c><00:22:46.880><c> of</c>

00:22:47.230 --> 00:22:47.240 align:start position:0%
continuously work on optimization of
 

00:22:47.240 --> 00:22:50.870 align:start position:0%
continuously work on optimization of
yeah<00:22:47.400><c> CPU</c><00:22:47.720><c> based</c><00:22:48.039><c> Cs</c><00:22:48.679><c> and</c><00:22:49.480><c> stuff</c><00:22:50.039><c> great</c><00:22:50.640><c> and</c><00:22:50.760><c> I</c>

00:22:50.870 --> 00:22:50.880 align:start position:0%
yeah CPU based Cs and stuff great and I
 

00:22:50.880 --> 00:22:52.950 align:start position:0%
yeah CPU based Cs and stuff great and I
think<00:22:51.039><c> we</c><00:22:51.159><c> have</c><00:22:51.320><c> one</c><00:22:51.480><c> more</c><00:22:51.960><c> time</c><00:22:52.120><c> for</c><00:22:52.320><c> one</c><00:22:52.559><c> more</c>

00:22:52.950 --> 00:22:52.960 align:start position:0%
think we have one more time for one more
 

00:22:52.960 --> 00:22:54.789 align:start position:0%
think we have one more time for one more
besides<00:22:53.400><c> those</c><00:22:53.640><c> techniques</c><00:22:54.200><c> did</c><00:22:54.400><c> line</c>

00:22:54.789 --> 00:22:54.799 align:start position:0%
besides those techniques did line
 

00:22:54.799 --> 00:22:57.029 align:start position:0%
besides those techniques did line
explored<00:22:55.640><c> uh</c><00:22:55.799><c> Hardware</c><00:22:56.279><c> acceleration</c><00:22:56.880><c> oh</c>

00:22:57.029 --> 00:22:57.039 align:start position:0%
explored uh Hardware acceleration oh
 

00:22:57.039 --> 00:22:58.990 align:start position:0%
explored uh Hardware acceleration oh
yeah<00:22:57.159><c> a</c><00:22:57.440><c> disc</c><00:22:57.679><c> question</c><00:22:58.279><c> um</c><00:22:58.559><c> we</c><00:22:58.640><c> are</c><00:22:58.799><c> still</c>

00:22:58.990 --> 00:22:59.000 align:start position:0%
yeah a disc question um we are still
 

00:22:59.000 --> 00:23:02.310 align:start position:0%
yeah a disc question um we are still
thinking<00:22:59.320><c> about</c><00:22:59.559><c> it</c><00:22:59.799><c> actually</c><00:23:00.440><c> but</c><00:23:01.159><c> uh</c><00:23:01.679><c> in</c>

00:23:02.310 --> 00:23:02.320 align:start position:0%
thinking about it actually but uh in
 

00:23:02.320 --> 00:23:06.070 align:start position:0%
thinking about it actually but uh in
maybe<00:23:02.600><c> in</c><00:23:02.840><c> next</c><00:23:03.480><c> maybe</c><00:23:04.039><c> at</c><00:23:04.200><c> least</c><00:23:05.000><c> for</c><00:23:05.200><c> a</c><00:23:05.360><c> while</c>

00:23:06.070 --> 00:23:06.080 align:start position:0%
maybe in next maybe at least for a while
 

00:23:06.080 --> 00:23:08.549 align:start position:0%
maybe in next maybe at least for a while
whenever<00:23:06.720><c> before</c><00:23:07.159><c> everything's</c><00:23:08.159><c> until</c>

00:23:08.549 --> 00:23:08.559 align:start position:0%
whenever before everything's until
 

00:23:08.559 --> 00:23:10.870 align:start position:0%
whenever before everything's until
everything's<00:23:09.200><c> stabilized</c><00:23:10.200><c> enough</c>

00:23:10.870 --> 00:23:10.880 align:start position:0%
everything's stabilized enough
 

00:23:10.880 --> 00:23:13.510 align:start position:0%
everything's stabilized enough
researched<00:23:11.480><c> enough</c><00:23:12.480><c> uh</c><00:23:12.679><c> we</c><00:23:12.799><c> will</c><00:23:13.080><c> keep</c>

00:23:13.510 --> 00:23:13.520 align:start position:0%
researched enough uh we will keep
 

00:23:13.520 --> 00:23:17.520 align:start position:0%
researched enough uh we will keep
working<00:23:13.799><c> on</c><00:23:14.279><c> CPU</c><00:23:14.720><c> based</c>

