7.09.2025 состоялся релизPithon 3.14!
На фоне хайпа про NoGIL всё позабыли про другие фичи. Особенно про Multiple Interpreters, который обещает изоляцию процессов но с эффективностью потоков! На сколько действительно это будет эффективно мы узнаем позже, потому что сейчас это лишь первый релиз с ограничениями и недоработками.
Но что там про NoGIL? Теперь этот режим не экспериментальный, а официально поддерживаемый, но опциональный.
Чтобы запустить без GIL нужна специальная сборка. И перед стартом нужно объявить переменную PYTHON_GIL=0
Для вас я собрал готовый репозиторий где достаточно запустить скрпит, который всё сделает:
▫️ соберет релизный Python 3.14 в новый Docker-образ
▫️ запустит тесты в контейнере (GIL, NoGIL, MultiInterpreter)
▫️ распечатает результаты
Тест очень простой, усложняйте сами)
Вот какие результаты у меня:
=== Running ThreadPoolExecutor GIL ON
TOTAL TIME: 45.48 seconds
=== Running ThreadPoolExecutor GIL OFF
TOTAL TIME: 6.14 seconds
=== Running basic Thread GIL ON
TOTAL TIME: 45.54 seconds
=== Running basic Thread GIL OFF
TOTAL TIME: 4.74 seconds
=== Running with Multi Interpreter
TOTAL TIME: 18.30 seconds
Если сравнивать GIL и NoGIL, то на мои 32 ядра прирост х7-x10 (почему не х32? 🤷). При этом нам обещают что скорости будут расти с новыми релизами.
Режим без GIL похож (визуально) на async, тоже параллельно, тоже не по порядку. Но это не IO! и от того некоторый диссонанс в голове 😵💫, нас учили не так!
Интересно, что чистый Thread работает быстрей чем ThreadPoolExecutor без GIL.
Ну и где-то плачет один адепт мульти-интерпретаторов😭 Теперь нужно искать где они могут пригодиться с такой-то скоростью. Скорее всего своя область применения найдется.
Отдельно я затестил память и вот что вышло на 32 потока:
ThreadPoolExecutor GIL ON
305.228 MB
ThreadPoolExecutor GIL OFF
500.176 MB
basic Thread GIL ON
90.668 MB
basic Thread GIL OFF
472.444 MB
with Multi Interpreter
1267.788 MB
Пока не знаю как к этому относиться)
В целом - радует направление развития!
#release
Telegraher 8.6.2 release 5
Source : Github / Swiss / Gitlab
APKs: Swiss / Github CI/CD - arm64_v8a - armeabi_v7a - x86 - x86_64:
Changes:
• all from 8.6.2 release 4
• google services are removed
• TH menu hardcoded values replaced with the values from xml
• added russian language, i will add french too. Feel free to commit/add via issues new ones, i will create special issue for this
• added osmand maps (from TG FOSS)
• notifications background service fix from TG FOSS too
• fixed bug with "The Void". Now is you choose "The Void" for our menu it will disappear forever..
• updated the packets from gradle, hope it will work fine :)
#noshit#noshit_862#release
Telegraher 8.6.2 release 2
Source : Github / Swiss / Gitlab
APKs: Swiss / Github CI/CD - arm64_v8a - armeabi_v7a - x86 - x86_64:
Changes:
• all from 8.6.2 release 1
• added fingerprint from 8.6.2 store, it's the same
• corrected SHORTCUT_SHARE
• corrected files folder (a fallback value)
• added IP_STRATEGY_BYTE byte, to avoid execution of the same code (for the same network interface
every time)
• Fork doesn't use system account anymore
• (no acc creation, but fully compatible with the contacts made by vanilla tg)
• can setup bitrate (from x0.5 to x4 and size from x1 to x2) for round videos, video&audio
• round videos with size different from x1 aren't considered as a "round videos" btw • update to
• new C++ and Java code for accounts. Upto N.. but actually just 32.
• by default it init 3 slots like the vanilla
• to enable more than 3 you need to activate "3+" option in our menu and restart the client
• once "3+" enabled each time it will init n+1 accounts to keep low profile
• (!) if you had 4,5 or 6 accounts in Telegraher, just enable this option and restart the app
• code a bit dirty, but works. to make it REALLY unlimited we need to rework all actual logic, include folders account0, account1 etc
• LocaleController new code added for local labels, cause vanilla code use CLOUD for anything and
the local as a fallback
• LogoutActivity now use new acc system (to display or not the button to add more acc)
• added "Kill the app" button in our menu to kill the app
• added device spoofing, you can setup the brand, the model and the Sdk number (os)
• these values will be used for all NEW connections
• once you registered an account it will be setup with the data you used for
• to do this you need to access our menu and override params
• then you click the RED button "kill the app" cause app need to be RESTARTED to get new params to init
• use it wisely. For example: 9 accounts, 3 different virtual devices = 3 "real" devices :)
• By default it will use the vanilla data.
• our menu by BY DEFAULT in the same area where are KABOOM button, you CAN bring it
back: https://t.me/telegraher/309
And i still remind you this (TG warning from Support and our Matrix if this channel/chat will be
taken down):
• https://t.me/telegraher/291
• https://t.me/telegraher/299
#noshit#noshit_862#release
Telegraher 8.6.2 release 1
Source : Github / Swiss / Gitlab
APKs: Swiss / Github CI/CD - arm64_v8a - armeabi_v7a - x86 - x86_64
Changes:
• all from 8.6.1 release 5
• update to vanilla 8.6.2
• video bitrate as it was before (cause in 8.6.2 they are lowered it and increased the compression for the videos you share)
• removed FPS limiter for all videos (59 fps, which they are added in 8.6.2)
• removed FPS limiter for 480p (or less) videos, they capped it by 30 fps in 8.6.2
• some labels are changed from "Telegram" to "Telegraher".
• when you start the app it show you new "promo" messages from this post
#noshit#noshit_862#release
Telegraher 8.5.4 release 4
Source : Github / Swiss / Gitlab
APKs: Swiss / Github CI/CD - arm64_v8a - armeabi_v7a - x86 - x86_64
Changes:
• all from 8.5.4 release 3
• admins now can delete all own messages in group chat
• KABOOM moved on Storage tab to be accessed from Android app menu w/o being logged in a client
• replaced vanilla TG links with github fork links
• bring back app install permission (cause folks had issues to install the APKs from UI on Android10 and/or MIUI)
• fixed space waste for large screen tablets in landscape mode
• chat font now between 6 and 72
• removed "splash" on startup
• fixed bug in UI with double "save to gallery" in a menu
#noshit#noshit_854#release
Telegraher 8.5.4 release 2
Source : Github / Swiss / Gitlab
APKs: Swiss / Github CI/CD - arm64_v8a - armeabi_v7a - x86 - x86_64
Changes:
• all from 8.5.4 release 1
• this and all next build are build using CI/CD from github, it mean that github automatically build the app and not me :)
• bring back "New Channel" into main menu
• left slide menu doesn't display phone number under the account anymore
• it display the username (if exists) or empty text
• phone number now displayed for each account in spoiler menu and can be hidden
• handy if you taking screenshots/filming your screen
• every profile tab now display the ID (users/groups/channels/bots etc)
• you can copy ID on click
#noshit#noshit_854#release
1-st release of 8.5.4
Source & APKs : Github / Swiss
Source ONLY: Gitlab
Changes:
• all from 8.5.2 release 1
• official bugfixes (gifs, etc), but snow/blur still fuckedup
• -2 trackers. two which remains: language toolkits from the app.
P.S. swiss mirror will be updated in 1h, also apks will be shared on TG too and on 4pda. Actually they are available on github (feel free to download).
P.P.S. i have one more job interview, need to go 😐
#noshit#noshit_854#release
2-nd release of 8.4.4
Source & APKs : Github / Swiss
Source ONLY: Gitlab
Changes:
• all from 8.4.4 release 1
• added delete mark
• when someone wiped messages OR history you will see it, just need to close/open an actual chat
• deleted will me marked on the place of edited
• remote deletions via GCM pushes should to work too (i have no gapps here, but some folks have)
• if chat have a timer there are no deleted flag, i will add it later due we know that it will be deleted once read (cause there are a timer :D )
• new internal variable DUROV_RELOGIN=1 and a table
• here we store level of our changes, due we added new column isdel into messages_v2 table and made a new table telegraher_init
• i used vanilla code to apply DB update (same what TG use when you see "hi, tg updating database etc")
• fixed an issue #6
• when we wiped remote chats they aren't wiped so not they are wiped
upd: friend told that GCM deletion are marked good 😁
#noshit#noshit_844#release
1-st release of 8.4.4
Source & APKs : Github / Swiss
Source ONLY: Gitlab
Changes:
* all from 8.4.3 release 2
* keep using original TG fingerprint from 8.4.4 (same as 8.4.3)
* snowflakes added back into menu
* blur added back into menu
* disabled APK managing by TG (it use system app)
* WTF what they did smoked, but messengers will NOT install the APKs
* you can enable/change/disable double tab reactions (=quick reactions), guide
* vanilla client offer only change them :)
#noshit#noshit_844#release
2-nd release of 8.4.3
Source & APKs: https://github.com/nikitasius/Telegraher/releases/tag/noshit_8.4.3_release2
Changes:
* all from 8.4.3 release 1
* we use now fingerprint, package name and referer (who installed us, i.e. Google Play) from a vanilla version
* APP lost few permission due it not need it anymore
* app do not check number, sim state or is number is the actual you use on regitration/login, due we just say "yes"/true
* due app is from github official "check update" disabled, so app will not ask TG servers if there are new one.
* api keys are 4/014b35b6184100b085b0d0572f9b5103 due gplay/store/web versions are using them
#noshit#noshit_843#release
1-st release of 8.4.3
Source & APKs: https://github.com/nikitasius/Telegraher/releases/tag/noshit_8.4.3_release1
Changes:
* all from 8.4.2 release 3
* we don't display all available reactions anymore due TG moderate/censor them even in your private chats (non-green)
* no need to show 😭 & 😂 cause we can't use them (they can't be saved) , fuck TG
#noshit#noshit_843#release
2-nd release of 8.4.2
Source & APKs: https://github.com/nikitasius/Telegraher/releases/tag/noshit_8.4.2_release2
Changes:
* all from 8.4.2 release 1
* fixed issue #4 (history & reactions, due reaction generate editmessage event.. TG very poorly made as is, yep)
* fixed save menu buttons
* disabled auto reaction on doubletap
* fixed edit_hide
* all official reaction are available for private messages
* doesn't work in groups/channels due TG servers are using whitelists
#noshit#noshit_842#release
1-st release of 8.4.2
Source & APKs: https://github.com/nikitasius/Telegraher/releases/tag/noshit_8.4.2_release1
Changes:
* all from 8.3.1 release 2
* using codebase from Telegram 8.4.2 (the latest)
* GIFs have the controls (play/stop/move on timeline)
#noshit#noshit_842#release