{ "info": { "author": "Ondrej Samohel", "author_email": "annatar@annatar.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Filesystems" ], "description": "speedcopy\n=========\n\n[![Build Status](https://travis-ci.com/antirotor/speedcopy.svg?branch=master)](https://travis-ci.com/antirotor/speedcopy)\n[![PyPI version](https://badge.fury.io/py/speedcopy.svg)](https://badge.fury.io/py/speedcopy)\n\nPatched python shutil.copyfile using xcopy on windows to accelerate transfer on windows shares.\n\nUsing ``xcopy`` on windows to server-side copy on network shares where enabled.\n\nSee https://wiki.samba.org/index.php/Server-Side_Copy\n\nIt is based on `pyfastcopy` so it should accelerate copying on linux too.\n\nThose are benchmark values based on my local setup:\n\nWindows copy / local storage\n----------------------------\n\n| filesize (mb) | python | copy |\n|--------------:|-------:|------:|\n| 1 | 0.003 | 0.067 |\n| 2 | 0.005 | 0.067 |\n| 4 | 0.010 | 0.068 |\n| 8 | 0.020 | 0.073 |\n| 16 | 0.042 | 0.079 |\n| 32 | 0.088 | 0.092 |\n| 64 | 1.925 | 1.200 |\n| 128 | 0.366 | 0.169 |\n| 256 | 0.754 | 0.277 |\n| 512 | 1.622 | 0.505 |\n| 1024 | 3.567 | 0.910 |\n| 2048 | 7.242 | 2.607 |\n\nWindows xcopy / local storage\n-----------------------------\n\n| filesize (mb) | python | xcopy |\n|--------------:|-------:|------:|\n| 1 | 0.003 | 0.135 |\n| 2 | 0.005 | 0.134 |\n| 4 | 0.010 | 0.136 |\n| 8 | 0.019 | 0.140 |\n| 6 | 0.039 | 0.144 |\n| 32 | 0.087 | 0.158 |\n| 64 | 1.884 | 1.858 |\n| 128 | 0.360 | 0.240 |\n| 256 | 0.774 | 0.335 |\n| 512 | 1.612 | 0.561 |\n| 1024 | 3.575 | 1.199 |\n| 2048 | 6.864 | 2.599 |\n\nWindows xcopy / samba share\n---------------------------\n\n| filesize (mb) | python | xcopy |\n|--------------:|-------:|-------:|\n| 1 | 0.070 | 0.153 |\n| 2 | 0.144 | 0.157 |\n| 4 | 0.298 | 0.163 |\n| 8 | 0.623 | 0.167 |\n| 16 | 1.181 | 0.176 |\n| 32 | 2.385 | 0.195 |\n| 64 | 49.040 | 2.437 |\n| 128 | 8.846 | 0.306 |\n| 256 | 17.135 | 2.954 |\n| 512 | 30.407 | 4.422 |\n| 1024 | 55.591 | 30.331 |\n| 2048 | 105.003| 204.680|\n\nThere are some spikes I attribute to working load on system I was running benchmark on. You can test it yourself with included `benchmark.py`\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/antirotor/speedcopy", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "speedcopy", "package_url": "https://pypi.org/project/speedcopy/", "platform": "", "project_url": "https://pypi.org/project/speedcopy/", "project_urls": { "Homepage": "https://github.com/antirotor/speedcopy" }, "release_url": "https://pypi.org/project/speedcopy/1.0.4/", "requires_dist": null, "requires_python": "", "summary": "Windows xcopy patch for shutil.copyfile, based on pyfastcopy", "version": "1.0.4" }, "last_serial": 5391293, "releases": { "1.0.2": [ { "comment_text": "", "digests": { "md5": "2c3dc261c5762288d4351071e9d83eca", "sha256": "b45c6ae28594d934852e69a66a9645ad68da05293b29b0151ad33a234bb3665e" }, "downloads": -1, "filename": "speedcopy-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2c3dc261c5762288d4351071e9d83eca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6193, "upload_time": "2019-06-12T13:02:42", "url": "https://files.pythonhosted.org/packages/b3/91/a5a9cfdc29d99ee0e26b308c51a485fefd78390b13a8f234df3092eb1c29/speedcopy-1.0.2-py3-none-any.whl" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "1337dee67ed3311c422af44a4ef6ebfe", "sha256": "fd4d9ff4ab3986d89ed08ada1918d0a59e90d1cdf2d3ca2e366675180b9ccdda" }, "downloads": -1, "filename": "speedcopy-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1337dee67ed3311c422af44a4ef6ebfe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8350, "upload_time": "2019-06-12T13:28:36", "url": "https://files.pythonhosted.org/packages/91/51/2acb826da66b8186e449956f72c81deaf799653fbf714cfe80e874ce2bce/speedcopy-1.0.3-py3-none-any.whl" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "bd2e2e4061b8b8fb7a6550b03f98d137", "sha256": "5054a57d675b55af6beb7baa541899879d4079bee0f5e4e1827cd8ab8051140f" }, "downloads": -1, "filename": "speedcopy-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "bd2e2e4061b8b8fb7a6550b03f98d137", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8349, "upload_time": "2019-06-12T13:46:35", "url": "https://files.pythonhosted.org/packages/ee/d4/82fc9f7fcfb7f9abba7074cdc6ead828576ec5be3e7296f2ad4c922318bd/speedcopy-1.0.4-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bd2e2e4061b8b8fb7a6550b03f98d137", "sha256": "5054a57d675b55af6beb7baa541899879d4079bee0f5e4e1827cd8ab8051140f" }, "downloads": -1, "filename": "speedcopy-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "bd2e2e4061b8b8fb7a6550b03f98d137", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8349, "upload_time": "2019-06-12T13:46:35", "url": "https://files.pythonhosted.org/packages/ee/d4/82fc9f7fcfb7f9abba7074cdc6ead828576ec5be3e7296f2ad4c922318bd/speedcopy-1.0.4-py3-none-any.whl" } ] }