mirror of
https://github.com/TeamPGM/pyrogram.git
synced 2024-11-16 12:51:18 +00:00
Add speedups.rst
This commit is contained in:
parent
d48cef9a26
commit
39694a2949
@ -143,7 +143,7 @@ Meta
|
|||||||
topics/client-settings
|
topics/client-settings
|
||||||
topics/synchronous
|
topics/synchronous
|
||||||
topics/text-formatting
|
topics/text-formatting
|
||||||
topics/tgcrypto
|
topics/speedups
|
||||||
topics/smart-plugins
|
topics/smart-plugins
|
||||||
topics/storage-engines
|
topics/storage-engines
|
||||||
topics/serializing
|
topics/serializing
|
||||||
|
65
docs/source/topics/speedups.rst
Normal file
65
docs/source/topics/speedups.rst
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
Speedups
|
||||||
|
========
|
||||||
|
|
||||||
|
Pyrogram's speed can be boosted up by using TgCrypto and uvloop.
|
||||||
|
|
||||||
|
.. contents:: Contents
|
||||||
|
:backlinks: none
|
||||||
|
:depth: 1
|
||||||
|
:local:
|
||||||
|
|
||||||
|
-----
|
||||||
|
|
||||||
|
TgCrypto
|
||||||
|
--------
|
||||||
|
|
||||||
|
TgCrypto_ is a high-performance, easy-to-install cryptography library specifically written in C for Pyrogram as a Python
|
||||||
|
extension. It is a replacement for a slower Python-only alternative and implements the cryptographic algorithms Telegram
|
||||||
|
requires, namely: AES-256-IGE, AES-256-CTR and AES-256-CBC.
|
||||||
|
|
||||||
|
Installation
|
||||||
|
^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ pip3 install -U tgcrypto
|
||||||
|
|
||||||
|
Usage
|
||||||
|
^^^^^
|
||||||
|
|
||||||
|
Pyrogram will automatically make use of TgCrypto when detected, all you need to do is to install it.
|
||||||
|
|
||||||
|
uvloop
|
||||||
|
------
|
||||||
|
|
||||||
|
uvloop_ is a fast, drop-in replacement of the built-in asyncio event loop. uvloop is implemented in Cython and uses
|
||||||
|
libuv under the hood. It makes asyncio 2-4x faster.
|
||||||
|
|
||||||
|
Installation
|
||||||
|
^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ pip3 install -U uvloop
|
||||||
|
|
||||||
|
Usage
|
||||||
|
^^^^^
|
||||||
|
|
||||||
|
Call ``uvloop.install()`` before calling ``asyncio.run()`` or ``app.run()``
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
import asyncio
|
||||||
|
import uvloop
|
||||||
|
|
||||||
|
async def main():
|
||||||
|
app = Client("my_account")
|
||||||
|
|
||||||
|
async with app:
|
||||||
|
print(await app.get_me())
|
||||||
|
|
||||||
|
uvloop.install()
|
||||||
|
asyncio.run(main())
|
||||||
|
|
||||||
|
.. _TgCrypto: https://github.com/pyrogram/tgcrypto
|
||||||
|
.. _uvloop: https://github.com/MagicStack/uvloop
|
@ -1,29 +0,0 @@
|
|||||||
Fast Crypto
|
|
||||||
===========
|
|
||||||
|
|
||||||
Pyrogram's speed can be boosted up by TgCrypto_, a high-performance, easy-to-install cryptography library specifically
|
|
||||||
written in C for Pyrogram as a Python extension.
|
|
||||||
|
|
||||||
TgCrypto is a replacement for a slower Python-only alternative and implements the cryptographic algorithms Telegram
|
|
||||||
requires, namely: AES-256-IGE, AES-256-CTR and AES-256-CBC.
|
|
||||||
|
|
||||||
Installation
|
|
||||||
------------
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
$ pip3 install -U tgcrypto
|
|
||||||
|
|
||||||
.. note:: When TgCrypto is not detected in your system, Pyrogram will automatically fall back to a slower Python-only
|
|
||||||
implementation and will show you a warning.
|
|
||||||
|
|
||||||
The reason about being an optional package is that TgCrypto requires extra system tools in order to be compiled.
|
|
||||||
The errors you receive when trying to install TgCrypto are system dependent, but also descriptive enough to understand
|
|
||||||
what you should do next:
|
|
||||||
|
|
||||||
- **Windows**: Install `Visual C++ 2015 Build Tools <https://www.microsoft.com/en-us/download/details.aspx?id=48159>`_.
|
|
||||||
- **macOS**: A pop-up will automatically ask you to install the command line developer tools.
|
|
||||||
- **Linux**: Install a proper C compiler (``gcc``, ``clang``) and the Python header files (``python3-dev``).
|
|
||||||
- **Termux**: Install ``clang`` package.
|
|
||||||
|
|
||||||
.. _TgCrypto: https://github.com/pyrogram/tgcrypto
|
|
@ -54,7 +54,7 @@ except ImportError:
|
|||||||
log.warning(
|
log.warning(
|
||||||
"TgCrypto is missing! "
|
"TgCrypto is missing! "
|
||||||
"Pyrogram will work the same, but at a much slower speed. "
|
"Pyrogram will work the same, but at a much slower speed. "
|
||||||
"More info: https://docs.pyrogram.org/topics/tgcrypto"
|
"More info: https://docs.pyrogram.org/topics/speedups"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user