Fast Async Code with Cython and AsyncIO
Formal Metadata
Title |
Fast Async Code with Cython and AsyncIO
|
Title of Series | |
Part Number |
22
|
Number of Parts |
169
|
Author |
|
License |
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license. |
Identifiers |
|
Publisher |
|
Release Date |
2016
|
Language |
English
|
Content Metadata
Subject Area | |
Abstract |
Stefan Behnel - Fast Async Code with Cython and AsyncIO Learn how to use the new async/await language feature to write asynchronous code in Python and [Cython]. See how to benefit from the excellent low-level features that Cython provides to speed up or parallelise your code, interface natively with external C/C++ code, and achieve better responsiveness and lower latency also in mostly I/O bound applications. ----- Python has recently seen a fresh development boost around asynchronous applications, triggered by the addition of the asyncio library and the new async/await language features in Python 3.5, but coming from a world of well established tools like [Twisted] and [Tornado]. The [Cython] compiler, which compiles Python code to C, has accompanied and influenced this development. It provides full language support for async/await under all Python versions starting from 2.6, as well as native interoperability with existing Python code and the new Python coroutines in Python 3.5. Benchmarks show that, while fully compatible, Cython compiled coroutines perform about 2-3x better than the same code executed in Python, but they additionally allow to interface natively with external C/C++ code, release the GIL, do parallel computation, and much more. All of this extends the applicable zone for asynchronous applications dramatically and can lead to better responsiveness and lower latency also for mostly I/O bound applications. This joined talk by an async I/O expert and one of the Cython core developers explains how to write code with async/await in Python and Cython, and shows how to benefit from the excellent low-level features that Cython provides on top of Python.
|

