Bestand wählen
Merken

PyPy meets Python 3 and Numpy

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
so um I'm going to present to give you basically what is
511 jokes end to end because I'm going to explain to a to represent you what's right what is new in pipeline what's new mostly from from from last year on whether a lot of smaller things on you more in court so where the what is by by a 1st by plays an oven condition of Python I guess you kind of know that if you're here surement don't uh it's mostly a drop-in replacement which means where you had this project that use see patterns you started with Python food P 1 then when you get started do with type I wouldn't y and it should do work the same way um so so far it's so far but by supports spiked on the language version 2 . 7 now like can use the in these few once it's about to support by in and Python 3 . 5 to language underwear users advantage why would you use by principle of the patterns of most some most common reason is just preference so there are a lot of program that they're just much faster or and by by the 2 1st just let's talk about by by 3 . 5 so it's the by and Python 3 . 5
support which is really is doing better was the name I wanted to say that I
was told that media should use another name so I am using gonna instead
so more why is why it is that I'm not a good name because because because the it works because it's very stable and it is very fast and everything but insists it could be wrong if you did that is everywhere which means it's probably me seeing some functions in the circuit what you were these new sub get methods there if not implemented or all these new extract what argument of lot tension over here is not implemented using this kind of thing that is not done yet but it is there and talks and antitrust so also also the current status is peace Triton report Hughes if your if your actually finding this kind of meat of missing functionality is because it's not like just just by reading the see that this year to we we find most of missing most of using functions but not all of them so on inference you as a special thank you goes to was because it was a left has actually been fan giving us a big grant like 4 people 1 year to to do this work both by entry point 5 on the this is just a set of benchmarks running on Python 2 . bone in 3 . 5 and this does benchmarks for the new keywords a sink and a weight on 2 . 5 which for and basically shows that it's fast says the red lines are speed In requests per se gone to on the bike tire and the blue lines are in Python on it's they sink so it's a a city B G even tone on the Web Khurais 0 and H 11 and underwrites to student line so if I ask who has a subvention for for completeness that this doesn't I
mean if you're writing an an and is engaged the be on your own writing needs for months on C pattern than you would probably not use any of these but instead use things
like the view of the which is the is pretty fast and see that but to which which is not included here because it's always see the key features of the man and these brought some more about super forms of few code the it OK so the steak is it's in roughly incomplete so competes 3 . 5 support press the F streams which is a new feature in 2 . 6 into a tree also added into 2 . 5 because why not because people we tend to like his OK because with performance uh it is tested mostly only makes needs so far which means of some always explicitly uh interface opera probie missing and there's a 1st final version means the 1st version that we not be called that dialog on now what we really is like to win on the way 1 but what once gets there's continent such we continue on and progress to Python 2 . 6 and probably should point 7 next year integer OK so this was my 1st segment of the 2nd 1 is about scientific stuck the so if you are using the scientific spike you we are using was 1st name pi so there's a as a new is so what what is new from last year well 1st it's it sets where z is out to a different kind of modules that you can use inside by that 1 is new PPIs that's the standard version of the composite you don't lowered Wikipedians on impact on terrorism 1 codon type II which is emitting modulo 4 on 5 back on which is not complete so what they did is basically these with the name but they that predated that don't use these anymore instead just use the standard impact so what we need is to support enough of the sea this year yeah the CPT's I see that and see that the i Europe in order to be able to run impact the so that was ended
that by really works I mean it's here 99 point 9 present because there are 2 fading best out of the thousands and thousands out what extremes of something so and having
another interesting bit is that it works on type I is the standard by that is that implements Python 2 but also on top of the pipe paladins by and 3 3 . 5 in this case going on when from from from these points you can actually didn't above it on things mostly work as in you can rent you pick them up at the time that the truck on all of this package mostly work in in by time so the here is an example that is not at all impressive but so he assessed on and you didn't know the book and I can I can render this and I get a the I get that came to the door of printing the summary and that meant but to print the business graph so all went as so think here is that it happens to be running side by side 2 . 7 it would look just as well inside that by 3 . 5 so it looks the and they so what I said about the see that in succession you Morgen more generally he she is or siphon would use work or more generally any see that and succession module mostly works nowadays out of the books on by so feces or thanks to see by exit to our own see that and see a guy reimplementation or in relation so when S is an emanation which means that it is a bit slow so it means it is nowhere to run on this new empire in under the complete sentence exciting it if you run the some compares the performance with the performance that you would get them that will see that you'll find that type II is slower so less so than sum up to last year but still who work on Wednesday I walk around and here this so so so I mean what is real is really is is a is the boundary between Python and C so for instance if you are doing a lot of you on your in your program you happen to be doing quite a lot of our indexing it's slow because every single array indexing is is going to cross this boundary on the other hand if if what you're using in by use computing is the eigenvector was off huge of 1 huge matrix is any sense it's a complex and lengthy process which is just as fast because you cross Cervantes Baffin see boundary exactly once the and when so far there is the speed factor here is that when men don't use e to be the key but it's very is very good right now you take your India raising you cast you consider it as a buffer you get to see if fight point the to this address in memory you guessed it's too and double star which means an array of doubles and you get the which is a pointer to is 1st and then always by dense is a so once you have the speed you can do the brackets 0 bracket 1 integer index at and just by the means that well during your replacing these where every single every single time you rightly you get and very slow cross and that you get a very slow process that needs to go through layers and layers if you replace it with the rocket index tenants it gives you that in to 1 machine instruction so it's great for speed so that when of you see what we're going to do in the future in the near future probably is actually add a few special cases so that East India array index becomes as fast as that hot OK so we have planned to improve some some funding would be welcome to and then yes for an hour just tried out on your own code and see the few tents and and and and so the but the the the have if you have anything that's just use new NPI and does nothing else the no it's not going to be faster and type bites from you to be so it gets but if you have some bigger programs entry has about that are really doing logic in Python as well zen is the the complete speed of your complete program might get faster by reading by the so now on the generated at the break substrate election of memory this is a debates of that kind of talked about the past few
years by tasty and substrate election memory it would be a way to get rid of similar but log on I've been asked about 10 times during this week what is the status
so here is the answer summary it doesn't seem to work
why doesn't it for wider than did not seem to work well is that this is the basic idea is that you would state stake and those ideas that default might work is that you take your program to begin complicated program that does some of things at 1 point it has a new the loops that does and that does something on every element of some collection but every single thing it does is mostly independent so by by adding likely you would add the hint of something and then and then the process would turn the execution of these most independent but in to be really running parallel and then and then you have a conflict detection system to to figure out which of these things are training parameters actually gave the correct answer correct answer meaning to give the same answer as it as they would have given you say when after and in parallel so is a very nice idea however in practice you get conflicts between the Fed and the conflicts are hard to find so it means that you're going to spend 2 hours using some do is something don't even know what they are and they need to be invented the the only to find 1 conflict underneath he then yes it's of use existing that don't exist something so you fix up try game both exactly the same bad government as before so repeat the process so you need to repeat the process several times you have no clue how many times and then at the end suddenly you get good would reference yes good it works and values the at and then the the main problem that's it is your program like that running not frozen right next time you attempt anything in your program Bush you're going to reintroduce some conflict on an empty you back to square 1 guess so so so as I think this is this is enough of an issue to tune in to kind of get the idea it's see the fact that you can test for the results I unless you do some kind of complex tests that the education runs in less than 30 C gongs and then you hope that when you're rings test Domitian user not actually doing anything as for example and handle so ways says sided elements will continue its put on hold for now I'm know when it is again a thing of thinking about is yes OK list was assume that the June free by prize could not be in STM pipe it would be the key is thing as Larry has thing he is doing for survive and it's a lot of work for us the by see hadn't OK the and OK and we have developed the what's rivers debugger is something that that gave aligning until last year here so there's a reverse the but is an essential to warn that everybody needs but once a year or once every 2 years something my 7 of needed twice since the last year but it's essentially it's a bit bigger we've said the ABT to go forwards and backwards so you run your program and that to a point where you nonsense and then and then when then lacking in 95 per cent of the cases you can't you can think of you can think 10 minutes on figure out why it's nonsense and and if it's about that in the 5 remaining person of the gaze you really have no clue why you are getting this nonsense on in order to flee to figure this out it when news of the media is a key revenue being lets you follow follow the values where whether come from in reverse maybe so you put you put watchpoint on a value for example and you can run your program backwards so the primary we run and to the point where is that value chain you just very usefully so here is the URL and inviting them to buy it in a different version of pipeline but it's very it is a version of by with almost no no restriction like it's a version of a but which
can run C 5 and C extension modules for instance you find you you cannot of course go inside the see that extension on on to go backwards them but that but you can go backward over a complete according to the C extension modules for example about what through the good so last few from random changes that occurred in by time the last year improved to digits mostly by some reduction in warm of time which means that that if your program really if you're primary took a lot of time to start then now it takes a bit less time promised a lot but less uh we reduce the memory is a generic assumption was the mostly the memory consumption that occurred during the start so this is just general did improvements um we have the emperor nowadays so the improve user a high-performance profiler for an for Python codes so think about hot spot for example which is the very important and and not a very ords profiler for survival so it's something similar but well as of the date of this is that the books he talks is the same way on Python see that and on pipe the and the local or so if you use a bike diverse and you can actually for on the vs function here was executed by turnings of the the functionals the stupid so the function was that the up the function was turned into machine code and can actually see the machine code so you can see you when things don't go don't go all right for some definition of right and see if if I see the phase away to call by intercourse see from Python on need to accept identity and see that the by the so all this this alone is a reason why I think the the phase great but but when come from what from what I've heard from former I regularly now from what I regularly here inside conferences see the fight is actually used by a lot of projects on that includes a lot of projects such don't have anything to do with by Omnis so was the biggest improvement since last year is embedding which means basically according by from C so if you have a program written in C or or whatever actually see shops C C + + so we should this be program you can write and that you can write a bit of and then compile this well you regrettably fat and then you executor exists if if I compiler on these on the output is the see that vary estimates C library that has the interface that you specify so it means you can write any Stone any C library you with any interface and you write it purine Python and and people are actually using it on iron 2 so the books OK so next year what is going on with it's going to have been signed by time dealings next year it's probably something that we report regarding into bluish by but by by 2 point 5 probably go on and start to . 6 uh and planes of scientific psych yes who continue working on it now and I mean I mean you by and and by announced mostly lectured things that is a major performance issues on and we have actually ideas about how to fix them so just water just what put and we play with by by without and and uh doffing that's the reverse debugger we need to put it to by by 2 . 5 which means basically mn writing an extra module which he put machines to be adapted from by by 2 . 7 to 2 . 5 but this is a kind of thing that you are looking for so from Q here is website the and
be right thank you think you're right so I we have 6 minutes
for questions so the on the
same thing we the and I we the hearing because some people have trouble hearing speakers exactly how I was that this would have very interesting talk and there was another talk that mentioned a new frame elevation API from that Biden 0 5 2 3 or something which is used by quite trauma sort of white charm debugging talk it's also apparently intended for cheating C Python can shed some light on how this relates to pipeline and whether I don't know where you know more about this it yes so yes it is it is indeed appropriate would thing for the fact that it's topic but I I mean that the
end of the story I would say you want to uh going to do about it the in but I just might add support for use in direction for you that accession what you like to these are the non support size on really well but the supports I thought specifically did you add support for sigh found or is it just that the improvements in sea pirates make it possible
to run the exception models the siphon generates and if that's the case did you do special things to make sure in particular staff work well or do you just can't fall out of all the work you didn't text In right so so no
it is always see by its work but but but but right we we we we we really had the problem of running these big siphon would you like bundle something on heads to do to tweak of c by x and supports enough of the CAPM elect enough of the details of this year the a to be literate because because siphon is doing the of crazy things like making making up some by-frame objects or something like that Atkeson as 2 and
would be possible and all useful just to have a limited subset of pi pi as supporting us and
like like a list the Chandrasekhar implemented that that promises to and an input as extra from module would it be possible and does it fit in the philosophy you few pipeline and i mean yes on an ad on
there's a lotta it's I don't know I mean I think it is yes and maybe it is indeed a good a good idea to to have an independent modules in which you send code but like not Derek Python code but specialized code I under heavy trend using STM maybe yes but he
said that C flexed by calling calling across the practice slow walking order of magnitude of slow we talking 0 order of magnitude we talking MS MS so what order
of magnitude that I'm not sure maybe 5 times of that of the on the need to number that can be improved by adding more special case and see that it has a ton of special case for coding the C a C implementation of a beating for example on we don't have them just because so it's a matter of adding adding that that the says that we'll lesbian maybe to a tree times lower of order of magnitude this too but the hello as you know we have the end
of all of parts into coming up fairly soon 2020 is at the end of life a Python 2 is the plans to keep my guess progressing with part by true after that would be seen as being at loss yeah
that's a very old questioning I I don't exactly know how to answer it and how well the that line I would say I would say it imagine that we just continue supporting Python 2 for every basically just because just because by by itself is written as a byte of Python to coat but yes that's about all I can say and the no have sorry we're running out of time and when I think I mean again great toe the
Intel
Software
COM
Konditionszahl
Mustersprache
Formale Sprache
Datentyp
Versionsverwaltung
Projektive Ebene
Optimierung
Bitrate
Parametersystem
Lineares Funktional
Explosion <Stochastik>
Vervollständigung <Mathematik>
Punkt
Gewicht <Mathematik>
Inferenz <Künstliche Intelligenz>
t-Test
Ultraviolett-Photoelektronenspektroskopie
Gerichteter Graph
Computeranimation
Benutzerbeteiligung
Menge
Fächer <Mathematik>
Digitaltechnik
Hypermedia
Gerade
Verkehrsinformation
Gammafunktion
Benchmark
Subtraktion
Sichtenkonzept
Versionsverwaltung
Partielle Differentiation
Benchmark
Modul
Code
Computeranimation
Keller <Informatik>
Netzwerktopologie
Streaming <Kommunikationstechnik>
Bildschirmmaske
Standardabweichung
Ganze Zahl
Restklasse
Datentyp
Mustersprache
Vererbungshierarchie
Hill-Differentialgleichung
Programmbibliothek
Ordnung <Mathematik>
Schlüsselverwaltung
Schnittstelle
Metropolitan area network
Matrizenrechnung
Bit
Prozess <Physik>
Punkt
Randwert
Adressraum
Maßerweiterung
Maschinensprache
Computerunterstütztes Verfahren
Kombinatorische Gruppentheorie
ROM <Informatik>
Mathematische Logik
Computeranimation
Multi-Tier-Architektur
Puffer <Netzplantechnik>
Poisson-Klammer
Eigenwert
Code
Datentyp
Kontrollstruktur
Zeiger <Informatik>
Optimierung
Modul
Array <Informatik>
Graph
Relativitätstheorie
Einfache Genauigkeit
Modul
Systemaufruf
Gerade
Teilbarkeit
Keller <Informatik>
Sinusfunktion
Arithmetisches Mittel
Randwert
Software
System F
Automatische Indexierung
Ganze Zahl
Festspeicher
Extreme programming
Exergie
Standardabweichung
Instantiierung
Resultante
Subtraktion
Prozess <Physik>
Punkt
Freeware
Versionsverwaltung
NP-hartes Problem
Element <Mathematik>
ROM <Informatik>
Komplex <Algebra>
Computeranimation
Loop
Freeware
Unterring
Reverse Engineering
Spieltheorie
Optimierung
Figurierte Zahl
Parallele Schnittstelle
Softwaretest
Parametersystem
Debugging
Mailing-Liste
Physikalisches System
Arithmetisches Mittel
Rastertunnelmikroskop
Software
Verkettung <Informatik>
Thread
Festspeicher
Hypermedia
Debugging
Ablöseblase
Ordnung <Mathematik>
Schlüsselverwaltung
Ebene
Bit
Punkt
Wasserdampftafel
Mathematisierung
Maschinensprache
ROM <Informatik>
Computeranimation
Virtuelle Maschine
Reverse Engineering
Code
Programmbibliothek
Maßerweiterung
Optimierung
Phasenumwandlung
Schnittstelle
Funktion <Mathematik>
Topologische Einbettung
Schätzwert
Ereignisdatenanalyse
Lineares Funktional
sinc-Funktion
Just-in-Time-Compiler
Profil <Aerodynamik>
Web Site
Debugging
Ähnlichkeitsgeometrie
Ultraviolett-Photoelektronenspektroskopie
Modul
Ordnungsreduktion
Rechter Winkel
Digitalisierer
Festspeicher
Debugging
Codierung
Projektive Ebene
Versionsverwaltung
Instantiierung
Rahmenproblem
Quick-Sort
Computeranimation
Informationsmodellierung
Stab
Softwarepiraterie
Ausnahmebehandlung
Richtung
Teilmenge
Objekt <Kategorie>
Faserbündel
Schreib-Lese-Kopf
Twitter <Softwareplattform>
Besprechung/Interview
Mailing-Liste
Ein-Ausgabe
Modul
Code
Netzwerktopologie
Schwebung
Besprechung/Interview
Zahlenbereich
Implementierung
Größenordnung
Ordnung <Mathematik>
Videospiel
Einfügungsdämpfung
Mereologie
Besprechung/Interview
Automatische Handlungsplanung
TOE
Gerade
Computeranimation

Metadaten

Formale Metadaten

Titel PyPy meets Python 3 and Numpy
Serientitel EuroPython 2017
Autor Rigo, Armin
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/33686
Herausgeber EuroPython
Erscheinungsjahr 2017
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract PyPy meets Python 3 and Numpy [EuroPython 2017 - Talk - 2017-07-14 - Anfiteatro 2] [Rimini, Italy] PyPy is an alternative Python implementation whose JIT often gives seriously better performance than CPython. Now PyPy supports, in beta version, two major new application domains: Python 3.x, and Numpy and the rest of the scientific stack. These are each an important milestone for a subset of the Python community. Thanks to a grant by Mozilla, "PyPy3" now largely supports Python 3.5 with one or two extensions from Python 3.6. Full support should be very close. (Note that PyPy2 will not disappear, if only because PyPy itself is written in Python 2.7.) Numpy and the major packages of the scientific stack are now starting to work well with PyPy (PyPy2 mostly, but also PyPy3). This is thanks to progress in "cpyext" emulating the CPython C API, as well as fixes to the packages in collaboration with the upstream developers. We will also mention some more "what's new in PyPy" topics from the last couple of years

Ähnliche Filme

Loading...
Feedback