7 ms·
IMHO there is little point of these conversion projects. It screams of "look at me, see what I made" and when the attention goes down a little nothing was ever
by TheChaplain 3mo ago
IMHO there is little point of these conversion projects. It screams of "look at me, see what I made" and when the attention goes down a little nothing was ever pushed to the repo ever again.
Perhaps I am out of touch, but a project with author/s that have passion for every line, function and purpose, feels more real and worth my trust to spend time using it.
- the_duke 3mo agoMaking something 50-2000x faster is pointless? Besides that, Rust code is actually much easier to maintain , thanks to type system guarantees.
- andai 3mo ago>type system guarantees Can't they run Pylint on itself?
- conartist6 3mo agoYou can't get 2000x faster without actually eliminating some large percentage of the work, you just cannot. You have to find some way to get rid of 99.95% of the work you were doing. Usually those inflated numbers come from single-thread to multi-thread comparisons, where you can fudge as much as you want by adding more cores. They claim this is a single-core to single-core comparison, so basically that means they had a heinous performance bug hidden in their code, almost certainly an n^2 behavior. If this is true 2000x is not the limit of what they could have claimed as speedup. Why not 10,000x? Why not 10,000,000x? All are equally true, and none of them could be fixed by a faithful port of the codebase from one language to another. So I kinda read it as them being confidently, arrogantly stupid, waving around a result without seemingly having thought about what it means. I think it means they could get most of the speed without ever having had to leave Python if they just fixed one bug...
- mohsen1 3mo agoIn the world of compilers there is a lot of wasted compute. In my project I'm also getting good results (for now on single files) https://tsz.dev/benchmarks/micro https://tsz.dev/benchmarks/micro
- luipugs 3mo agoYour best result is not even an order of magnitude faster, while this repo is claiming on average almost 2 orders of magnitude faster. Extraordinary claims require extraordinary evidence sort of thing.
- andai 3mo ago>You can't get 2000x faster without actually eliminating some large percentage of the work Yeah, exactly. That's how optimization works! Recognizing that in many cases, the work is that was being done is not necessary to produce the result you actually need, that it could have been in a different way. This can sometimes involve adding complexity (by means of a better data structure or algorithm, e.g. a quadtree), and sometimes involve removing it (non-pessimization[0]). That being said, it's certainly also possible to achieve a speedup by breaking things, which you are suggesting is the case here. I can't comment on that part. [0] Casey Muratori - Refterm Lecture Part 1 - Philosophies of Optimization https://www.youtube.com/watch?v=pgoetgxecw8 https://www.youtube.com/watch?v=pgoetgxecw8
- conartist6 3mo agoI like the other commenter's information here https://news.ycombinator.com/item?id=48597915 https://news.ycombinator.com/item?id=48597915. It confirms what i suspected: the source of the 2000x slowdown is very much fixable in Python. It's not a huge error, it just speaks to the people doing the work not having a solid footing in the concepts
- mezyt 3mo agoThe 2000x number is based on a pathological directory in black's repo https://github.com/psf/black/tree/main/profiling https://github.com/psf/black/tree/main/profiling which make duplicate-code really slow and a fix was done in pylint 4.1.0 according to pylint's maintainer.
- xnickb 3mo agoI don't think you are. My first reaction was: "cool, now maintain it"
- deleted 3mo ago[deleted]
- baq 3mo ago"/loop maintain it" in a cron job
- conartist6 3mo ago/loop make people respect me for being competent and trustworthy
- baq 3mo agomissing the point
- bravetraveler 3mo agoI'd go even further: 'look at me, see what was paid for.' This isn't much different than the 'builder brained' coworker who is obsessed with creating technical debt, not owning it. Throwing shit at the wall and seeing what sticks, passing it off as sage wisdom. It'd be interesting to see the math behind offsetting the GPU crunching with more power efficient linting. Assuming every person or CI job switched (and the model stays offline), how many years are we looking at?
- dgellow 3mo agoIn this case, it’s maybe more “I can access that luxurious model you all pleb are banned from using”
- deleted 3mo ago[deleted]
- bravetraveler 3mo agoEh, I'm not that interested in participating in the marketing. I don't believe Fable/Mythos-lite/whatever is needed to translate. Or, as you call it, luxurious. Fair point, though. Agreed in principle.
- andai 3mo agoYeah a fun hobby of mine this week is to take all these "amazing" Fable projects and clone them with DeepSeek Flash (not even Pro)
- bravetraveler 3mo agoNice, same here/there. Still haven't tried DS, all Gemma, GPT-'OSS', and Qwen.
- NonHyloMorph 3mo agoCan someone with a deeper understanding of these sort of processes say something about the intricaies of building such a transformation process? Seems like constucting the architecture and feedback loops that guide the LLM to achieve a specific goal (byte wise bevhaviour replication) seems rather non trivial and as its on field of research? How common is it to achieve what the authors are publishing here as been having achieved? How elaborate are the achieved goals (i assume that what is specified here is rather precise and assume its true - in good faith for the sake of my question and as it is stated for the sake of being potentually reviewed/checked against)? How advanced are the metrics/behavioral constraints that guided the process? Whats the state of the art of this sort of ehm..reversereplication(?)archaeomorphic kyberneering(?), archaehylomorphic programming(?). Seems like an interesting approach and maybe thats also partially because I haven't seen such an approach - regarding the specificity and methology of defining the desired endresult. [some speculative neologismification based on my (limited) understanding of ancient greek ethymology《to illustrate my aesthesis of that process. For the notion of hylomorphism see gilbert simondon ("machine") philosophy] Adding: polite request to overlook potential orthographic deficiencies of text
- tuna74 3mo agoUsing less electricity or time for the same result seems a pretty good point.
- deleted 3mo ago[deleted]
- danpalmer 3mo agoMost software is not a single finished artifact though, it's a community, a process, knowledge, documentation, and mindshare. This has none of those, so by default it'll die as a project immediately. To gain any of those is a much bigger problem: is the code structured well enough to get contributors over? Do the contributors know Rust? What about all the open bug reports? What about the edge cases that aren't triggered by the benchmarked projects, how do you even find them?
- baq 3mo ago...what's the point? pylint keeps being developed, maintained as usual, etc. and the LLM conversion pipeline (little more than "rewrite the diff in rust, make no mistakes" in a loop) runs in the background. why do you care about it? do you care about maintainability of the output of your C compiler?
- whereistejas 3mo agoWhile I agree with your point in general, rewriting a big widely used project in a stricter language is always a good thing. It improves the dev-ex of people contributing to these projects and more importantly helps people seperate logic into silos. Python is inherently limited in which kinds of abstraction it can express.
- lelanthran 3mo agoIn an open source tool, there is no value without community of contributors. The value of the discussed project is exactly zero right now in the best-case scenario. It's more likely to be negative: because there has been no contact with reality (no users have used it in production), the risk is higher than using the existing one. IOW, 1. Only after some brave souls use this in production, will the value of this project rise to zero. 2. Only after a community (could even just be a single person) demonstrates commitment to this project will it have a non-zero positive value. Since it was done primarily by someone who was never part of the original community, and they have yet to demonstrate a commitment to maintenance, there is no value to this project. > While I agree with your point in general, rewriting a big widely used project in a stricter language is always a good thing. Assuming everything else stays the same, sure. But everything else is not the same - there is no community, no commitment to maintenance, high risk and, worst of all, no human involvement. This project has negative value now due to the risk. > It improves the dev-ex of people contributing to these projects What contributors? There are none, and there are unlikely to be any for the majority of the new repos created like this. Improving the devex of zero contributors improves exactly nothing. > Python is inherently limited in which kinds of abstraction it can express. Sure, but successful projects require committed humans. This has none.
- baq 3mo agocategory error. surely you aren't calling binary releases of binutils 'projects'? why would you call this thing a 'project' in the sense you're using?
- lelanthran 3mo ago
- baq 3mo ago> 100x faster for byte-for-byte identical output > little point ...yeah.
- aaron695 3mo ago[dead]
- odiroot 3mo agoThe ~~beatings~~ rewriting to Rust will continue until morale improves.
- esperent 3mo agoThey said it's a median 85x speedup while maintaining byte for byte equivalence. If it wasn't agentic coding that got there, everyone would be singing praises about that.
- asah 3mo agoI've stopped telling people when I use LLMs because they focus on that instead of the work itself.
- andai 3mo agoI just watched a video by a guy who got cosmetic surgery done. He's getting roughly 10x more positive attention now. Unless he mentions the surgery, in which case a lot of people get upset. I note an isomorphism there. If you use AI properly, you can do amazing things with it. But if you brag about it, that doesn't seem to produce positive results (and bragging and quality work appear to be inversely correlated).
- neon_diogenes 3mo agoSay im talking to someone about a project I’m working on. When I mention AI was involved, the whole project is reframed in their head to be lesser in some way. All of a sudden “AI” is the project. They write off the human element. They dont understand its about the idea. The project viability relies on the ability of identifying a problem and brainstorming a novel way of solving it. Thats the hard part. LLMs let me execute my brain plan. The coding aspect has been democratized to non-coders.
- Geezus_42 3mo agoYeah, because then we would know it has a higher likelihood of being maintained.
- dminik 3mo agoAh, that reminded me to check up on these "AI wonder projects". Cursor's Web Browser? Last update 5 months ago: https://github.com/wilsonzlin/fastrender https://github.com/wilsonzlin/fastrender The Claude C compiler? 4 months since any changes: https://github.com/anthropics/claudes-c-compiler https://github.com/anthropics/claudes-c-compiler Zero moderation too, nice. https://github.com/anthropics/claudes-c-compiler/issues/264#issuecomment-4323295564 https://github.com/anthropics/claudes-c-compiler/issues/264#... CloudFlare's slop NextJS project is still going though. https://github.com/cloudflare/vinext https://github.com/cloudflare/vinext
- vieviveviveevev 3mo agoCloudFlare's thing at least has some business value compared to the rest.
- Hamuko 3mo agoServerless Matrix workers seems to be going nowhere as well. https://github.com/nkuntz1934/matrix-workers https://github.com/nkuntz1934/matrix-workers
- torginus 3mo agoAlso, I'd be interested in the quality of these Rust ports. I have a friend who's an experienced Rust programmer, and he told me Rust ownership doesn't really lend itself well to rewriting mostly OOP code that was written without having strict ownership in mind, and such project often result on very ugly code full of Box, Rc, unwrap() etc, that majorly pollute the code, and basically mean that you abandon all the Rust-specific safety. But getting rid of all of this usually requires a complex rethink on how the data actually flows through the application, and many 'rewrite in Rust' project even before AI tended not to bother with that.
- Leynos 3mo agoCurrently, there are things pylint does that ruff doesn't. To use these, I was running pylint on pypy to get it running at a reasonable speed. Having pylint reimplemented in Rust seems like a very useful thing to have from my perspective. I get another several x speed up, and I can stop having to worry about a separate python interpreter used for one tool that is a few Python versions behind my codebase.