Live data from Hacker News

Doom in Django: testing the limits of LiveView at 600.000 divs/segundo

en.andros.dev

11–20 of 55 posts

Re: Doom in Django: testing the limits of LiveView at 600.000 divs/segundo

#11

if only i could run django on cloudflare workers guess i could run it on a dedicated server would be nice if we can get django and liveview working without a server

Bunny has very solid edge runtime if you manage to squeeze it into wasm or “magic containers” so it’s just a pod

https://bunny.net/cdn-lp

Re: Doom in Django: testing the limits of LiveView at 600.000 divs/segundo

#12

Shame Phoenix LiveView is missing from the comparison

It's only django-related third-party packages comparison (and SSR itself), would be a bit strange to compare with a different language/stack and/or framework

With focus on LiveView, I think it’s interesting to see how the runtime influences the results. Django and Phoenix have a very different concurrency model

Re: Doom in Django: testing the limits of LiveView at 600.000 divs/segundo

#13

if only i could run django on cloudflare workers guess i could run it on a dedicated server would be nice if we can get django and liveview working without a server

I wish we could host Django apps with the tasks and everything on Cloudflare workers. Also it would be nice to have a DB like SQLite within Cloudflare.

Cloudflare D1 is SQLite within Cloudflare.

Re: Doom in Django: testing the limits of LiveView at 600.000 divs/segundo

#14
post #8

Since Doom renders the image with vertical columns of pixels (floor, lower wall, portal if exists continues rendering the other sector, then upper wall then ceiling) and since browsers are very good at drawing the sprites out of larger textures... You could send vertical divs shaded with the sector light level and picking the correct textures. Instead of hundreds per column you will have like 5 divs on average per co…

I believe he stated in the beginning pretty clearly that the point of this exercise was to stress test the Liveview performance.

Making this more efficient would be kinda counter productive

Re: Doom in Django: testing the limits of LiveView at 600.000 divs/segundo

#15
So SSR is 50ms and LiveView is 10ms, what test was being performed to achieve these timings? Rendering a sample page or rendering doom?

Also LiveView is described as "Build rich, dynamic user experiences with server-rendered HTML without writing a single line of JavaScript." and their example uses django templating to render the HTML that is returned.

So what are we really measuring here? The speed up seems to solely come from WebSockets, and maybe skipping some Django middleware. Anyone care to elaborate?

Re: Doom in Django: testing the limits of LiveView at 600.000 divs/segundo

#16

So SSR is 50ms and LiveView is 10ms, what test was being performed to achieve these timings? Rendering a sample page or rendering doom? Also LiveView is described as "Build rich, dynamic user experiences with server-rendered HTML without writing a single line of JavaScript." and their example uses django templating to render the HTML that is returned. So what are we really measuring here? The speed up seems to solely…

I assume Django LiveView is directly inspired by Phoenix LiveView. It's essentially diffing template expansion on the backend and sending patches to the frontend via websockets where JS then applies the patches. Clicks and other interactions are also transmitted to the backend where state for the socket is updated and the template is reevaluated, hence completing the loop.

Re: Doom in Django: testing the limits of LiveView at 600.000 divs/segundo

#17
post #14
post #8

Since Doom renders the image with vertical columns of pixels (floor, lower wall, portal if exists continues rendering the other sector, then upper wall then ceiling) and since browsers are very good at drawing the sprites out of larger textures... You could send vertical divs shaded with the sector light level and picking the correct textures. Instead of hundreds per column you will have like 5 divs on average per co…

I believe he stated in the beginning pretty clearly that the point of this exercise was to stress test the Liveview performance. Making this more efficient would be kinda counter productive

I agree, but it certainly wasn't performant (in the video).

I'd be curious to see what parameters are required for a smooth / playable demo.

Or am I missing something?

(Slow input with no interpolation?)

Re: Doom in Django: testing the limits of LiveView at 600.000 divs/segundo

#18

if only i could run django on cloudflare workers guess i could run it on a dedicated server would be nice if we can get django and liveview working without a server

I wish we could host Django apps with the tasks and everything on Cloudflare workers. Also it would be nice to have a DB like SQLite within Cloudflare.

Why, because it's free?

Re: Doom in Django: testing the limits of LiveView at 600.000 divs/segundo

#19

if only i could run django on cloudflare workers guess i could run it on a dedicated server would be nice if we can get django and liveview working without a server

you can do it on wasmer's workers, their last wasm/python approach is pretty solid (compatibility, performance). it's sad to say, but after 4 years of "beta" Python support on CF workers - it's still ugly. I dunno who was responsible for such a neglect, but even with the last changes - total fiasco

Why is it “ugly”?

Re: Doom in Django: testing the limits of LiveView at 600.000 divs/segundo

#20

if only i could run django on cloudflare workers guess i could run it on a dedicated server would be nice if we can get django and liveview working without a server

Should be possible with this, no?

https://developers.cloudflare.com/containers/

Post reply on HN