Merken

Fast Async Code with Cython and AsyncIO

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
and then will be dealing with them
and there will be time for questions at the end will influence we're delivering this
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
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
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
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
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
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
structured so we start with an introduction to its just to have
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
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
practical examples easy once more and more complicated ones and of course will have cool questions from hopes good so 1st
asynchrony what you guys use this
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
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
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
switch to to another node will quickly to show you some
graphics the background i'm
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
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
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
stuff in the meanwhile while we're waiting on the blocking resource so I mark here this books this weighting let's save
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
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
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
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
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
another thing it finally gives us a common future class it's
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
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
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
from 3 to 5 so we can use a single label it seems so it's in text instead of
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
finally we're getting closer
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
worse if we have a request 3 so it's included the
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
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
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
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
optimized according and interact with external coextensive with last code gives particle really because you know about the end of the talk coordinated by
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
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
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
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
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
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
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
this department controlled much because all the rest of that hasn't happened and that's 1 of year and taking the mastering
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
of the form in which the and when doing here is taking a piece of code and is lower court and
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
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
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
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
love it there is something for a lot of
things that you can remove from that so just from kind of more than 1 so this all of
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
than potency and that's
us as a repetition of the and it's difficult to use language from an example sentences you from segmentation very
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
finally we have 15 minutes more to show you how it
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
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
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
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
will find the time will we call
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
that it's like so now it's sort of in the middle not now is serious OK now I have to run them
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
get the double of that than the of the
is buzz example would have time for that we don't want there are no what the
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
book the that's used for him from so
what we get in as a stream of numbers such a binary code numbers so for white for integer on the
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
no that's right to their interest in learning
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
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
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
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 .
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
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
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
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
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
and thinking about and 1
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
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
Metropolitan area network
Web Site
Maschinensprache
Vorlesung/Konferenz
Baum <Mathematik>
Computeranimation
Softwareentwickler
Statistische Schlussweise
Pay-TV
Computeranimation
Metropolitan area network
Dienst <Informatik>
Software
Rechter Winkel
Prozess <Informatik>
Datentyp
Speicherabzug
Vorlesung/Konferenz
Speicherabzug
Projektive Ebene
Softwareentwickler
Schreib-Lese-Kopf
Front-End <Software>
Basisvektor
Vorlesung/Konferenz
Dienst <Informatik>
Biprodukt
Bitrate
Baum <Mathematik>
Computeranimation
Metropolitan area network
Web Site
Weg <Topologie>
Stichprobe
Vorlesung/Konferenz
Baum <Mathematik>
Computeranimation
Expertensystem
Eins
Maschinensprache
Notebook-Computer
Default
Computeranimation
Modul
Metropolitan area network
Telekommunikation
Knotenmenge
Datentyp
Datennetz
Maschinensprache
Programmbibliothek
Vorlesung/Konferenz
Notebook-Computer
Quick-Sort
Computeranimation
Modul
Zentrische Streckung
Prozess <Physik>
Einfache Genauigkeit
Computeranimation
Task
Metropolitan area network
Task
Rechter Winkel
Endogene Variable
Vorlesung/Konferenz
Grundraum
Baum <Mathematik>
Standardabweichung
Task
Metropolitan area network
Informationsmodellierung
Web Site
Task
Gewicht <Mathematik>
Web Services
Datenhaltung
Vorlesung/Konferenz
Kartesische Koordinaten
Computeranimation
Total <Mathematik>
Sichtenkonzept
Rechenzeit
Kartesische Koordinaten
Ideal <Mathematik>
Objektklasse
Ereignishorizont
Computeranimation
Physikalisches System
Task
Loop
Vorlesung/Konferenz
Ereignishorizont
Baum <Mathematik>
Implementierung
Maschinencode
Datennetz
Datenparallelität
Klasse <Mathematik>
Kartesische Koordinaten
p-Block
Ereignishorizont
Socket-Schnittstelle
Computeranimation
Physikalisches System
Dienst <Informatik>
Uniforme Struktur
Task
Loop
Gamecontroller
Programmbibliothek
Vorlesung/Konferenz
Ereignishorizont
Implementierung
Schnittstelle
Resultante
Nichtlinearer Operator
Kraftfahrzeugmechatroniker
Gewicht <Mathematik>
Freier Parameter
Datennetz
Anwendungsspezifischer Prozessor
p-Block
Objektklasse
Binder <Informatik>
Framework <Informatik>
Computeranimation
Physikalisches System
Task
Loop
Deklarative Programmiersprache
Vorlesung/Konferenz
Ereignishorizont
Baum <Mathematik>
Implementierung
Resultante
Prozess <Physik>
Punkt
Computeranimation
Metropolitan area network
Physikalisches System
Client
Task
Vorlesung/Konferenz
Generator <Informatik>
Ereignishorizont
Implementierung
Nichtlinearer Operator
Lineares Funktional
Anwendungsspezifischer Prozessor
Abfrage
Biprodukt
Quick-Sort
Portscanner
Simplexverfahren
Generator <Informatik>
Menge
Automatische Indexierung
Loop
Gamecontroller
Speicherabzug
Baum <Mathematik>
Einfach zusammenhängender Raum
Resultante
Prozess <Physik>
Datennetz
Graph
Zahlenbereich
Computeranimation
Arithmetisches Mittel
Task
Software
Endogene Variable
Server
Gamecontroller
Vorlesung/Konferenz
Thread
Baum <Mathematik>
Task
Metropolitan area network
Client
Web Site
Punkt
Prozess <Physik>
Endogene Variable
Zahlenbereich
Vorlesung/Konferenz
Kartesische Koordinaten
Computeranimation
Offene Menge
Mereologie
Datenhaltung
Singularität <Mathematik>
Formale Sprache
Systemaufruf
Computeranimation
Task
Loop
Maschinensprache
Dreiecksfreier Graph
Datentyp
Momentenproblem
Vorlesung/Konferenz
Compiler
Message-Passing
Standardabweichung
Offene Menge
Maschinencode
Mereologie
Minimierung
Betafunktion
Singularität <Mathematik>
Formale Sprache
Interaktives Fernsehen
Zahlenbereich
Physikalisches System
Computeranimation
Formale Semantik
Informationsmodellierung
Maschinensprache
Mereologie
Vorlesung/Konferenz
Projektive Ebene
Partikelsystem
Inhalt <Mathematik>
Compiler
Maßerweiterung
Baum <Mathematik>
Funktion <Mathematik>
Schreib-Lese-Kopf
Ebene
Maschinencode
Web Site
Datentyp
Gewicht <Mathematik>
Open Source
Minimierung
Zellularer Automat
Elektronische Publikation
Computeranimation
Metropolitan area network
Mustersprache
Datentyp
Mereologie
Vorlesung/Konferenz
Wort <Informatik>
Ebene
Einfügungsdämpfung
Maschinencode
Subtraktion
Gewichtete Summe
Familie <Mathematik>
Maschinensprache
Extrempunkt
Computeranimation
Metropolitan area network
Variable
Knotenmenge
Einheit <Mathematik>
Vorzeichen <Mathematik>
Datentyp
Vorlesung/Konferenz
Einflussgröße
Funktion <Mathematik>
Nichtlinearer Operator
Lineares Funktional
Parametersystem
Befehl <Informatik>
Datentyp
Ereignishorizont
Entscheidungstheorie
Objekt <Kategorie>
Viereck
Rechter Winkel
Ganze Zahl
Strategisches Spiel
Maschinencode
Compiler
Mathematisierung
Schaltnetz
Hochdruck
Extrempunkt
Computeranimation
Metropolitan area network
Freeware
Informationsmodellierung
Variable
Vorzeichen <Mathematik>
Datentyp
Vorlesung/Konferenz
Zusammenhängender Graph
Optimierung
Maßerweiterung
Kurvenanpassung
Schreib-Lese-Kopf
Soundverarbeitung
Sinusfunktion
Lineares Funktional
Physikalischer Effekt
Just-in-Time-Compiler
Modul
Objekt <Kategorie>
Lemma <Logik>
Funktion <Mathematik>
Rechter Winkel
Deklarative Programmiersprache
Digitaltechnik
Baum <Mathematik>
Message-Passing
Verkehrsinformation
Metropolitan area network
Lineares Funktional
Freeware
Informationsmodellierung
Speicherverwaltung
Speicheradresse
Information
Extrempunkt
Baum <Mathematik>
Große Vereinheitlichung
Computeranimation
Lineares Funktional
Maschinencode
Rechenzeit
Bridge <Kommunikationstechnik>
Computeranimation
Integral
Objekt <Kategorie>
Metropolitan area network
Informationsmodellierung
Bildschirmmaske
Maschinensprache
Mereologie
Vorlesung/Konferenz
Große Vereinheitlichung
Parametersystem
Maschinencode
Punkt
Hausdorff-Dimension
Singularität <Mathematik>
Relativitätstheorie
Rechenzeit
Ausnahmebehandlung
Bitrate
Computeranimation
Metropolitan area network
Trigonometrische Funktion
Maschinensprache
Festspeicher
Canadian Mathematical Society
Resolvente
Vorlesung/Konferenz
Ordnung <Mathematik>
Baum <Mathematik>
Große Vereinheitlichung
Lineares Funktional
Puls <Technik>
Gruppenkeim
Zahlenbereich
Routing
Extrempunkt
Computeranimation
Integral
Objekt <Kategorie>
Metropolitan area network
Array <Informatik>
Programmbibliothek
Vorlesung/Konferenz
Datenstruktur
Baum <Mathematik>
Regulator <Mathematik>
Haar-Integral
Benchmark
Linienmethode
Metropolitan area network
Loop
Iteration
Array <Informatik>
Reihe
Vorlesung/Konferenz
Baum <Mathematik>
Computeranimation
Gammafunktion
Resultante
Parametersystem
Gewichtete Summe
Formale Sprache
Selbstrepräsentation
Schwach besetzte Matrix
Vektorraum
Computeranimation
Metropolitan area network
Automatische Indexierung
Eigenwert
Programmbibliothek
Vorlesung/Konferenz
Baum <Mathematik>
Attributierte Grammatik
Mapping <Computergraphik>
Resultante
Lineares Funktional
Web Site
Anwendungsspezifischer Prozessor
Vorlesung/Konferenz
Baum <Mathematik>
Computeranimation
Funktion <Mathematik>
Lineares Funktional
Web Site
Umsetzung <Informatik>
Anwendungsspezifischer Prozessor
Versionsverwaltung
Zahlenbereich
Inzidenzalgebra
Division
Computeranimation
Gruppenoperation
Mapping <Computergraphik>
Metropolitan area network
Funktion <Mathematik>
Spieltheorie
Rechter Winkel
Konditionszahl
Koroutine
Garbentheorie
PRINCE2
Programmierumgebung
Resultante
Metropolitan area network
Lineares Funktional
Umsetzung <Informatik>
Subtraktion
Loop
Dreiecksfreier Graph
Versionsverwaltung
Zahlenbereich
Ruhmasse
Baum <Mathematik>
Computeranimation
Loop
Vorlesung/Konferenz
Computeranimation
Spieltheorie
Zahlenbereich
Baum <Mathematik>
Computeranimation
Aggregatzustand
Einfügungsdämpfung
Bit
Subtraktion
Umsetzung <Informatik>
Hochdruck
Versionsverwaltung
t-Test
Implementierung
Abgeschlossene Menge
Zellularer Automat
Zahlenbereich
Extrempunkt
Binärcode
Term
Computeranimation
Übergang
Metropolitan area network
Streaming <Kommunikationstechnik>
Negative Zahl
Datenstrom
Datentyp
Mustersprache
Datenverarbeitung
Vorlesung/Konferenz
Umkehrung <Mathematik>
Ordnung <Mathematik>
Große Vereinheitlichung
Touchscreen
Fundamentalsatz der Algebra
Lineares Funktional
Datennetz
Datenhaltung
Güte der Anpassung
Onlinecommunity
Mailing-Liste
Paarvergleich
Hoax
Objekt <Kategorie>
Ganze Zahl
Randverteilung
Bildschirmsymbol
Reelle Zahl
Overhead <Kommunikationstechnik>
Programmierumgebung
Baum <Mathematik>
Pufferspeicher
Metropolitan area network
Vorlesung/Konferenz
Baum <Mathematik>
Web Site
Rechter Winkel
Dreiecksfreier Graph
Besprechung/Interview
Vorlesung/Konferenz
Baum <Mathematik>
Standardabweichung
Eins
Bit
Web Site
Prozess <Physik>
Punkt
Rechter Winkel
Zahlenbereich
Vorlesung/Konferenz
Baum <Mathematik>
Metropolitan area network
Web Site
Gewicht <Mathematik>
Mustersprache
Mathematisierung
Besprechung/Interview
t-Test
Einfache Genauigkeit
Vorlesung/Konferenz
Biprodukt
Baum <Mathematik>
Übergang
Server
Wellenpaket
Schaltnetz
Klasse <Mathematik>
Quick-Sort
Computeranimation
Hydrostatik
Virtuelle Maschine
Maschinensprache
Datentyp
Mustersprache
Vorlesung/Konferenz
Notebook-Computer
Ordnung <Mathematik>
Baum <Mathematik>
Metropolitan area network
Besprechung/Interview
Computeranimation

Metadaten

Formale Metadaten

Titel Fast Async Code with Cython and AsyncIO
Serientitel EuroPython 2016
Teil 22
Anzahl der Teile 169
Autor Behnel, Stefan
Lizenz CC-Namensnennung - keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben
DOI 10.5446/21225
Herausgeber EuroPython
Erscheinungsjahr 2016
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
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.

Zugehöriges Material

Ähnliche Filme

Loading...