Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
adrian17
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
12 ms
·
91.
▲
Techniques for Safe Garbage Collection in Rust
(kyju.org)
2 points
by
adrian17
3y ago
|
0 comments
92.
▲
by
adrian17
3y ago
> in spite of the popularity of llama.cpp and other cpu platforms Just to clarify: llama.cpp has also added some GPU acceleration over time.
93.
▲
by
adrian17
3y ago
AS3 derives from the ES4 proposal, which honestly felt like a bigger shift than Python2->3 transition. In fact, AS3 came out after work on ES4 already ceased, so in my understanding, "the JS we know today" won even before AS3 c
94.
▲
by
adrian17
3y ago
Very different kinds of projects. Flashpoint is concerned with archiving games and providing a one-stop desktop launcher for them. Ruffle reimplements the Flash Player, providing both a desktop player and a JS library that polyfills the FP
95.
▲
by
adrian17
3y ago
> Ah, so you meant that even all of them including specializing interpreter and copy-and-patch JIT may not give a reasonable speedup. But I think you have missed the fact that specializing interpreter has already landed on 3.11 and provi
96.
▲
by
adrian17
3y ago
I think there was some misunderstanding, you're arguing different points than ones I made. > Of course this approach produces a worse code than a full compiler by definition---stencils would be too rigid to be further optimized. Yea
97.
▲
by
adrian17
3y ago
I don't think we disagree that the long-term goal is to _eventually_ make it faster :) I rather meant to temper the enthusiasm that some could have upon seeing "JIT" and immediately trying to compare with, say, PyPy. > ena
98.
▲
by
adrian17
3y ago
> I'd be very eager to see the CPython benchmarks! In the talk on youtube, the author mentions that it’s not faster than mainline CPython yet (it is slightly faster than experimental off-by-default microoperation support it’s built
99.
▲
by
adrian17
3y ago
More specifically (assuming we’re talking about the same thing), the issue is with reproducing a standard C++ inheritance hierarchy (used for both the AS2/3 native objects and for the „DOM” tree nodes), while keeping its overhead chara
100.
▲
by
adrian17
3y ago
Just to clarify: we already had a ton of work towards AS3 done before that, there was just nothing to show for it until we added some final missing pieces. It’s not like we did everything from scratch in 18 months.
101.
▲
by
adrian17
3y ago
Note that wgpu, while mostly mirroring WebGPU (and being used to implement WebGPU in Firefox), doesn't have an identical API; WebGPU being the lowest common denominator* of the underlying low-level APIs, while wgpu offering some minor
102.
▲
by
adrian17
3y ago
This probably isn't a good motivating example - my first thought was that this is an overcomplicated way to write "This is the playlist: " + ", ".join([ 'Take me back to Eden', # My, my, tho
103.
▲
by
adrian17
3y ago
(Ruffle dev here) We took a look at `Home Run Derby` specifically and found some bugs and inefficiencies - the most recent builds should run faster and hopefully crash less :)
104.
▲
by
adrian17
3y ago
The issue is that there are many different "simple cases". The more checks for "fast paths" you add, the more overhead of individually checking for them. Also consider that: - this is more branch predictor friendly (a ge
105.
▲
by
adrian17
4y ago
> and most browsers offered an option to only load Flash content when you click on its area > there is at least one project of an open source Flash player (Ruffle) Just so you know, Ruffle supports (optionally) autoplay without clicki
106.
▲
by
adrian17
4y ago
Further, in some ways it's the "lowest common denominator" (so that it can be easily implemented on top of each "underlying" graphics API), with union of all their downsides and only intersection of upsides.
107.
▲
by
adrian17
4y ago
> What don't you like about it? AFAIK: It's a mostly-but-not-100% textual equivalent of SPIR-V that, syntax-wise, is a weird hodgepodge of all the other shader languages. At the same time, it's rare it'll be actually
108.
▲
by
adrian17
4y ago
Some extra notes: > project issued their first progress report with getting dozens of ActionScript 2 based games working Dozens of _previously-broken_ games working. We had a majority of (single-player) AS2 games working for years now, w
109.
▲
by
adrian17
4y ago
In other words, looks like we've just invented a new negative compression scheme. Both sides of the conversation see a short message, while a longer one is sent over the wire.
110.
▲
by
adrian17
4y ago
I'm not a big fan of restarting the discussion from the big Reddit argument on the same topic[1], but as I understand it: from embedded (or at least some developers') POV, this is a non-concern. Volatile never implied atomic in re
111.
▲
by
adrian17
4y ago
> As with volatile, C is using the type system to indirectly achieve a goal. Types are not atomic, loads and stores are atomic I don't get this argument. This same wording can actually be used to make pointers untyped: "pointer
112.
▲
by
adrian17
4y ago
> but you’d be more likely to just go straight to the fully-correct solution that this example is never able to reach in Python Couldn't this be done if Python added C++ Concepts-like facilities? As in, something like (extremely ugl
113.
▲
by
adrian17
4y ago
It's also present (as in, a direct translation) as a casual phrase in other languages, like Polish.
114.
▲
by
adrian17
4y ago
This linked issue is - quote - "a non-exhuastive, basic checklist of where we are aiming". As in, a checklist for MVP level support. And indeed, we have pretty much reached the MVP level, with several simple games (and some nontri
115.
▲
by
adrian17
4y ago
MMOs are pretty much the last game Ruffle or any in-browser emulator will get to support - not just because it's likely some of the most complex piece of code you can find, but also because MMOs are likely to use sockets, which AFAIK c
116.
▲
by
adrian17
4y ago
While Ruffle's AS3 support is still lacking a lot of features, since a couple months ago it's been able to play some simple games that require it. The build used on author's site is from 2021, and I just checked that the late
117.
▲
by
adrian17
4y ago
> Stable Diffusion? Well, that’s free-ish. Problem is, you’ll probably want to run it locally, which requires a really, really beefy graphics card. I was struggling to run it on a Vega56 - a GPU that goes for ~$150 used now - so I went o
118.
▲
by
adrian17
4y ago
The simplest way to make quick experiments for me is with https://godbolt.org/ . For my particular example: https://godbolt.org/z/8GvYzYj5h You can see we're trying to put a 1kB object on heap, bu
119.
▲
by
adrian17
4y ago
This is not about a heap-vs-stack tradeoff, this is about the compiler routinely generating very inefficient code that copies data around on stack for no good reason. For an example I've seen myself: using a custom GC pointer library,
120.
▲
by
adrian17
4y ago
> Rust gets this right, with the hindsight of C++’s example: “a = b” is a move operation by default and clone() is always explicit Note that a move can still do a copy; in fact, Rust is kinda notorious for generating more on-stack memory
More ›