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
#Vegetarian
Roasted Eggplant dips🍆
BAINGAN BHARTA
RECIPE (4-5 servings, 1h prep time):
-2 eggplant
Poke in holes with a fork and roast at 200C/ 400F for 45mins.
1 Tsp mustard seeds
1 Tsp cumin
1 Tsp Garam Masala
1 Tsp ground coriander
1/2 Tsp turmeric
Roast in some oil 2-3mins.
1 onion,
4 cloves garlic
a thumbsize piece of ginger
1 chili
Chop everything.
Add to the spices and fry until the onion has softened.
Remove the skin from roasted eggplant and add the eggplant to the pan.
2 chopped tomatoes
Salt
a splash of water
Add to the pan as well and stir.
Let it simmer for 10mins.
Finish with lemon juice and cilantro.
#Vegetarian
Mushroom Gyro
RECIPE
Mushroom "gyros":
250 g oyster mushrooms
2-3 tbsp olive oil
2 tsp dried oregano
1 tsp paprika
2 tsp smoked paprika
2 garlic cloves
fresh rosemary
1 tsp brown sugar
1/2 tsp salt
1 tsp black pepper
Vegan Tzatziki:
2/3 cup (160 g) vegan yogurt (I used soy)
1/2 cucumber
1-2 garlic cloves
small bunch parsley + dill
2 tbsp olive oil
2 tbsp vinegar
salt
Other:
pita (recipe is coming soon!)
red onion (thinly sliced)
tomato (thinly sliced + salted)
fries (optional, but recommended)
fresh herbs (l used parsley + mint)
1. mix mushrooms and all ingredients for the marinade.
2. For the tzatziki, grate the cucumber, salt and squeeze out water. Finely chop garlic and combine all ingredients in a bowl.
3. Fry the mushrooms in a hot pan, use a pot as weight and press while frying. Fry until slightly charred from both sides.
4. Thinly slice the onion and place them in cold water. Thinly slice the tomato and salt.
5. Assemble
#Vegetarian
No-Knead Focaccia Muffin
Recipe (Makes 12)
350g Bread Flour
245g Water
*2g Instant Yeast
7g Salt
10g Olive oil
*Substitutable with 70g Levain/ Discard
Toppings
Smoked Sea Salt
Rosemary
Method
FIRST PROOF
Mix flour, oil, salt, instant yeast and water and let it sit for 30min.
1 set of stretch-and fold, rest 30 min.
2 sets coil fold, 30min rest in-between.
Overnight cold fermentation in the refrigerator.
SECOND PROOF
The next day, divide the dough into 12 equal portions.
Roll each portion into a ball and place in muffin tray.
Proof until (almost) double. Preheat oven at 230C.
Dimple, add desired toppings and bake for 18-20min.
Bon Appetite.
#素食
#Vegetarian
Thai red curry noodle soup
🍜
1/2 a white onion
1 tsp of garlic puree
3 tsps of red curry paste
1 block of chopped tofu
4 sliced chestnut mushrooms
1 tbsp soy sauce
1 tin of coconut milk
2 portions of dry noodles
2 Pak choi cut in half
lime juice, coriander and spring onion
1. Dice onion and fry in a little oil, once browning
add garlic puree and red curry paste and stir and cook for 5 min.
2. Add chopped tofu and mushrooms and cook for 5 min.
3. Add 1 tbsp soy sauce, coconut milk and a splash of water and stir well.
4. Add uncooked noodles and
Pak choi cut in half and place the lid to cook for 10 min.
5. Serve immediately with lime juice, coriander and spring onion.
#Vegetarian
#素食
Korean vegetable pancake
For the Pancakes:
• 1 Cup Flour
• 1/2 tsp Kosher Salt
• 1 Cup Water
• 1 Cup Leek Greens, sliced thin
• 1/2 Cup Carrot, grated
• 3 Scallions, sliced in 1" pieces
• 1/2 Cup Red Cabbage, sliced in thin 1" pieces a 1 Jalapeño, seeds removed sliced in thin 1" strips
• 2 Tbsp Avocado Oil
For the Sauce:
• 2 Tbsp Soy Sauce
• 1 Tbsp Lemon Juice
• 1 tsp Water
• 1 Tbsp Sesame Oil
• 1 tsp Sesame Seeds
Mix together the flour, salt, and water
Add the veggies and mix until combined
Mix together the ingredients for the sauce and set aside
Preheat a large pan over medium and add the avocado oil; scoop 1/4 cup batter per pancake and flatten slightly with a spatula; cook 2-3 mins per side until golden brown and then place on a plate lined with paper towel to remove excess oil
Dip in the sauce and enjoy!