%global _empty_manifest_terminate_build 0 Name: python-fastrlock Version: 0.8.1 Release: 1 Summary: Fast, re-entrant optimistic lock implemented in Cython License: MIT style URL: https://github.com/scoder/fastrlock Source0: https://mirrors.nju.edu.cn/pypi/web/packages/84/64/7d4f96734aba053194877f0b342a3a57402d2b2215aaae39b0cd619a326d/fastrlock-0.8.1.tar.gz %description This is a C-level implementation of a fast, re-entrant, optimistic lock for CPython. It is a drop-in replacement for `threading.RLock `_. FastRLock is implemented in `Cython `_ and also provides a C-API for direct use from Cython code via ``from fastrlock cimport rlock``. Under normal conditions, it is about 10x faster than threading.RLock in Python 2.7 because it avoids all locking unless two or more threads try to acquire it at the same time. Under congestion, it is still about 10% faster than RLock due to being implemented in Cython. This is mostly equivalent to the revised RLock implementation in Python 3.2, but still faster due to being implemented in Cython. However, in Python 3.4 and later, the ``threading.RLock`` implementation in the stdlib tends to be as fast or even faster than the lock provided by this package, when called through the Python API. ``FastRLock`` is still faster also on these systems when called through its Cython API from other Cython modules. It was initially published as a code recipe here: https://code.activestate.com/recipes/577336-fast-re-entrant-optimistic-lock-implemented-in-cyt/ FastRLock has been used and tested in `Lupa `_ for several years. %package -n python3-fastrlock Summary: Fast, re-entrant optimistic lock implemented in Cython Provides: python-fastrlock BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip BuildRequires: python3-cffi BuildRequires: gcc BuildRequires: gdb %description -n python3-fastrlock This is a C-level implementation of a fast, re-entrant, optimistic lock for CPython. It is a drop-in replacement for `threading.RLock `_. FastRLock is implemented in `Cython `_ and also provides a C-API for direct use from Cython code via ``from fastrlock cimport rlock``. Under normal conditions, it is about 10x faster than threading.RLock in Python 2.7 because it avoids all locking unless two or more threads try to acquire it at the same time. Under congestion, it is still about 10% faster than RLock due to being implemented in Cython. This is mostly equivalent to the revised RLock implementation in Python 3.2, but still faster due to being implemented in Cython. However, in Python 3.4 and later, the ``threading.RLock`` implementation in the stdlib tends to be as fast or even faster than the lock provided by this package, when called through the Python API. ``FastRLock`` is still faster also on these systems when called through its Cython API from other Cython modules. It was initially published as a code recipe here: https://code.activestate.com/recipes/577336-fast-re-entrant-optimistic-lock-implemented-in-cyt/ FastRLock has been used and tested in `Lupa `_ for several years. %package help Summary: Development documents and examples for fastrlock Provides: python3-fastrlock-doc %description help This is a C-level implementation of a fast, re-entrant, optimistic lock for CPython. It is a drop-in replacement for `threading.RLock `_. FastRLock is implemented in `Cython `_ and also provides a C-API for direct use from Cython code via ``from fastrlock cimport rlock``. Under normal conditions, it is about 10x faster than threading.RLock in Python 2.7 because it avoids all locking unless two or more threads try to acquire it at the same time. Under congestion, it is still about 10% faster than RLock due to being implemented in Cython. This is mostly equivalent to the revised RLock implementation in Python 3.2, but still faster due to being implemented in Cython. However, in Python 3.4 and later, the ``threading.RLock`` implementation in the stdlib tends to be as fast or even faster than the lock provided by this package, when called through the Python API. ``FastRLock`` is still faster also on these systems when called through its Cython API from other Cython modules. It was initially published as a code recipe here: https://code.activestate.com/recipes/577336-fast-re-entrant-optimistic-lock-implemented-in-cyt/ FastRLock has been used and tested in `Lupa `_ for several years. %prep %autosetup -n fastrlock-0.8.1 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-fastrlock -f filelist.lst %dir %{python3_sitearch}/* %files help -f doclist.lst %{_docdir}/* %changelog * Sun Apr 23 2023 Python_Bot - 0.8.1-1 - Package Spec generated