[pypy-commit] pypy statistics-maps: update contributor list
cfbolz
pypy.commits at gmail.com
Tue Feb 23 12:33:33 EST 2016
Author: Carl Friedrich Bolz <cfbolz at gmx.de>
Branch: statistics-maps
Changeset: r82458:6ed007073e26
Date: 2016-02-23 18:32 +0100
http://bitbucket.org/pypy/pypy/changeset/6ed007073e26/
Log: update contributor list
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -41,29 +41,29 @@
Amaury Forgeot d'Arc
Antonio Cuni
Samuele Pedroni
+ Matti Picus
Alex Gaynor
Brian Kearns
- Matti Picus
Philip Jenvey
Michael Hudson
+ Ronan Lamy
David Schneider
+ Manuel Jacob
Holger Krekel
Christian Tismer
Hakan Ardo
- Manuel Jacob
- Ronan Lamy
Benjamin Peterson
+ Richard Plangger
Anders Chrigstrom
Eric van Riet Paap
Wim Lavrijsen
- Richard Plangger
Richard Emslie
Alexander Schremmer
Dan Villiom Podlaski Christiansen
+ Remi Meier
Lukas Diekmann
Sven Hager
Anders Lehmann
- Remi Meier
Aurelien Campeas
Niklaus Haldimann
Camillo Bruni
@@ -72,8 +72,8 @@
Romain Guillebert
Leonardo Santagada
Seo Sanghyeon
+ Ronny Pfannschmidt
Justin Peel
- Ronny Pfannschmidt
David Edelsohn
Anders Hammarquist
Jakub Gustak
@@ -95,6 +95,7 @@
Tyler Wade
Michael Foord
Stephan Diehl
+ Vincent Legoll
Stefan Schwarzer
Valentino Volonghi
Tomek Meka
@@ -105,9 +106,9 @@
Jean-Paul Calderone
Timo Paulssen
Squeaky
+ Marius Gedminas
Alexandre Fayolle
Simon Burton
- Marius Gedminas
Martin Matusiak
Konstantin Lopuhin
Wenzhu Man
@@ -116,16 +117,20 @@
Ivan Sichmann Freitas
Greg Price
Dario Bertini
+ Stefano Rivera
Mark Pearse
Simon Cross
Andreas Stührk
- Stefano Rivera
+ Edd Barrett
Jean-Philippe St. Pierre
Guido van Rossum
Pavel Vinogradov
+ Jeremy Thurgood
Paweł Piotr Przeradowski
+ Spenser Bauman
Paul deGrandis
Ilya Osadchiy
+ marky1991
Tobias Oberstein
Adrian Kuhn
Boris Feigin
@@ -134,14 +139,12 @@
Georg Brandl
Bert Freudenberg
Stian Andreassen
- Edd Barrett
+ Tobias Pape
Wanja Saatkamp
Gerald Klix
Mike Blume
- Tobias Pape
Oscar Nierstrasz
Stefan H. Muller
- Jeremy Thurgood
Rami Chowdhury
Eugene Oden
Henry Mason
@@ -153,6 +156,8 @@
Lukas Renggli
Guenter Jantzen
Ned Batchelder
+ Tim Felgentreff
+ Anton Gulenko
Amit Regmi
Ben Young
Nicolas Chauvat
@@ -162,12 +167,12 @@
Nicholas Riley
Jason Chu
Igor Trindade Oliveira
- Tim Felgentreff
+ Yichao Yu
Rocco Moretti
Gintautas Miliauskas
Michael Twomey
Lucian Branescu Mihaila
- Yichao Yu
+ Devin Jeanpierre
Gabriel Lavoie
Olivier Dormond
Jared Grubb
@@ -191,33 +196,33 @@
Stanislaw Halik
Mikael Schönenberg
Berkin Ilbeyi
- Elmo M?ntynen
+ Elmo Mäntynen
+ Faye Zhao
Jonathan David Riehl
Anders Qvist
Corbin Simpson
Chirag Jadwani
Beatrice During
Alex Perry
- Vincent Legoll
+ Vaibhav Sood
Alan McIntyre
- Spenser Bauman
+ William Leslie
Alexander Sedov
Attila Gobi
+ Jasper.Schulz
Christopher Pope
- Devin Jeanpierre
- Vaibhav Sood
Christian Tismer
Marc Abramowitz
Dan Stromberg
Arjun Naik
Valentina Mukhamedzhanova
Stefano Parmesan
+ Mark Young
Alexis Daboville
Jens-Uwe Mager
Carl Meyer
Karl Ramm
Pieter Zieschang
- Anton Gulenko
Gabriel
Lukas Vacek
Andrew Dalke
@@ -225,6 +230,7 @@
Jakub Stasiak
Nathan Taylor
Vladimir Kryachko
+ Omer Katz
Jacek Generowicz
Alejandro J. Cura
Jacob Oscarson
@@ -239,6 +245,7 @@
Lars Wassermann
Philipp Rustemeuer
Henrik Vendelbo
+ Richard Lancaster
Dan Buch
Miguel de Val Borro
Artur Lisiecki
@@ -250,18 +257,18 @@
Tomo Cocoa
Kim Jin Su
Toni Mattis
+ Amber Brown
Lucas Stadler
Julian Berman
Markus Holtermann
roberto at goyle
Yury V. Zaytsev
Anna Katrina Dominguez
- William Leslie
Bobby Impollonia
- Faye Zhao
timo at eistee.fritz.box
Andrew Thompson
Yusei Tahara
+ Aaron Tubbs
Ben Darnell
Roberto De Ioris
Juan Francisco Cantero Hurtado
@@ -273,6 +280,7 @@
Christopher Armstrong
Michael Hudson-Doyle
Anders Sigfridsson
+ Nikolay Zinov
Yasir Suhail
Jason Michalski
rafalgalczynski at gmail.com
@@ -282,6 +290,7 @@
Gustavo Niemeyer
Stephan Busemann
Rafał Gałczyński
+ Matt Bogosian
Christian Muirhead
Berker Peksag
James Lan
@@ -316,9 +325,9 @@
Stefan Marr
jiaaro
Mads Kiilerich
- Richard Lancaster
opassembler.py
Antony Lee
+ Jason Madden
Yaroslav Fedevych
Jim Hunziker
Markus Unterwaditzer
@@ -327,6 +336,7 @@
squeaky
Zearin
soareschen
+ Jonas Pfannschmidt
Kurt Griffiths
Mike Bayer
Matthew Miller
diff --git a/pypy/doc/tool/makecontributor.py b/pypy/doc/tool/makecontributor.py
--- a/pypy/doc/tool/makecontributor.py
+++ b/pypy/doc/tool/makecontributor.py
@@ -72,6 +72,7 @@
'Anton Gulenko':['anton gulenko', 'anton_gulenko'],
'Richard Lancaster':['richardlancaster'],
'William Leslie':['William ML Leslie'],
+ 'Spenser Bauman':['Spenser Andrew Bauman'],
}
alias_map = {}
diff --git a/pypy/objspace/std/mapdict.py b/pypy/objspace/std/mapdict.py
--- a/pypy/objspace/std/mapdict.py
+++ b/pypy/objspace/std/mapdict.py
@@ -159,12 +159,12 @@
if cls is W_IntObject:
# this means that the class stored in the storage is an
# IntMutableCell
- jit.jit_debug("map: known class int", objectmodel.compute_unique_id(attr))
+ jit.jit_debug("map: read known class int", objectmodel.compute_unique_id(attr))
assert isinstance(result, IntMutableCell)
return W_IntObject(result.intvalue)
if cls is W_FloatObject:
# ditto
- jit.jit_debug("map: known class float", objectmodel.compute_unique_id(attr))
+ jit.jit_debug("map: read known class float", objectmodel.compute_unique_id(attr))
assert isinstance(result, FloatMutableCell)
return W_FloatObject(result.floatvalue)
jit.jit_debug("map: recorded exact class", objectmodel.compute_unique_id(attr))
diff --git a/pypy/tool/mapstatsdot.py b/pypy/tool/mapstatsdot.py
--- a/pypy/tool/mapstatsdot.py
+++ b/pypy/tool/mapstatsdot.py
@@ -1,5 +1,6 @@
#! /usr/bin/env python
import sys
+sys.setrecursionlimit(100000)
class Getattrwrap(object):
def __init__(self, obj):
@@ -61,7 +62,7 @@
seen.add(self)
if hasattr(self, 'back'):
if self not in self.back.transitions:
- output.edge(self.back.id, self.id, dir="none")
+ output.edge(self.back.id, self.id, dir="back")
self.back.dot(output, seen)
if not self.instances:
return
@@ -70,7 +71,10 @@
fillcolor=self.getfillcolor())
for next, count in self.transitions.iteritems():
next.dot(output, seen)
- output.edge(self.id, next.id, label=str(count))
+ args = {}
+ if getattr(next, 'back', None) is not self:
+ args = dict(style="dotted")
+ output.edge(self.id, next.id, label=str(count), **args)
return node
def getfillcolor(self):
@@ -80,13 +84,22 @@
class Terminator(Map):
+ def __repr__(self):
+ return "Terminator(%s)" % (self.w_cls)
def fill(self, content):
Map.fill(self, content)
self.w_cls = content.w_cls
+ self.w_cls_module = content.w_cls_module
def getlabel(self):
+ if self.w_cls_module is not None:
+ return self.w_cls + "\\l" + self.w_cls_module
return self.w_cls
+ def get_chain(self):
+ return [self]
+
+
class Attribute(Map):
def fill(self, content):
Map.fill(self, content)
@@ -128,6 +141,14 @@
assert int(index) == self.nametype
self.reads = count
+ def get_chain(self):
+ l = []
+ while isinstance(self, Attribute):
+ l.append((self.name, self.nametype))
+ self = self.back
+ l.reverse()
+ return self.get_chain() + l
+
def getlabel(self):
if self.nametype == 0:
name = self.name
@@ -143,7 +164,7 @@
for write, count in self.writes.items():
label.append(" %s: %s" % (write, count))
if self.number_unnecessary_writes and self.constant:
- assert len(self.writes) == 1
+ assert len(self.writes) <= 1
label[-1] += " (%s unnecessary)" % (self.number_unnecessary_writes, )
if not self.ever_mutated:
label.append('immutable')
@@ -193,7 +214,21 @@
goodattrs = 0
unnecessary = 0
+ seen_sorted_chains = set()
+ duplicate_orders = 0
+ duplicate_order_reads = 0
+ all_instances = 0
+
for mp in allmaps:
+ chain = mp.get_chain()
+ chain.sort()
+ if tuple(chain) in seen_sorted_chains:
+ duplicate_orders += 1
+ duplicate_order_reads += mp.reads
+ print >> sys.stderr, chain, mp.instances
+ else:
+ seen_sorted_chains.add(tuple(chain))
+
if not isinstance(mp, Attribute):
continue
totalwrites += sum(mp.writes.values())
@@ -210,6 +245,8 @@
print >> sys.stderr, "reads:", totalreads, goodreads, float(goodreads) / totalreads
print >> sys.stderr, "writes:", totalwrites, goodwrites, float(goodwrites) / totalwrites
print >> sys.stderr, "unnecessary writes:", unnecessary, totalwrites, float(unnecessary) / totalwrites
+ print >> sys.stderr, "wrongly ordered:", duplicate_orders, totalattrs, float(duplicate_orders) / totalattrs
+ print >> sys.stderr, "wrongly ordered reads:", duplicate_order_reads, totalreads, float(duplicate_order_reads) / totalreads
print >> sys.stderr, "attrs:", totalattrs, goodattrs, float(goodattrs) / totalattrs
print >> sys.stderr, "reads / writes", float(totalreads) / totalwrites
diff --git a/rpython/jit/metainterp/logger.py b/rpython/jit/metainterp/logger.py
--- a/rpython/jit/metainterp/logger.py
+++ b/rpython/jit/metainterp/logger.py
@@ -6,6 +6,7 @@
from rpython.rlib.rarithmetic import r_uint
from rpython.rtyper.lltypesystem import lltype, llmemory, rffi
+JIT_LOG_VERSION = 1.0
class Logger(object):
def __init__(self, metainterp_sd, guard_number=False):
diff --git a/rpython/jit/metainterp/warmspot.py b/rpython/jit/metainterp/warmspot.py
--- a/rpython/jit/metainterp/warmspot.py
+++ b/rpython/jit/metainterp/warmspot.py
@@ -1030,7 +1030,11 @@
checkgraph(origportalgraph)
def add_finish(self):
+ from rpython.jit.metainterp.logger import JIT_LOG_VERSION
def finish():
+ debug_start("jit-log-opt-version")
+ debug_print(JIT_LOG_VERSION)
+ debug_stop("jit-log-opt-version")
if self.metainterp_sd.profiler.initialized:
self.metainterp_sd.profiler.finish()
self.metainterp_sd.cpu.finish_once()
More information about the pypy-commit
mailing list