{ "info": { "author": "Antonio Cuni", "author_email": "anto.cuni@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: POSIX", "Programming Language :: Python", "Topic :: Utilities" ], "description": "msgpack-pypy: a msgpack extension with special optimizations for PyPy\n=====================================================================\n\nPyPy has a special optimization to store lists of ``ints`` and ``floats`` in a\ncompact way, as they were C arrays of ``longs`` and ``doubles``.\n\nmsgpack-pypy is an extension for msgpack which exploits this optimization to\nprovide a very fast packing/unpacking of those. Essentially, it serializes a\nPython list of ints/floats by copying the whole array at once.\n\nNote that such lists are serialized using the \"ext types\" mechanism provided\nby msgpack 2.0, which means that if you pack an object like ``[1, 2, 3]`` with\nmsgpack-pypy, you **cannot** unpack it using the plain msgpack-python module,\nbecause the ext types are not recognized. You need msgpack-pypy to unpack it.\n\nDespite the name, msgpack-pypy **does** work on CPython, although it does not\nbring any speed benefit there. It is useful if you have a system in which a\nPyPy process packs and object and a CPython process needs to unpack it.\n\n\nPerformance\n-----------\n\nFor best performance, you should use a nightly PyPy built after Oct 21, 2013,\nas it contains a special optimization to read/write all the bytes representing\nthe Python list at once.\n\nHere are the results got by running this benchmark:\nhttps://bitbucket.org/antocuni/msgpack-pypy/src/default/benchmark.py\n\n::\n\n list of ints\n CPython/msgpack: dump: 0.2287 ms load: 0.2075 ms\n PyPy/msgpack: dump: 0.2019 ms load: 0.2447 ms\n PyPy/msgpack_pypy: dump: 0.1321 ms load: 0.0391 ms\n\n list of floats\n CPython/msgpack: dump: 0.2295 ms load: 0.2096 ms\n PyPy/msgpack: dump: 1.1049 ms load: 1.9803 ms\n PyPy/msgpack_pypy: dump: 0.1373 ms load: 0.0392 ms\n\nAs you can see, dumping is 1.73x faster for ints and 8x faster for floats. The\nspeedup for loading is even more impressive, as it is 6.2x faster for ints and\n50x (fifty!) faster for floats.\n\nIf you use an older version of PyPy (such as the last stable release, 2.1),\nyou still get a small speedup compared to the plain msgpack, but not as\nimpressive. Dumping is 1.66x **slower** for ints and 1.67x **faster** for\nfloats. Loading is 4x faster for ints and 16x faster for floats.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://bitbucket.org/antocuni/msgpack-pypy", "keywords": "msgpack PyPy", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "msgpack-pypy", "package_url": "https://pypi.org/project/msgpack-pypy/", "platform": "unix,linux,osx,cygwin,win32", "project_url": "https://pypi.org/project/msgpack-pypy/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://bitbucket.org/antocuni/msgpack-pypy" }, "release_url": "https://pypi.org/project/msgpack-pypy/0.0.2/", "requires_dist": null, "requires_python": null, "summary": "A msgpack extension with special optimizations for PyPy", "version": "0.0.2" }, "last_serial": 899788, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "58b04ad2644cff8fd7d60a0d2a06c312", "sha256": "571ce37d38247e1293fffc1b3377ca13253f68387174ad77ee11cf737f987479" }, "downloads": -1, "filename": "msgpack-pypy-0.0.1.tar.gz", "has_sig": false, "md5_digest": "58b04ad2644cff8fd7d60a0d2a06c312", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3304, "upload_time": "2013-10-21T15:56:06", "url": "https://files.pythonhosted.org/packages/d0/f5/44e8333cc32abe4d83d53629b9d7127dea7f92c9fdc54b401daf8f833700/msgpack-pypy-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "4b5f113d07aa87af4b264e1b7a6fe251", "sha256": "612cf75dfcf7e1eec223a40ab6287c35610e0581356cf636e7e0a4887af47138" }, "downloads": -1, "filename": "msgpack-pypy-0.0.2.tar.gz", "has_sig": false, "md5_digest": "4b5f113d07aa87af4b264e1b7a6fe251", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3312, "upload_time": "2013-10-21T15:57:11", "url": "https://files.pythonhosted.org/packages/28/b4/e554e404987decdb9a4744361afe6175647c93a9b359267c6e4cdc48a7df/msgpack-pypy-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4b5f113d07aa87af4b264e1b7a6fe251", "sha256": "612cf75dfcf7e1eec223a40ab6287c35610e0581356cf636e7e0a4887af47138" }, "downloads": -1, "filename": "msgpack-pypy-0.0.2.tar.gz", "has_sig": false, "md5_digest": "4b5f113d07aa87af4b264e1b7a6fe251", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3312, "upload_time": "2013-10-21T15:57:11", "url": "https://files.pythonhosted.org/packages/28/b4/e554e404987decdb9a4744361afe6175647c93a9b359267c6e4cdc48a7df/msgpack-pypy-0.0.2.tar.gz" } ] }