Nea: A webserver that never allocates - Folkert de Vries

Поділитися
Вставка
  • Опубліковано 15 вер 2024
  • From softwareyoucan... Milan 2024

КОМЕНТАРІ • 34

  • @vladyslav007
    @vladyslav007 8 днів тому +45

    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 21 годину тому

    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 7 днів тому +13

    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 7 днів тому +6

      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 6 днів тому +4

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

    • @leeroyjenkins0
      @leeroyjenkins0 7 годин тому +1

      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.

  • @ramtaicnatcher9494
    @ramtaicnatcher9494 2 дні тому +5

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

    • @leeroyjenkins0
      @leeroyjenkins0 7 годин тому +1

      > 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!

  • @arubaga
    @arubaga 8 днів тому +8

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

    • @blarghblargh
      @blarghblargh 5 днів тому +1

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

  • @edgeeffect
    @edgeeffect 8 днів тому +10

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

  • @randalkoene9675
    @randalkoene9675 7 днів тому +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 7 днів тому +12

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

  • @UliTroyo
    @UliTroyo 9 днів тому +2

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

  • @Ic3q4
    @Ic3q4 8 днів тому +6

    hahaha "i use rust actually" :D to funny ngl i really like this though

  • @arnemartt
    @arnemartt 5 днів тому

    Shoutout to the Thy Catafalque shirt

  • @DeathSugar
    @DeathSugar 6 днів тому

    wonder if they would add support for surrealdb

  • @re-lax3580
    @re-lax3580 9 днів тому

    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 9 днів тому

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

    • @re-lax3580
      @re-lax3580 9 днів тому

      @@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 9 днів тому

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

    • @louis1001
      @louis1001 8 днів тому

      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 8 днів тому +5

      Race condition is not a data race

  • @pietraderdetective8953
    @pietraderdetective8953 9 днів тому +11

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

    • @theevilcottonball
      @theevilcottonball 8 днів тому +17

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

    • @etooamill9528
      @etooamill9528 8 днів тому +7

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

    • @jcollins519
      @jcollins519 4 дні тому +2

      "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 6 днів тому +1

    Setjmp / longjmp aka “try catch” lol