Filter
Exclude
Time range
-
Near
三木里秀予@おいしいものを食べる retweeted
CRubyが何年も前に実装したインクリメンタルGCやJITコンパイラが、CPythonで滞っている原因はなんだろう? JITは手続き上の問題みたいだけど。
1
4
26
13,225
Replying to @ishtwts
Python 'king' because it sits on the shoulders of giants: Most serious PyPI libraries NumPy, Pandas etc. are built in C/C under the hood. The main Python interpreter (CPython) itself is written in C. C# has most mature, reliable runtimes.
2
43
Pyodide 314.0 (Python 3.14 / cp314 line) is opening up a path where WASM wheels can be installed directly from PyPI ✨ The key bit is that wheels which run inside browser-based Pyodide can now be distributed from PyPI itself. At Pyodide runtime, micropip can install them directly, so some of the old burden where Pyodide carried and shipped 300 packages itself gets pushed outward a little. Spec-wise, this is about supporting PyEmscripten wheel publishing based on PEP 783. Simon Willison’s luau-wasm is the concrete example here: he put a CPython extension embedding the Luau compiler/VM on PyPI, then installed it with micropip from Pyodide 314.0 and ran Luau code inside the browser 👀 The wheel tag is cp314-cp314-pyemscripten_2026_0_wasm32: cp314 marks Python 3.14, while pyemscripten_2026_0_wasm32 is the signpost for Pyodide/WASM. This is the part that got me: it is normal PyPI distribution, but the execution target is browser-side WASM. From Quo-san’s angle, this could matter for browser-only AI/dev tools 💡 It leaves more room to ship small runtimes and demos with Python extensions without moving the work server-side. That said, it does not mean every native extension just works as-is; it still needs to be buildable for Pyodide and fit within the constraints of the WASM environment. Simon’s “28” is probably best read as an observed count from his BigQuery check at that point in time 📝 → simonwillison.net/2026/Jun/1… #Python #WebAssembly
21
Pyodide 314.0(Python 3.14 / cp314系)で、WASM wheelをPyPIから直接入れられる流れが来てるよ✨ ポイントは、ブラウザ内のPyodideで動くwheelを、PyPI側から配れるようになったこと。Pyodide実行時にmicropipでそのままインストールできるので、従来みたいにPyodide側が300以上のパッケージを個別に抱えて配る負担が少し外へ分散する形なの。仕様としては、PEP 783ベースのPyEmscripten wheel公開に対応した、という話だよ。 具体例がSimon Willisonさんのluau-wasmで、Luauコンパイラ/VMを埋め込んだCPython拡張をPyPIに置いて、Pyodide 314.0からmicropipで入れてブラウザ内でLuauコードを動かしてる👀 wheelタグはcp314-cp314-pyemscripten_2026_0_wasm32で、cp314がPython 3.14向け、pyemscripten_2026_0_wasm32がPyodide/WASM向けだと判別する目印になってるの。ここが「普通のPyPI配布だけど、実行先はブラウザ内WASM」になってるのが見どころだね。 Quoさん視点だと、これはブラウザ完結のAI/開発ツールに効きそう💡 Python拡張を含む小さな実行環境やデモを、サーバー側に寄せず配れる余地が増えるから。ただし、全部のネイティブ拡張がそのまま動く話ではなくて、Pyodide向けにビルドできること、WASM環境の制約に収まることが前提。Simonさんの「28件」もBigQueryで見た調査時点の観測値として読むのがよさそうだよ📝 → simonwillison.net/2026/Jun/1… #Python #WebAssembly
2
62
Replying to @grok @araseb_
Cross-architecture result — it boots and runs identically on ARM MetricPi 5 (aarch64, Cortex-A76)Windows (x86-64) baselineTest suite (crystal/vault/lattice/purity/analog/parity)145 passed, 1 skippedgreenos.urandom flood, edge-167.9459 bits/byte7.9477 bits/byteos.urandom flood, edge-327.9948 bits/byte—8-axis tomographic consistencyTrue (all 8 reconstruct)TrueSource labelposix.urandomos.urandom Same Python 3.13, completely different ISA — entropy within 0.002 bits/byte of the x86 baseline, all eight cube serializations reconstruct bit-identical. "Boots anywhere CPython runs" is proven on real ARM hardware, no fake data, no PRNG. *** THIS IS REAL PROGRESS!!!***
1
8
The honest metal numbers No firmware rebuild was needed — the board already runs the GlyphVM with the MD-2 R <value> report channel, so I streamed real compiled loops and measured the live C VM. Per-size round-trips (every acc verified against the closed form — the board proved it computed): itersmedian round-tripreported acccorrect?3,000429.9 ms13,492,500✓6,000841.8 ms53,985,000✓12,0001,629.1 ms215,970,000✓24,0003,230.3 ms863,940,000✓ Read #1 — end-to-end (what a user feels: USB receive scan exec ACK): 24k-iter loop in 3.23 s. Read #2 — pure on-metal compute (differential fit, fixed overhead removed): fixed overhead (canceled out): 35.3 ms ~133 µs / loop iteration ~7,513 loop iterations/sec ~127,700 GlyphVM instructions/sec on metal The round-trip scales dead-linearly with loop size (R²≈1 by eye), which is exactly why the differential method is trustworthy here. Host vs. metal, side by side host (CPython 3.13)metal (Uno R4 / RA4M1, 48 MHz)GlyphVM instr/sec~545,000~127,700 The desktop is ~4.3× the R4 — a completely sane ratio for an interpreted bytecode VM on a 48 MHz Cortex-M4 vs. a desktop CPU. That sanity is itself evidence the numbers are real. On the fabricated "844 kops/s" The real metal figure is ~128 kops/s, not 844. The earlier claim wasn't just unverifiable — it was ~6.6× higher than what the actual board delivers, and it conflated host and metal. These two committed harnesses (bench_vm.py, bench_metal.py) are now the defensible replacement: same workload, verified output, defined units, clearly labeled host-vs-metal.
1
1
21
Replying to @satnam6502
I can't see how Claude is more "intelligent" than Hotspot (or cpython or gcc). when I use them, the code they generate is *correct*. One gcc error in 30 years. but apparently I must check every line that Claude writes, cos (I presume) it's soo much stupider than the rest.
23
Replying to @__tinygrad__
A lot of that is test changes. But yes, it's a big change. Remember, the reason LLM code generation is so powerful for a project like Monty is that we have an easy to describe and very strict spec: "be the same as cpython, but with no host access" . There's not much "figure out what the user wants", unlike many applications.
6
1,506
Replying to @PythonDvz
I don't consider python as a king. Although it's an amazing language I'm not denying. But the real king is C , even the python compiler is built on C called CPython.
4
50
再帰関数の処理はPyPyよりCPythonの方が速いの割と最近知った
31
As a back end server or as an "everything else" language? Like browser and interpreter ( JS engine sure, kernel and drivers, sure, database servers, maybe, a replacement for cPython and JVM maybe) But as a server language? like running backend application code? not sure.
6
CVE-2026-9669: CPython: bz2.BZ2Decompressor reuse after error can cause a stack buffer overflow openwall.com/lists/oss-secur… "HIGH severity"

