recentpopularlog in

mcherm : pypy   45

PyPy Status Blog: PyPy's new JSON parser
Several clever ways to speed up JSON parsing. My favorites: guess the next field name and verify with memcmp (saves parsing the string), and for common sets of field names, don't make hashmaps but instead use a data structure with a single copy of the fields and arrays for all the instance values.
programming  algorithms  datastructures  optimization  pypy 
5 weeks ago by mcherm
PyPy Status Blog: The First 15 Years of PyPy — a Personal Retrospective
The story (so far!) of the PyPy project, including both organizational issues and major design decisions.
opensource  python  pypy  history 
september 2018 by mcherm
PyPy Status Blog: How to make your code 80 times faster
By replacing an array operation with a specific set of multiplications they got really good optimization out of PyPy.
programming  pypy  performance  via:reddit 
october 2017 by mcherm
The Python JITs are coming []
"a few months from now, we will go from zero "drop-in compatible JITs" for Python to three"
via:HackerNews  python  pypy  jit 
august 2016 by mcherm
PyPy Status Blog: Reverse debugging for Python
AMAZING!!! A reverse debugger (it can back up) for Python, built using the astounding PyPy by the amazing Armin Rigo.
ArminRigo  programming  python  pypy  debugging 
august 2016 by mcherm
PyPy compiled to run in a browser. Astoundingly, it is one 1.5x the speed of CPython!!! Has full access to the DOM.
python  pypy  javascript  programming  via:HackerNews 
may 2015 by mcherm
PyPy Status Blog: Faster, more memory efficient and more ordered dictionaries on PyPy
PyPy switches to a different data structure for storing hashes. The new structure is more friendly about keeping memory changes local for cache and GC improvements. It also uses substantially less memory. And it happens to make the order for iterating through a dictionary be the order in which the keys were added rather than a random order.
pypy  python  datastructures  hash  via:reddit 
february 2015 by mcherm
PyPy Status Blog: A Field Test of Software Transactional Memory Using the RSqueak Smalltalk VM
They tried using PyPy's STM to allow threads in a PyPy implementation of smalltalk. It worked.
pypy  smalltalk  softwaretransactionalmemory 
august 2014 by mcherm
PyPy.js: Now faster than CPython
JITs galore! This guy has PyPy running on Javascript in the browser. He can run pystone faster than cPython (!!) and he discusses the differences between the Javascript JIT for Firefox and that for Chrome and why Chrome's is (eventually) better.
python  pypy  javascript  firefox  chrome  jit  via:reddit  blogworthy 
may 2014 by mcherm
Rewrites of the STM core model – again | Hacker News
I attempt to summarize the latest news in PyPy's implementation of software transactional memory.
mypostings  blogworthy  softwaretransactionalmemory  threading  ArminRigo  concurrentprogramming  pypy  via:HackerNews 
february 2014 by mcherm
PyPy Status Blog: Rewrites of the STM core model -- again
Another partial start-over in implementing Software Transactional Memory for PyPy. This one uses a clever memory-page-sharing approach that only works on Linux and which costs something like *1.2 or *1.5 runtime instead of *2 or *5.
softwaretransactionalmemory  pypy  ArminRigo 
february 2014 by mcherm
PyPy Status Blog: Incremental Garbage Collector in PyPy
The garbage collector in PyPy was improved. Here's an explanation of how they made mark-and-sweep more incremental.
programming  garbagecollection  pypy 
october 2013 by mcherm
PyPy Status Blog: STM on the drawing board
Some early work on software transactional memory in PyPy.
softwaretransactionalmemory  pypy  ArminRigo  via:pypy 
june 2013 by mcherm
Why Python, Ruby, and Javascript are Slow // Speaker Deck
The author of Topaz (a Ruby implemented in PyPy's rPython) explains that it is NOT fundamental issues like dynamic typing and flexible fields for objects that make dynamic languages slow, it's things like not specifying list size before allocating and creating intermediate String objects.
pypy  performance  languagedesign  languages  python  programming  via:HackerNews 
march 2013 by mcherm
PyPy Status Blog: 10 years of PyPy
A quick blurb on the history of PyPy on the occasion of its 10 year anniversary.
history  pypy  python  via:HackerNews 
march 2013 by mcherm
PyPy Status Blog: Announcing Topaz, an RPython powered Ruby interpreter
An implementation of Ruby in RPython (the same implementation as PyPy). Results are "promising" although incomplete at this stage. This is part of the real promise of the PyPy project.
programming  languagedesign  pypy  ruby 
february 2013 by mcherm
A Neat Trick with Partial Evalutors | Good Math, Bad Math
Mark Chu-Carroll writes partial evaluators, and I ask whether that's the same as what PyPy is doing.
mypostings  pypy  via:MarkCC  MarkChuCarroll 
june 2012 by mcherm
PyPy Status Blog: STM update: back to threads?
Armin explains that he's now using STM in PyPy to just provide normal threading, plus an ability to create a "transaction". It is course-grained, but he says that's OK. I tried reasoning about a common problem (web application threading) and found that it backed up his claim.
stm  softwaretransactionalmemory  python  pypy  mypostings  ArminRigo  programming  threading  concurrentprogramming  parallelprogramming  via:HackerNews 
may 2012 by mcherm
What will pypy do for your website? Benchmarking python web servers on pypy and cpython. -
Comparison of various Python web frameworks running on various Python web servers under various Python interpreters. Seems useful.
python  performance  pypy  webdevelopment  webservers  webdev  via:reddit 
february 2012 by mcherm
Fast Enough VMs in Fast Enough Time: Laurence Tratt
Laurence Tratt used RPython (the PyPy implementation language) to build a JIT for his own language. He goes into great detail about WHY PyPy is such an exciting idea and how well it works. Long, but a good read.
pypy  python  jit  compiler  vm  programming  programminglanguages 
february 2012 by mcherm
What PyPy can do for your objects
An essay with details about what PyPy Object Spaces are and what they can be used for.
pypy  programming 
february 2012 by mcherm
PyPy Status Blog: Transactional Memory (II)
A summary of what transactional memory (especially software transactional memory) is and why Armin Rigo thinks it might be really, REALLY good for Python. Nothing here that was new to me, but the simple, clear explanation is quite good.
via:HackerNews  ArminRigo  PyPy  concurrency  concurrentprogramming  parallelprogramming  stm  programming 
january 2012 by mcherm
PyPy Status Blog: More Compact Lists with List Strategies
PyPy now uses different implementations for different kinds of lists (eg: list-of-ints). This is a big performance win for certain common cases.
pypy  python  languagedesign  programming  datastructures 
october 2011 by mcherm
We [PyPy] need Software Transactional Memory
Armin: PyPy has a GIL; to get rid of it we needs STM. Can’t do fine-grained locks like Jython because it’s hard to do; CAN do STM surprisingly easily because PyPy does whole-program transformations with ease. So he proposes trying to add STM to PyPy. He guesses 10x slowdown, perhaps 2x slowdown with serious optimization (wow… realistic expectations!) I think this is the sort of experiment that PyPy exists for, and is WELL worth trying.
via:reddit  ArminRigo  stm  pypy  parallellcomputing  threading  programming  computerscience  concurrency  concurrentprogramming 
august 2011 by mcherm
Reddit article on STM in pypy stm
I explain why “just don’t worry about it” is not a good approach to handling threading issues in the language.
mypostings  pypy  parallellcomputing  threading  via:reddit  programming 
august 2011 by mcherm
PyPy Status Blog: Tutorial: Writing an Interpreter with PyPy, Part 1
An excellent tutorial on how to write an interpreter in PyPy. Uses BrainFuck as an example.
languages  pypy  programming  compiler  via:pypy 
april 2011 by mcherm
PyPy Status Blog: Tutorial: Writing an Interpreter with PyPy, Part 1
A simple tutorial in building an interpreter in PyPy. (Implements BrainFuck.)
pypy  languagedesign 
april 2011 by mcherm
Alex Gaynor -- My experience with the computer language shootout
Someone tries to improve the performance numbers for PyPy on the language shootout. His changes are not published and he's frustrated.
python  pypy  performance  via:reddit 
april 2011 by mcherm
Unladen Swallow is dead. : Python
Apparently Unladen Swallow is on hold for lack of anyone to work on it. Unladen Swallow was the project announced by a group at Google which was to revise cPython to be a lot faster.
python  pypy  google 
december 2010 by mcherm
PyPy Status Blog: We are not heroes, just very patient
PyPy has been around for 8 years now. Constantly plugging away at it has been difficult and slow, but the result is now reaching the point where it runs faster or better than cPython in many cases. That's impressive, and the perserverance is impressive also.
pypy  python  softwaredevelopment  projectmanagement 
december 2010 by mcherm
PyPy Status Blog: A snake which bites its tail: PyPy JITting itself
PyPy now runs PyPy faster than cPython runs PyPy. (But uses way too much memory.) The PyPy project is a HUGE success.
pypy  programming  python 
november 2010 by mcherm
PyPy gets faster: Not Even My Wife Reads This
PyPy wins: it's the fastest Python implementation. That's pretty incredible!
via:HackerNews  python  pypy 
october 2010 by mcherm
PyPy Status Blog: An Efficient and Elegant Regular Expression Matcher in Python
An implementation of (plain, non-backtracking) regular expressions that really is linear in the size of the string and of the regular expression, even for pathological cases. Very well explained.
programming  algorithms  pypy  regexp 
may 2010 by mcherm
The future can be written in RPython now | Pyevolve
PyPy is now beginning to win speed contests. That's just amazing!
python  pypy  jit  benchmark  programming  via:HackerNews 
may 2010 by mcherm
Running wxPython on top of pypy: PyPy Status Blog
Wow: the integration of C extensions for CPython into PyPy has really progressed an incredible amount!
pypy  python  via:reddit 
may 2010 by mcherm
The PyPy Speed Center – Compelling Analytics in Action: Saveen Reddy's blog : Business Intelligence
Why the site that shows how fast PyPy runs has really nice user interaction features.
design  webdesign  via:reddit  pypy 
march 2010 by mcherm
PyPy Speed Center: Timeline
You can see graphs of how PyPy is doing, speed-wise, compared to cPython. The answer is that it's doing really well!
pypy  performance  python 
march 2010 by mcherm
PyPy Status Blog: Benchmarking twisted
A real-world benchmark (twisted) runs faster on pypy than any of the alternatives!
python  programming  performance  pypy 
march 2010 by mcherm
PyPy Status Blog: GC improvements
A couple of very clever hacks to save 2 words (usually 8 bytes) for each and every object. Very nicely written and explained. This comes out of the PyPy project, a project for which I have the greatest of respect.
memory  optimization  pypy  ArminRigo  hack 
october 2009 by mcherm
The PyPy compiler can generate sandboxed code -- it can generate a virtual machine that guarantees to apply certain limitations (IO, CPU, memory use) to the executing code. This is, IMHO, a VERY promising idea in sandboxing.
python  pypy  security  sandbox  programming 
april 2009 by mcherm
PyPy Status Blog: Applying a Tracing JIT to an Interpreter
The PyPy project is creating a JIT to optimize an interpreter for a language. But interpreters for languages need special handling. For instance, you don't want to optimize just the bytecode interpretation loop, you want to optimize entire loops in the language being interpreted! This shows (generally... the specifics are made up) how to provide annotations for the JIT that permit this.
optimization  python  programming  compiler  pypy  jit  vm 
march 2009 by mcherm
PyPy Status Blog: Porting the JIT to CLI (part 2)
A nice overview of the techniques used in PyPy to perform Just-in-time compilation on a dynamically typed language. Very readable.
python  pypy  programming  compiler  jit  via:reddit 
november 2008 by mcherm

Copy this bookmark:

to read