AV-Portal 3.23.3 (4dfb8a34932102951b25870966c61d06d6b97156)

PyPy status talk (a.k.a.: no no, PyPy is not dead)

Video in TIB AV-Portal: PyPy status talk (a.k.a.: no no, PyPy is not dead)

Formal Metadata

PyPy status talk (a.k.a.: no no, PyPy is not dead)
Title of Series
Part Number
Number of Parts
CC Attribution 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 purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date
Production Place

Content Metadata

Subject Area
Armin Rigo/Romain Guillebert - PyPy status talk (a.k.a.: no no, PyPy is not dead) The current status of PyPy, with a particular focus on what happened in the last two years, since the last EuroPython PyPy talk. We will give a brief overview of the current speed and the on-going development efforts on the JIT, the GC, NumPy, Python 3 compatibility, CFFI, STM... ----- In this talk we will present the current status of PyPy, with a particular focus on what happened in the last two years, since the last EuroPython PyPy talk. We will give an overview of the current speed and the on-going development efforts, including but not limited to: - the status of the Just-in-Time Compiler (JIT) and PyPy performance in general; - the improvements on the Garbage Collector (GC); - the status of the NumPy and Python 3 compatibility subprojects; - CFFI, which aims to be a general C interface mechanism for both CPython and PyPy; - a quick overview of the STM (Software Transactional Memory) research project, which aims at solving the GIL problem. This is the "general PyPy status talk" that we give every year at EuroPython (except last year; hence the "no no, PyPy is not dead" part of the title of this talk).
Keywords EuroPython Conference EP 2014 EuroPython 2014
Internetworking Robotics Website Line (geometry)
Subset Chain Goodness of fit Just-in-Time-Compiler Process (computing) Interpreter (computing) Operator (mathematics) Chain Video game Ideal (ethics) Formal language Subset
Web 2.0 Implementation Code Interpreter (computing) Code refactoring Software framework Einbettung <Mathematik> Arithmetic progression Event horizon Traffic reporting Number
Structural equation modeling Software framework Scanning tunneling microscope Aerodynamics System call Formal language
Area Source code Open source Code Computer program Code Mereology Benchmark Number Frequency Befehlsprozessor Software Einbettung <Mathematik> Modul <Datentyp> Einbettung <Mathematik> Quicksort Physical system
Distribution (mathematics) Survival analysis Benchmark Arm Product (business) Number Befehlsprozessor Personal digital assistant Different (Kate Ryan album) Statement (computer science) Energy level Software testing Right angle Arithmetic progression
Multiplication Thread (computing) Concurrency (computer science) Moment (mathematics) Scanning tunneling microscope Database transaction Branch (computer science) Database transaction Semantics (computer science) Thread (computing) Product (business) Mechanism design Read-only memory Semiconductor memory Software Convex hull Right angle Quicksort Writing
Group action Thread (computing) Code State of matter View (database) Multiplication sign Regular language Insertion loss Water vapor Mereology Tracing (software) Food energy Computer programming Subset Formal language Mathematics Different (Kate Ryan album) Semiconductor memory Endliche Modelltheorie Extension (kinesiology) Physical system Area Algorithm Electric generator Electronic mailing list Instance (computer science) Type theory Process (computing) Data storage device Right angle Quicksort Writing Speicheradresse Spacetime Web page Game controller Electronic program guide Heat transfer Thresholding (image processing) Number Twitter Power (physics) Revision control Goodness of fit Natural number Bridging (networking) Gastropod shell Energy level Speicherbereinigung Representation (politics) Software testing Focus (optics) Graph (mathematics) Information Cellular automaton Memory management Mathematical analysis Cartesian coordinate system Frame problem Word Moment of inertia Personal digital assistant Einbettung <Mathematik> Object (grammar) Library (computing)
Point (geometry) Multiplication sign Letterpress printing Survival analysis Insertion loss Mereology Regular graph Tracing (software) Computer programming Product (business) Number Power (physics) Mathematics Strategy game String (computer science) Computer hardware Authorization Integer Mathematical optimization Computer-generated imagery Binary code Projective plane Electronic mailing list Bit Maxima and minima Arithmetic mean Loop (music) Befehlsprozessor Process (computing) Video game Speech synthesis Summierbarkeit Right angle Object (grammar) Musical ensemble
so and I am on the goal
line and here too 2 let's Romans should hi of so it is the biggest crowd I've ever spoken in front of so sorry the for this but you can find me on the Internet of I don't if I if I will often 4 so that site and what I tried to make site on and by by work together and the approach was wrong but it was interesting to see because now we know it's wrong and I welcome on 5 and 3 and the principle mostly clears of the last year we didn't given by Plato and then people as the by by was then so it's final that's what we would have made then then the other your question a robot we broke history so this were inspired by and by the way is built on top of the
operator and the chain which is a subset of Python on which generates dynamic languages so she made advantages over a C E Os about that you get
it for free basically and also a good job it's collector under so on top of of life and the main topic dealt with it is high value which is which is the
fastest by the interpreter or so this will allow us to use we small progress on things like comfortable see if Friday given event that given support implement the garbage that so if you're interested in James or relevancy it's better than previously fast Jason as well so if you're really web stuff this can be useful and this number or fossil G that the fact way that we also have use you with report things to the CPI for embedding with so this is not the same API to survive and the API but you can you can use it to and that by so years I can use of framework so we have so also much of languages on
top so we haven't really implementation with is a code
talkers and the people which is of phd so it has to do use the faster with the money and the and so by the 3
of and we managed to do a lot of stuff with the mother of money I think so but through supported is 50 per cent down and we've done 80 per cent of the really and then but other SEM we we made a 2nd call for the nation to have a more production ready as so hopefully shall have too much money in and then what should donated before that thing this will also have the commercial support for by by so if you a big company are afraid to
use something that you don't know how to act than where you can hire and also show performance issues which open source usually will have to for free but the show closed there what sort of so this is your Python code where very compatible and aside from implementation-specific stuff but it just works and the what we what on being able to communicate with this city so we have the barracks which is other compatibility layer 4 those systems infinitely what the thing is the 6 tension a period to do is shown that survive and basically so we will also see if if i which is which is as fast as the CPU area know where we're at 1st on and so we have we also have the embedding as I said that because we can also that we see all Cyclopaedia if if I use like the 1st but the reason I've drawn by by for example we've also did sissified based there and XML and by the and also we have we have will slowly but steadily increased number of so in this by question and it is just fast this is a lot of benchmarks that we have
but represent reward usage some of those benchmarks were all contributed by unladen swallow so we write them so we
didn't make right benchmark to show of Austria we are you want them to I have positive thoughts what we didn't whether we use and so on thanks to the Raspberry Pi Fundation we have also we have production level comes all its
1st Earl of the speed difference between by by on armies beyond x 86 because the on CPU is not smart and by just but it is very nice good for all would survival doesn't and so it's you know spend all the distributions ship with the red very by some of the come on numbers support is in progress on we have we bust that must share that much this but it doesn't mean much but it should be what we've done stuff How do I and I want you it so that he can use right now so if you can just that's what you need that we welcome that before working on something else and we don't have statements about it but we have we have an idea of how to make it work so hopefully this will find out and no we want free right so from scratch and by 3 case so we've really is the 3
prime to movements and all before for 3 branches of if you're writing if you if you want to get started into to abide by the this is the moment to get started because once we just which survive and then there won't be any entry-level dustless so that you can you can find that this printed I forget is a good way of getting something like but also of 2 missing optimization on by from 3 but we are looking at bringing them by so this and see if I is there is a way of interfacing with C & it was it works in the API as 1 of the major so that's the basic doesn't for does much of on unnegotiated insight it from them by by which is and then this super fast and by the end of almost as fast as just got the from and 1 st was the gene generally very hard problem but the problem is what about the advantage of that you know that it say it doesn't work it hides a lot of insofar so those sorts of transactional memory to the sentence semantics without being without being where without to give so you can run on multiple threads and it's also a mechanism for problems saying concurrency so you and further knocks off horrible hopefully this will be better and the yes we have already abide by by assuming that G so you you can find it on the by product was so long ago so you can try it out and I know that's what and then you know we're talking about having an opportunity by same many and if you're more interested in removing the give then you can see you what talks tomorrow so yes I you can find us on
IRC and for right again
on by by what Assurance any question then you can ask and see all right without
it is very it's a lot like all values can also there is an so here and is experiences of really interesting to run on I think it was just so the question was about swift and how much space and subsequent to switch according to local and what you can look that up and it's been asked
which he wrote the same algorithm of were used for the for the benchmark and in all the a good very good performance improvement and by by so I don't think I think it was just marketing stuff for example how can I make them all out of my various data but was the over all our view of the solar system it's it's it's it's it's 1 of which the OK very small little action works you with this has been passed through our I How much is there a lot of cases where the whole world so the question was about money where Python on and suppression compared to by by so I think the main performance differences in and by by does better because what it's interesting due to generate just 1 linear Tracy so basically we using this model called and set I what was the last the also the at the time of the program the all so by by the on and I don't know I mean good owns the practical so as we I want is see if we use word as was so you would on the going straight from 3 . 2 2 3 by 4 3 . 3 is a subset of 3 . 4 so if we if we do 3 . 3 that we get a part of the brain for and while I was just like lot of then we we we get free fall for free the it is also possible but we want to move and that survive and basically and then you can pass the word there were with written not by by we thus we use the same storage like foragers but in the same way so you can just bust stuff around and you can pass or stuff between survive in these instances so you can do the same with by by and you can use that and sigh by users what is its tons of C which by by 1 get any faster also that's a pretty important yes other the world I think this so creating 1 of the things he finds right standalone things you find but we don't have to bring anything ground on this but if you can use the embedding MPI on you can't what you will probably have to wait the combine thing to make it into 1 binary but does the embedding it goes so I think it would be put in 3 level this also welcomed frame losses is just that actually reduces the communities they are willing to the origin of the size of of the collection of some bloom question was about resource management in the so you can have all of you can use the size of your traces of a lot of stuff so you can just restrict memory this that that's the best you can something with you know you can't this you know my answer selected by the so that you really worth almost all the cases in which the world war 1 the nature so this what what the number what what's not done and by the city of sort of a very small programs and yes more testing more things like and interfacing with C libraries like following FSG that sort of stuff so we're working on that and it's also a good way to get started if you're interested on what for example the what bridge the bridge between the libraries and by value you can you can drop by and you don't have to worry not quite so it's a great way to get started so the learning all over the place in this analysis by the by having you can run it through grounds the said it in the bank and you have to about change it so the question was about differences between my brain survive and so the garbage collector is different so your objects on down to to be clear as soon as they go out of scope so if you're relying on your data on district to free resources it can cause problems at 4 exemplifies this cells so if you will open another file of and you don't kill them and you will run out of focus before president that's 1 of the most well that's 1 of the main differences and In this version of the book but no it's not what is the number of my short related to but I know it's related to Python all this has to do with him out of the knowledge was
out of the of the matter is the hardest part of all all so the question is about we rests by by of being in this know that no no differences 1 of improving road together you would acknowledge that all right so he knows best this is a lot of memory they were set on which the group what the state well enough so the question is about memory consumption so it depends on your system I would say but by what it depends on your amount of gold related to your amount of data is you have smaller gold but a lot of data then the difference from the that big issue of amount code that you run very often and you have a small and you don't have that much data and then it would take more memory and we've also the bonding on where fighters controls were and what we fix the memory basically says it can be written a guide to the is 1 of the rest of this is that the you there are no threshold that you can sit on the garbage collector I know it was attributed to question that you and I would say in that all the other both in this age of women in the on I don't think so this what we're not sure which 1 you have various threshold that you can search like running the garbage become more often that sort of thing so you can do that and then mean issue which use memory in your program you run out of memory i mean that nothing we can do we can just for you some objects and the reason that the percentage of all have all in all I think it depends it depends on how big your it is yes the difference in these use so how well how we started the generated the did chance so yes it's shall abide by its shell between threads but not between processes I've had what goes into pages long won't see if if I based on extensions of no no you can't have traces of what you want freedom to this traces are have an memory addresses I have written in them so if you read then that you know entailment more space is different and you can't use and this I the father of your nation and also a strong the fact that this is going to work in the area of the world and what the user things like this so type annotations for played by the the kind of thinking in this way or was it will make no difference and you can use them for for taking your code whatever but but but his been folding and languages so I mean by making the language this dynamic you don't have that much time in the the done your language completely static or if you keep it in between I mean I don't think you you can get much performance of annotations this that kind of stuff at the level of performance of the system is so up by some of as a general purpose language where we don't trick among people who you what you shouldn't use Python are regular language is you're writing VM's I think it's a great language but if you're writing a general-purpose applications I think it's horrible you can you can you can do it but it's strong program the it have a lot of and if you think that the have only and so on the question was about and implementing statically typed languages using power on I don't think you would get more I think you should use other languages I mean and energy then is just about generation use you have to write tons of stuff to target and the Amber I don't know somewhere in the course of this year so it was the language of the 1st people around the world just so I know for example so the question was about other languages targeting by by so there's no question about was about static languages that it like languages and you you I don't think you can get as much from almost performances you could but they know about hi the by from the list but trends that compares to information by people in transfer to price but it's a dynamic language this kind of graph has no 1 will be in the world representation what this quantity here this is a problem so part so of he said what time the of water so the question is about around storing homogeneous in lists and all the affects memory usage and performance so we have a thing called New
Strategies and ICT strategies and search strategy this and so on networks on basic that basically on individuals strings of floating point numbers and for example in the list you just all all unboxed in so you get just just an array of individuals which would get in and then you can do it to music optimizations based on that mean if you if you buy some array of integer to and the is than the will assume that you or was sparse 1 the did specialized on the fact that the loop is only individuals and so you don't you don't need to spend time on boxing integer for example and if you put it back into the is then what you don't get the books and books in part so it's also good for performance what you not so what happens if you make it the minimum genus list so you turn it back to a regular list of of objects and then what if you buy that is to then it will use combine different paths and the reason why I was so on loss and this is the there is no arbitrary so by 3 individuals although optimized so and that's 1 of the optimizations we removed but we will don't want to reintroduce has been already in this it may have been already done so this this and there and of the you all right you can do for 1st the problem is that I and so the question is about SUM versus speech Jim mostly so why right now we're we're having a purist him and it would be possible to have those hardware assisted STM all but right now I don't think this accuse already has what there has worse CPU as as change support but the so to be for us to to use you can the minorities children on some also can we use the paper to generate a binary of not nodes all I don't think so what the Bible just generates only not traces so it uses tied is to generate the straight but the traces and so if you wanted to combine it's the than you would need to call by every day possibility your program which is I don't know I mean which is something similar to what people did for PHP and and that of the look for the standard binary so that we don't want the list is of what you think for of yes so suppressed process support and so on I think the project has moved from using any of them this is introducing which is much nicer to have 1 it's easier to write programs so now it's using claim for that yes that for on the right side I didn't hear the question the rest of that I I I I I I find that I just want to implement DSC survive and inside by by these but the approach we're we're working on right yes you can move you could move potentially object between that is that on it as a mini chooses supervisor you can do what you want to choose is it uses the Python CGI and so basically you can on bit whatever you want and what I think it would be possible or maybe I have to try and I would like to try to end the life and print like Python 2 or something like that would be fun yes I was things the where the biggest intervention by by production and I didn't have the authorization to say publicly so if you if you see me also the idea that you have have a like the of this 1 so that they have all of this has been going on for for a long time to be part of the power of the people who you know want to you all right and right of so this by called did that but it's in that someone is using it for something complicated in the in eye by the end questions year and some walls which