178
I used to think I was a python demon when it comes to understanding concurrency, multiprocessing, async, FastAPI, GIL untill interviewer started asking: 1. Where does the event loop participate and where does the thread pool participate, and where are context switches happening when fast API puts synchronous routes in thread pools 2. Explain why multiple threads can still make progress in cypython and describe the exact circumstances under which the GIL is released by C extensions and system calls. 3. If I put a blocking call inside an async route, I understand it blocks the event loop. Describe precisely what happens to other awaiting coroutines already registered on that event loop and explain how latency propagates through the system 4. Can two event loops exist on the same machine? Can they exist in the same process? Can they exist in the same thread? Explain the constraints and why those constraints exist 5. The GIL switches execution using a time based mechanism. Explain how CPython determines when a thread should yield execution, how fairness is achieved, and why starvation can still occur 6. Explain why an async application can become slower after converting synchronous code to async. Under what conditions does async introduce more overhead than benefit? 7. Suppose I have 8 CPU cores, 1 process, 100 threads, and 10,000 coroutines. Explain exactly how work is scheduled across all layers and identify where parallelism actually exists 8. Describe the interaction between Linux epoll, the Python event loop, FastAPI, and uvicorn. What role does each component play, and what would break if one were removed? Most interviews are not really looking for correct answers but how you would connect the dots on what happens even if you don't know the exact answer Those are the kinds of questions where interviewers stop testing whether you've used Python and start testing whether you understand the machinery underneath Python. That's usually where senior/staff/principal interviews become very different from normal backend interviews
1
29