00:00
Personal digital assistant
Multiplication sign
Website
00:43
Type theory
Service (economics)
Process (computing)
Pay television
Software
Core dump
Projective plane
Right angle
Disk read-and-write head
Inductive reasoning
01:53
Bit rate
Basis <Mathematik>
Product (business)
02:33
Trail
1 (number)
Website
03:08
Default (computer science)
03:40
Software
Telecommunication
Quicksort
Library (computing)
04:15
Standard deviation
Dependent and independent variables
Process (computing)
Scaling (geometry)
Personal digital assistant
Multiplication sign
Single-precision floating-point format
Universe (mathematics)
Right angle
Task (computing)
05:26
Web service
Multiplication sign
Weight
Website
Database
Endliche Modelltheorie
Cartesian coordinate system
Task (computing)
06:27
Run time (program lifecycle phase)
View (database)
Ideal (ethics)
Total S.A.
Cartesian coordinate system
Event horizon
06:59
Socket-Schnittstelle
Game controller
Service (economics)
Block (periodic table)
Interface (computing)
Interface (computing)
Machine code
Parallel computing
Cartesian coordinate system
Event horizon
Software
Social class
Library (computing)
07:41
Mechanism design
Software
Link (knot theory)
Block (periodic table)
Operator (mathematics)
Weight
Free variables and bound variables
Software framework
Protein
Resultant
Declarative programming
08:24
Point (geometry)
Functional (mathematics)
Game controller
Electric generator
Set (mathematics)
Client (computing)
Protein
Product (business)
Subject indexing
Process (computing)
Simplex algorithm
Query language
Operator (mathematics)
Core dump
Quicksort
Resultant
09:54
Arithmetic mean
Game controller
Dependent and independent variables
Server (computing)
Process (computing)
Thread (computing)
Graph (mathematics)
Software
Resultant
Task (computing)
Connected space
Number
11:44
Point (geometry)
Dependent and independent variables
Process (computing)
Personal digital assistant
Multiplication sign
Website
Client (computing)
Cartesian coordinate system
Number
Task (computing)
13:11
Type theory
Message passing
Standard deviation
Multiplication sign
Database
Cycle (graph theory)
System call
Formal language
14:15
Beta function
Projective plane
Content (media)
Interactive television
Function (mathematics)
Machine code
Mereology
Disk read-and-write head
Semantics (computer science)
Number
Formal language
Particle system
Endliche Modelltheorie
Extension (kinesiology)
Mathematical optimization
Physical system
15:25
Open source
Computer file
Multiplication sign
Cellular automaton
Weight
Planning
Machine code
Mereology
Type theory
Word
Website
Pattern language
Data type
Mathematical optimization
Library (computing)
17:08
Functional (mathematics)
Decision theory
Execution unit
Quadrilateral
Planning
Insertion loss
Function (mathematics)
Machine code
Parameter (computer programming)
Variable (mathematics)
Event horizon
Measurement
Type theory
Sign (mathematics)
Strategy game
Different (Kate Ryan album)
Operator (mathematics)
Statement (computer science)
Vertex (graph theory)
Right angle
Summierbarkeit
Integer
Object (grammar)
Family
20:13
Functional (mathematics)
Sine
Digital electronics
Connectivity (graph theory)
Multiplication sign
Combinational logic
Disk read-and-write head
Declarative programming
Computer programming
Mathematics
Sign (mathematics)
Causality
Endliche Modelltheorie
Extension (kinesiology)
Traffic reporting
Compilation album
Module (mathematics)
Curve
Sound effect
Machine code
Variable (mathematics)
Message passing
Right angle
Object (grammar)
Data type
22:05
Functional (mathematics)
Information
Memory management
Endliche Modelltheorie
Speicheradresse
22:56
Functional (mathematics)
Run time (program lifecycle phase)
INTEGRAL
Bridging (networking)
Endliche Modelltheorie
Object (grammar)
Machine code
Mereology
Form (programming)
23:50
Point (geometry)
Run time (program lifecycle phase)
Theory of relativity
Bit rate
Semiconductor memory
Order (biology)
Canadian Mathematical Society
Parameter (computer programming)
Machine code
Resolvent formalism
Dimensional analysis
Exception handling
24:30
Group action
Functional (mathematics)
Regulator gene
INTEGRAL
Multiplication sign
Data structure
Object (grammar)
Routing
Benchmark
Number
Library (computing)
25:30
Loop (music)
Series (mathematics)
26:10
Subject indexing
Sparse matrix
Personal digital assistant
Eigenvalues and eigenvectors
Representation (politics)
Summierbarkeit
Parameter (computer programming)
Vector processor
Resultant
Formal language
Library (computing)
Attribute grammar
27:45
Functional (mathematics)
Mapping
Website
Function (mathematics)
Protein
Resultant
29:24
Functional (mathematics)
Mapping
Coroutine
Sheaf (mathematics)
Letterpress printing
Division (mathematics)
Incidence algebra
Protein
Number
Revision control
Integrated development environment
Website
Right angle
Game theory
PRINCE2
Data conversion
Condition number
31:56
Revision control
Functional (mathematics)
Different (Kate Ryan album)
Multiplication sign
Mass
Data conversion
Cycle (graph theory)
Resultant
Number
33:26
State of matter
Game theory
Number
34:01
Onlinecommunity
Functional (mathematics)
Implementation
Hoax
Overhead (computing)
Multiplication sign
Letterpress printing
Insertion loss
Streaming media
Student's t-test
Number
Revision control
Goodness of fit
Term (mathematics)
Different (Kate Ryan album)
Negative number
Energy level
Integer
Data conversion
Data buffer
Electronic data processing
Pairwise comparison
Touchscreen
Cellular automaton
Closed set
Binary code
Electronic mailing list
Database
Bit
Data stream
Type theory
Inversion (music)
Software
Integrated development environment
Pattern language
Object (grammar)
Fundamental theorem of algebra
38:28
Standard deviation
Arm
1 (number)
Website
Right angle
Cycle (graph theory)
39:20
Point (geometry)
Arm
Process (computing)
Personal digital assistant
Website
Right angle
Bit
Number
40:12
Mathematics
Single-precision floating-point format
Weight
Multiplication sign
Energy level
Website
Pattern language
Student's t-test
Product (business)
41:05
Type theory
Fluid statics
Multiplication sign
Order (biology)
Virtual machine
Combinational logic
Pattern language
Quicksort
Wave packet
Social class
00:00
and then will be dealing with them
00:04
and there will be time for questions at the end will influence we're delivering this
00:20
talk together with step on so we just saw that instead of having to standard of that we give don't something spatial this here why don't bring in some fresh material so we tried our best to give you some new use cases new examples so the tools that you might already heard all many times so we are in the habit of presented today how can you use that using KL site together to to make it more
00:44
efficient software so let's start will just the beginning of the introduction because you see people are still coming so seven-year why don't introduce I one-dimensional in uh 1 of the core developers
01:02
of type and known from conducting a project of the new head and persons development a kind of an active member of that the community efficiently run
01:15
inductions from Germany uh member was greeted over there and yet so I'm meant undersea animals Lofoten developers of climbing job I'm also organizing bike on the east so I'm using this as another chance to remind everyone that yes it does exist this year it's in the solver so go on Michael on of the ENC and come we also have to have everyone there and let me give a credit so they're called company where we're working on right now so school be is in the book but directly with subscription service that operates for quite a while it has some a cool with you in
01:54
Germany and it's available not only in Germany but although I have a lot of books and I would have a decent price of 999 months and people on it because it would five-star ratings to that's of course advertising but what is even more relevant today is at the start of the showing you today is
02:15
used in school at least partially so where based bank and we have developed in its from they today on daily basis and so the start of present you in production so yes let's start about the story how would be
02:34
structured so we start with an introduction to its just to have
02:38
everyone on the same track what so what is it about them what will be the examples about today and then we'll go on to site on topic and have a brief examples of what is it about and how it does it
02:51
work then we will show you how to use that together and how you can benefit from that from that and we'll show you some
02:59
practical examples easy once more and more complicated ones and of course will have cool questions from hopes good so 1st
03:09
asynchrony what you guys use this
03:14
I think that the yeah we do not need to stop too much on that because such a massive topic you know it's represented very great from this conference so I think we just have to go very briefly about its
03:29
everyone is in the same fact so as simply you know it's finally finally a defaults to invite starting from 3 the but but for 2 to 3 . 3 that we can use for the
03:40
missing from most network communication it gives us tools so so that have been already available in different libraries that were there forever and Mr. that was there in tornado and then there was the same or as well but this thing here is sort of a common tool to do this sort of work of just
04:00
switch to to another node will quickly to show you some
04:09
graphics the background i'm
04:29
just very very brief recap why do we need this tool today why I was thinking about it so let's take a simple case of a synchronous processing of some
04:40
requests so request on the left processing so a back and is in the middle respondents on the right this is a time scale of time is going down this is the traditional start that everyone will still from the universities so we get the request Persephone we throw the response out we get the next request the process that with filter the response out single standard and simple moralistic cases so that we have more than 1 request coming during the processing of all the first one and they just have to wait where the smaller request but we can do just 1 task at a time so we do it with so responses as we're completing our task time is going the same thing then the deal
05:27
about this thing is that the most of the time at least standard I O bond applications like most of the Web site most of the web services most of database applications and as I've been waiting for I O so this time is something that our city user wasting and we could say that if we we could do other
05:45
stuff in the meanwhile while we're waiting on the blocking resource so I mark here this books this weighting let's save
05:53
database some other externally with our and the asynchronous execution model lets us to save this time by switching between tasks to have same 3 task that's 1 of 2 and 3 but in this scenario we work on Task 1 then we do what the request the database and we can work from the other things in the meanwhile so we jump to the past 2 right away when task to is done the short 1 then we go back to task 1 because we got a reply from the database and we work on that and so on so we jump between tasks that's how
06:28
we can recover the Iiving in making on the ideal and that's how we basically most of Internet-related applications can save on the total execution time some fast so what is the view of all this in the all with this is the 1st of all it's an event
06:47
enormous reactor from with that like 12 years ago was already there so again it's nothing new it's just the standard way to do that but dust is essentially it's a it's
07:00
a tool that's how it is managing the network events and that no switching events is related to to each called in our application so it will be remembering 1 data available on particular sockets which piece of code should it's cold and then when the piece of code
07:16
user control back the I will then it decided also which piece of what should be the key that next to adopt this jumping between blocks of code and that's call the that's
07:26
another thing it finally gives us a common future class it's
07:29
service same interface basically almost same interfaces concurrent features that we had before it's also pretty similar to tornado future that we have and there are libraries that can convert 1 future and another
07:41
so you can mix the frameworks uh and what is the future of just a quick reminder it's so it's called deferred and is that the placeholder for some of our results of probably network operation that is not available yet but will be available soon using it as a link to the future results of some operations to another block and weight but to do other things and finally quality and again it's quite
08:09
similar to proteins that we have in tornado but a not only the quality mechanism mechanics itself is updated but also all the declaration of protein is updated starting
08:24
from 3 to 5 so we can use a single label it seems so it's in text instead of
08:32
from syntax that this sort of thing so the way to do that and outside and supports it will have on the peer-review of that how can you that together and so on that and just quickly finished with this thinking production 1st yes so uh so core has a set this based on the generators can be on the query with the yield from simplex or with facing that's index it's slow their function or a generator that can be suspended and gives a control to other proteins and a very simple example that they show you just to get started this we use a new friends this thing that's index we do some processing then we want to do with blocking operations so we use think it should it be clients to write something for us matching is a blocking operations so it's initially requirement will return as the future of the real results so we don't wait and then use pictorial from syntax to points that I will dedicate this is something that we don't want to wait you control for other proteins and just the resume this current team at this place when the result is right on the soccer and then we have the more processing and return the results these so
10:11
finally we're getting closer
10:12
to the the thing that we will be showing you today about how can we go even further in optimizing always seem task so in these graph what we're showing you is some front that we have the front ends let let's say they just some piece of software that accepts a network connections and so the use of the tasks to back and part that is doing some background processing for us isn't here is 1 here on the front it's getting request number 1 does some processing and then OK we need the some data from the back and so with the request the back and make and does some processing meanwhile would have request to that is going to the front and server it is started it is executed then engages control again to the request number 1 because this result is already available here what we see here is that even though request 1 has begun before request to it'll only get responses afterward so it was waiting longer than it would be waiting because of the result from the back and that we need use already available here at this point but because there was a request to coming in and the mean of islands we have just 1 thread in which we execute everything we have to delay the processing of the request 1 even further it can get even
11:47
worse if we have a request 3 so it's included the
11:52
sites which task should be done next and even this point the sides of we have the request number 3 and we have data available from the back and here which 1 should be the next it's could decide that they would soften the request 3 and then request funding is delayed even further so even though coming 1st into the served lost and so on this and some applications can be quite critical because they're not fair in the way we're doing with client requests here and the most straightforward thing obviously what we can do is to make this times shorter so the shorter hours the times that we we need for processing from data the faster we can you responses and also the more flexible we are in switching between the fast different executed so this case by shortening the processing time on that simply aside twice we see that even even though the back and take the same time to give the data that we need even tho we still our way better in serving the front and request because of we are more efficient and switching between them and so our responses will be available fast and as you probably already guessed how can we
13:13
reduce the latency how can we how can we process I think the apostle more efficiently is only only if we reduce the pass the time it takes to process every piece of gold that is there synthesized it's not database because databases probably the booking responded to be processed and from other places it is some usually Python call that is taking time to be executed and here's a cycling comes in now let the stuff on the introduction of outside and then we talk about how can we optimize this in us of of
13:59
then you can candidates intro through its cycle and as about language 2nd is a commoditization most widely used standard has compared out there it's been the early days of type when it was still called pirates of in preparing and
14:17
2nd project itself out in 2007 for regression and variable called and it's another is that the major part of the semantic head and neck of the system so in some to go right into a the larger the lot of number crunching and on courts and the coordinates kind of for example the many many wrong tools and beta content tools are required on what gives you is so basically of a Python code were also have you 2nd code was written the back on the outputs of the from the generated code which is compatible hello and this is here the ISO to getting extension model which is important and then just use another model and I thought said this sense of having language whenever you want to do optimization
15:15
optimized according and interact with external coextensive with last code gives particle really because you know about the end of the talk coordinated by
15:27
and that's 1 the it's open source you can prevent certain words and we ended up so if you religious or more in the better of this historical OK so implements OK so is all that's going on you can add them about what you're doing over the quality as
15:53
1st thing you would do it because it's a lot of time on the net and the site magic to the rhythm of work of and allows it to execute technical so very indirect way through and through them and compiled according to the uh book when using near some you have on the through the file and the deletes type release which are reducible there go just for conference so you look and and so then what you you do is you can take em at and cell and said from the pulpit at you and you have to share it is and this is just the could just use of plane pattern save his apart from and generated use embedded in a sentence and the word was that for optimization for use in C data types in Python code to talk is to function at 1 just now value that wanted and do the same with 2 values some and to reduce the x and wine and and here is already a part of the and the the and the
17:08
allows in Europe and also needs to be clear the to see it you see the that whites former variables and so then mean what item and will do is going to optimize but the cold forming this it's sees this variable of register integer 2nd use made operations on that as fast as you cross that grows as close to as far as higher than you of which would cost in the so the sum of the of like in the their argument types looking the variables with this suggests statement from that of the global variable in here would also decisions and then you a function here any of the vertex and simple events in a policy integers the aboriginal you run out of simple problems if you add operation and that's not that interesting and this can be done directly and what the last thing is that don't have to care about this and try to use just the 2 variables and thank for generates efficiency codes for your which don't usually just like thing as a way for for um and helping you understand what's right makes of the courts and that's just same newspaper from so themselves and then segments a which and takes take my called annotated for me and you would think about it and that's what's happened the outputs and the you and tell me about this is what I've seen your code and the gonads from before and during the years of American operations and Nancy in excess object variable as of the end of the operation industrialization in them in the parade Python object operation and down here said on its strategy variables and plus signs here and that that's the proficiency conducted through the code of see what is and then developed as a hint we have to to touch a quadrilateral measure objective again selected units so always have affected that I'm just getting the functions that were different about me and my family can just call them as are and they right result looking at all the functions so reluctant problem different types and functions I have a lot more function types learning because when interacting with the cold is often necessary to them defined C functions directly the army and
19:57
certain losses in that thing to have from the functions of the and then we get this out of plane C functions that it's the functions which can also has a ransom to secure called for example which is usually called
20:13
on and so forth so that's something the news program called semantic anymore it's not object is and in fact the multitude of and exchanging and at more things from you do not do all this and also know from a Python module you can just write the present caught on and to the right in the head model and you can say that extension of the compilers for me and then the combination like she has the curve and that report time the function and that's called for you compose for you it's function by compartment this is just the just decorated can use that the kind of like to combination in the sense that it's the components in the bottom quartile messages talking at to hold your interest the causal so for each 1 seems that it can use of CEC data types variables new code the use of of an example for using external circuit what I'm doing here is I'm taking the math functions from the same and I'm using them in medical so onto the sine function for example and using the declaration of applied and divide private through the sign of the printing and this is often holds 2nd quadrature looks like so that's some of so called neural some kind of caught some objects being there and you can really makes them
21:56
freely if this effect here is just you know this this is that it's all there for you to and this is how trying that
22:10
memory location and that's examples taking is not free in society they're just the usual the usual Robertson functions use often people prefer to use the impaired memory allocation instead because then you know the high-dimensional loaded and the standard of with you and there is question that model and so yeah it's it's just interventions you can use information across the nice thing about it is that you can also have some functions around you can of
22:48
this department controlled much because all the rest of that hasn't happened and that's 1 of year and taking the mastering
22:57
function for example and just assigning intrapartum variable insight and goes OK and that's a C functions on turning object that the rabbit so that's a and and then it's it's part of my my model and so on that's so that means that from college directly from from a book the 2nd take function here and call ready into the assigned function from object refer to certain generated from the bridge the remaining Simon of research again is more involved example but often work and you integration so there's a distinction at runtime
23:42
of the form in which the and when doing here is taking a piece of code and is lower court and
23:52
CMS has been cold and know some of the relations in order to use the rest of giant and then demonstration and the runtime compiling the code it gets according to court converting lead uh the resolve arguments from dimension you never within this year that you can try finally so this exception based whenever something goes
24:19
wrong just rates had exception you I'm not getting to points code you can do that anytime the matter and you creating the runtime goes from this present memory there because you
24:33
should remember that with parameters like and it's kind of a lieutenant so just call functions I can call a group called the number 2 and coded it looks a lot of presence except that water quality within 1 codon and positive so interventions and so on it's given a lot of president of matching regulation here but this time which benchmark at that what what kind of fast enough and OK so this is the starting objects in the libraries has had has wonderful integration route of the data structures see the lights on it
25:22
makes things a lot easier than if you know if you were writing policies and see what you mean I have been using the procedure for for a number of people you
25:35
love it there is something for a lot of
25:41
things that you can remove from that so just from kind of more than 1 so this all of
25:49
a sudden you have a series of you can use ice assignments you can copy ability were in the loop over so it's of everything you would expect from Python just you know you're going to see destructive and so 1 of the things that user just press with the music of but but less
26:11
than potency and that's
26:15
us as a repetition of the and it's difficult to use language from an example sentences you from segmentation very
26:25
beautiful because you know it's also object-oriented so you've love like Python and from the right wing and so really remains in the 1st pass from from the probability you already on the little just which you can do but I would recommend that and as an example we use the cytosol sparse vector reference from library and they're getting full values in the of couple attributes to because they purchased problem over and then it can indexing near-normal have community with that I can iterate over the vector the interest the past the vector some suppose just mentioned and pass back from the past and eigenvector into and high on the this what does this it just copies of Ventura you know the obvious hiding representation which in this case this is automatic discovery of over the 2nd half of that of that expect this heightened result from the sum use has an argument against the reference books that development and OK finally
27:49
finally we have 15 minutes more to show you how it
27:52
actually works together let's get right into the cold so 1st we just have a little little helper functions that will around something for for us was missing we get the instance of that I will around the current
28:12
team with that I will we return the results using just have a map so to show you that the that we will make this site and are totally compatible with the 1 that you would do in native normal Python but show me you so let me show you the following example so we use the fancy facing that syntax now and so on this is just a very very basic function that will add 1 or something whatever you feed it in so you give the future in it will await for that future it will have results then it will say that some of the filtering the result and just for us we remark that this was done with site and then it will return this result of them facing that 1 adjusted honest 1 obviously but we wanted to be a protein that's why we define it like this showing you that in France we generate 1 and then we add 1 and then we add 1 more this is in there is all that we see printed 1 2 and the output of the industry this society I have the same thing that's now
29:27
it's done and purified from the prince and that is that I say here 5 from that so that you see that it's actually promise to fight on them you see that here in this example what they do is I generate number 1 then I use the final function and 1 and then they use the site and find function had 1 and then ironical on the I and from Prince will also see that the the first one was executive and 2nd 1 with sight which we could even the notice so it's totally easy to integrate it's easy to mix you can right side on anything right and 5 and then you can call it 1 from another and it still works next example and just a simple ping-pong game sold will make it as a function of the protein in light of the people who think that will do a similar incident brings 1 to call them the site conversions so
30:34
we use I would do the 3rd the Commission decided it's the agreement by 1 function will have a map of coroutines just some simple dictionary that tools the 1st week would have the sigh conversion them we have my commercial section 5 is found with there's this mapping in this condition is just not brings to much so to switch printing on and off based on the show were able we print on if it's sigh from protein and bring things being fight just show you the 2nd 1 and it's easier yes the same thing but now it prints things because it's the Python version because this simple see we just because the right uh quarantine based on the current value and the division by 2 if it's all of them do all the 1 protein if you and then another 1 here we have the result from from the front side environments identified sites but was for we did this talk at all is to see if it actually makes sense to me than if it gives us an advantage in the speed so now we
31:57
will find the time will we call
32:01
the same thing the 1st it's just the Python version we see that the result is a story forcefully amounts then we call the conversion it's 1 183 3 a mass which is like double faster with no effort at all let me just remind you what is the difference between 2 2 functions cycle by differences and would make it novelist and then just ahead of the 3rd example is we makes it so we use that for all its numbers cited for even number spike we find and the result is somewhere in the middle so with it's actually not that it's actually it's actually worse than the 1 you yeah also see
32:59
that it's like so now it's sort of in the middle not now is serious OK now I have to run them
33:06
all as sequencing that made it up yeah I know it's fast and that's that's how fast yes yes yes so you see it's still double faster it makes sense if it's all all you need is just the foot per cent per cent 5 0 and you
33:27
get the double of that than the of the
33:31
is buzz example would have time for that we don't want there are no what the
33:40
Bosnian as essential principle so there's kind of children's game changers division and use the same number and if it's visible by 3 you safe is in the middle of our fighters bars and everything about 4 with many states is well so that's what we're doing here in on which are the
34:03
book the that's used for him from so
34:10
what we get in as a stream of numbers such a binary code numbers so for white for integer on the
34:16
network screen and so I'm just I'm getting those going from members of the collection method their values and then if you think of printing and so on it is a bit of overhead of environment and stuff yeah that's a Python implementation of the whole thing and what is considered here the monthly values the using the array object for a happening and then run through the list here but opinion convulsive or at lower it's nothing negative about them the number that you're going into the value and then call that the which will often have on on yeah you're interested in its informal from which you know you just continues running 1 our data and it's really the future of the new world and financial have from the new isn't here it's in it's packed on the loss of the database and data processing using this for him reading and so on and make them a rigorous and taking this course hopping interpreted fundamental type cell and that was present called just a very meaning it's true of 2 functions and so on just 1 pattern version runs that in the compiled on and then that's enough my my data stream you're just kind of fake data stream in the strengths of a long long and into the stream the chance so that it can do and you know what's processing on running down building my data streams well expected for the 1st thing to notice wondering if it wasn't on 1 and so it is so and especially the works and personal versions of and then the user community remains performance comparison between the 2 of them from the 2nd function from the pattern tendency the performance differences the chief because right and so on the 2nd version and 7 ms that rejected by the floor and then depending on the chance I so e and this differ but this usually something sentiment was fostered just by compiling and then the next thing I did was rewrote the whole thing you know more and you'll see usual way and then iterating and running through it just so the data buffer and of sea charitable level here and in the same thing in most you shrivel just in of no bytes students integer reduced possibly during the reign of the Admiral conversion some text let's consider and square and that that but in terms of another you remember 1440 % of faster the present what the overall this a close to 30 times faster for the inversion that there was all that think that it's a good time for questions
38:00
no that's right to their interest in learning
38:09
and and the problem of a couple of questions you can you hear me on and I would just wondering if you're using this what and what do you mean should is that you don't
38:29
want to much about actually doing with it you me in the using site and together with simple of exactly how we're using the same there we did not compile I think the other side of the so there lots of would played with it to make this talk and it works those unity of right through the river and all these important when Americans have thank you yeah
39:02
yes still and I and I think the thinking that so so what the Bible books said that I mean if you cycle yeah so bombers and the deviation indexed with only added in and have them read of 5 arms lower on
39:20
Portland inside of site on that you were but that's the main major selling point for me and immediately and it actually is so just 1 more question and can you tell me about 9 .
39:35
mission and can I use this to cast in enquiries how is that 1 could and so the question was how well number is the way the
39:45
side on the extremely well that everyone uses its around for the 2nd what is is and scientific Python arming and we have special syntax inside and allows it to say that this a little bit about her knowledge right and then you can just iterate over advanced through as fast as the process can and yeah that's 1 of the main use cases for some right
40:14
parties a single features insights already for production or is it like experimental features like you know be done or something so the in there
40:25
is a way support inside on with the with the same time as the height support for it and weight on the work of changes recently which reports about the same level of the article and the funding is spatially influence each other and so on while the patterns of what was in the middle we develop our boards and so we had an impact on how the students and change we didn't so that both of them improves this by by working together I have a little final note that if you have any interesting getting more into detail of sites and all
41:06
oral facing various separately you are very welcome to the training set with our tomorrow and the day after tomorrow that will cover these 2 topics really in detail
41:19
and thinking about and 1
41:20
last question thanks and things sort of uh I was just wondering if it's i can take advantage of the bike and 3 type In order to comply that's about the topic we actually start discussed that
41:39
we have uh difficult times and we intention of the title of the patterns it's not really something that's meant for static combination doesn't really help us so it's it's meant for type checking for annotating a few ideas from making them machine understandable basically but it does not help in combination and that's where we are currently making use of you think you may have spent the last class
