Nea: A webserver that never allocates - Folkert de Vries

Поделиться
HTML-код
  • Опубликовано: 1 ноя 2024

Комментарии •

  • @vladyslav007
    @vladyslav007 Месяц назад +60

    I will never get tired of commenting things like that. I'm pretty amazed that Zig community becomes more about programming in general, not just focused on Zig and it's pretty cool. Also people are very friendly and topics are interesting.

  • @cheebadigga4092
    @cheebadigga4092 Месяц назад +5

    This is amazing. The location with the chairs, then smoothly going to an auidience and present your passion, then go back to the chair to chill and answer questions. I think this "sit down" thing makes is so much more enjoyable than standard talks and their setups. Thank you for this!

  • @EmmanuelMess
    @EmmanuelMess Месяц назад +22

    An interesting recommendation I got from senior developers about embedded programming was to construct everything at the start of the execution and then never again, this makes OOM basically impossible (unless you run out at the initialization) and simplifies a lot of logic.

    • @noahryan8672
      @noahryan8672 Месяц назад +8

      We do this on all embedded systems where i work. I personally think its a great way to design reliable systems, at least for the purposes i am designing for.

    • @notuxnobux
      @notuxnobux Месяц назад +7

      Some games also do this. Tiger beetle database written in zig also does this.

    • @leeroyjenkins0
      @leeroyjenkins0 Месяц назад +3

      It's a good principle if resource hogging isn't a problem. But if you need to share the system with other software that might need sporadic amounts of memory it makes more sense to "be nice" and only hog a sensible amount of resources, and in exchange expect the other processes will be nice enough to let you get more memory when you need it.
      For a "dumb" web server though, where you know it's always going to be running on the same hardware that only serves that purpose. Then yeah, just allocating in advance might be a lot smoother.

    • @noahryan8672
      @noahryan8672 Месяц назад

      @@leeroyjenkins0 definitely a good point. For the systems I tend to work on, this is much less of an issue, but not everyone will have that experience.

  • @ramtaicnatcher9494
    @ramtaicnatcher9494 Месяц назад +20

    > A webserver that never allocates
    > Look inside
    > Memory allocation

    • @leeroyjenkins0
      @leeroyjenkins0 Месяц назад +8

      > Car that runs on electricity
      > Follow the power line
      > Coal burning

    • @leeroyjenkins0
      @leeroyjenkins0 Месяц назад +7

      > Large cap company that isn't evil
      > Look up subcontractors
      > Evil
      Man these are fun!

    • @danix30001
      @danix30001 19 дней назад +9

      > Serverless server
      > Look inside
      > Server

  • @edgeeffect
    @edgeeffect Месяц назад +10

    Roc platforms remind me a lot of John Ousterhout's TCL language with it's Wish and Expect "platforms"....

  • @arubaga
    @arubaga Месяц назад +7

    This is so old school with ideas from late 1980’s.

    • @blarghblargh
      @blarghblargh Месяц назад +1

      people got real excited over functional programming when it got popular, even though it existed since the late 1950s

  • @randalkoene9675
    @randalkoene9675 Месяц назад +6

    Feels like memory and threads management has very similar problems. Allocation of memory "buckets" to requests runs into strategies analogous to those applying GPU (or CPU) threads to multiple concurrent tasks. Not surprising, since we're still a while away from having "infinite" local threads. ;-)

  • @Stdvwr
    @Stdvwr Месяц назад +18

    ah yes, a webserver that never allocates, just what I need for my web application that never works

  • @UliTroyo
    @UliTroyo Месяц назад +2

    36:29 Loris's gears were spinning the whole time Folkert was saying that 😂

  • @arnemartt
    @arnemartt Месяц назад +1

    Shoutout to the Thy Catafalque shirt

  • @DeathSugar
    @DeathSugar Месяц назад

    wonder if they would add support for surrealdb

  • @re-lax3580
    @re-lax3580 Месяц назад

    Given that safe rust can prevent data race, what are the causes of the race conditions? What do you need to do that requires unsafe rust?

    • @jaysistar2711
      @jaysistar2711 Месяц назад

      Is this a question about something said in the video, or is it about Rust in general?

    • @re-lax3580
      @re-lax3580 Месяц назад

      @@jaysistar2711 The video. The talker mentioned that he needs to fix some race conditions in the talk, and I am wondering why he needs to

    • @jaysistar2711
      @jaysistar2711 Месяц назад

      ​@@re-lax3580Oh, 29:18 . I'm not sure what race conditions to which he may be refering.

    • @louis1001
      @louis1001 Месяц назад

      He did mention implementing setjmp and longjmp with inline assembly.
      And in unsafe code, data races can happen. It's your job to ensure that an unsafe code block becomes safe.

    • @leonardeuler4
      @leonardeuler4 Месяц назад +5

      Race condition is not a data race

  • @pietraderdetective8953
    @pietraderdetective8953 Месяц назад +15

    Ohh that "Don't be scared.." when he explained that it's written in Rust is so cult-like LOL.

    • @theevilcottonball
      @theevilcottonball Месяц назад +18

      I don't see how 'Don't be scared' is cult like...

    • @etooamill9528
      @etooamill9528 Месяц назад +7

      he only said that cause many people are biased against rust and the language itself has pretty intimidating syntax, i assume

    • @jcollins519
      @jcollins519 Месяц назад +6

      "it's written in language X which this audience (Zigmas) isn't familiar with, but don't worry, you don't need any familiarity with it to understand my presentation"
      I think your response to the statement moreso indicates your own biases

  • @Diamonddrake
    @Diamonddrake Месяц назад +4

    Setjmp / longjmp aka “try catch” lol