Meliae 0.4

Milestone information

Project:
Meliae
Series:
trunk
Version:
0.4
Released:
 
Registrant:
John A Meinel
Release registered:
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
1 Chris Adams, 1 Jelmer Vernooij, 1 John A Meinel
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
3 Fix Released

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon meliae-0.4.0.tar.gz (md5, sig) Source Tarball 81,289
last downloaded 24 hours ago
Total downloads: 81,289

Release notes 

Long overdue release of mostly small bugfixes and some memory management tweaks.

One compatibility change, which is that Meliae no longer supports being built by Pyrex. Cython has just too much good stuff I want to use.

Peak memory should be a little bit lower. The reference lists were getting really big for some objects, and when manually walking the data, it isn't interesting (who cares what the 1023rd parent is). The default is 100, you can pass "max_parents" to load() if you want some other value.

Changelog 

View the full changelog

:0.4: 2011-07-08

* We now only compile against Cython. I've finally hit some issues that
  I don't want to work around. Namely sizeof(Class) doesn't work under
  even pyrex 0.9.9. (John Arbash Meinel)

* Duplicate parent entries are filtered out. (eg the intern dict refers
  to the same string 2x, you'll see 1 parent ref in the child, not 2.)
  (John Arbash Meinel)

* We now default to limiting the maximum length of the parents list
  (default 100). I had some dumps where a single object was referenced
  50k times. Anything over about 10 is at the point where you won't
  really walk them. This can be disabled with ``load(max_parents=-1)``.
  The main win is lowering memory consumption. A 50k parent list takes
  200kB by itself (on 32-bit). (John Arbash Meinel)

* Fix a PyInt memory leak. We were calling __sizeof__ which returns an
  PyInt and not DECREFing it. (John Arbash Meinel)

* Initial support for overriding ``__sizeof__`` definitions. It turns
  out that object has a basic definition, so all new style classes
  inherit it. We now provide ``meliae.scanner.add_special_size``, which
  takes a type name and some callbacks to determine the size of an
  object. This lets you register them without importing the module.

* Small updates to fix the test suite under python2.7 and 64-bit
  architectures. PyString changed size in 2.7, and we weren't
  accounting for alignment effects on 64-bit machines.
  (John Arbash Meinel, Jelmer Vernooij, #739310)

* ``run_tests.py`` exits nonzero if a test fails.
  (Jelmer Vernooij, #740109)

* Add a MANIFEST.in file, to allow ``python setup.py sdist`` to
  properly see the .c and .h files it needs to include.
  (Chris Adams, #735284)

0 blueprints and 3 bugs targeted

Bug report Importance Assignee Status
735284 #735284 Installs from source distributions fail 4 Medium Chris Adams  10 Fix Released
740109 #740109 run_tests.py exits with 0 even if tests failed 4 Medium Jelmer Vernooij  10 Fix Released
739310 #739310 test suite failures 1 Undecided John A Meinel  10 Fix Released
This milestone contains Public information
Everyone can see this information.