Keynote: Daniel Spiewak - The Case For Effect Systems

Поділитися
Вставка
  • Опубліковано 2 лип 2024
  • Scaling and stabilizing cloud services in the face of torrential volumes of traffic is one of the major problem spaces that defines our language ecosystem. Problems such as reliability, predictability, throughput, efficiency, self-healing, and such are the primary factors which largely dictate both architectural and implementation decisions.
    In this talk, we will peel apart how these factors manifest on the JVM, ultimately motivating not only the asynchronous I/O paradigm in general but effect systems in particular, with a special emphasis on performance and efficiency in the real world.
    2022.scala.love
    / scala_love
  • Наука та технологія

КОМЕНТАРІ • 17

  • @MrDejvidkit
    @MrDejvidkit 3 місяці тому +3

    This is the best explanation of the effects system ever. I was trying to explain it to my colleagues and this is the talk they need ! Thx you you ROCK!

  • @sgomezj_
    @sgomezj_ Рік тому +8

    Such a knowledgeable guy

  • @jonathanwinandy
    @jonathanwinandy 2 місяці тому

    It's nice to go back to this talk! Thanks a lot for the presentation.

  • @VivekGupta-xg5ds
    @VivekGupta-xg5ds 9 місяців тому +1

    Really great presentation. I just loved it.

  • @rosen4obg2
    @rosen4obg2 2 роки тому +4

    Thank you! I learned so much from this talk.

  • @davidcrosson
    @davidcrosson Рік тому

    Thank you for this great keynote, and you've described and summarized perfectly the pathway (by chance and experimentation) I've followed this past two years :)

  • @AshishNegi1618
    @AshishNegi1618 2 роки тому +2

    I think speaker meant cache misses instead of page faults around 12:00.
    If every thread's working set is huge or physical RAM is small, then only switching threads will cause more page faults. Both of these are not a concern in typical micro services.

  • @justinhj1
    @justinhj1 7 місяців тому

    Another banger, thanks man

  • @mattygrows7667
    @mattygrows7667 2 роки тому +2

    this was a good talk

  • @EricKolotyluk
    @EricKolotyluk 8 місяців тому +2

    I would love to see this presentation revamped in light of Java 21 Virtual Threads, Structured Concurrency, and Scoped Values...

    • @MrDejvidkit
      @MrDejvidkit 3 місяці тому

      This talk is already talking about this.

    • @MrDejvidkit
      @MrDejvidkit 3 місяці тому

      And it talks about it. The runtime system of effects system has more features that loom is offering. I also see loom as not bringing values to Effect System usage. The loom can be exploited in the runtime implementation of the effect system.

    • @ulutiu
      @ulutiu 2 місяці тому

      @@MrDejvidkit too bad cala is DOA

  • @nayak232
    @nayak232 2 роки тому +1

    The concept of closing a resource reminds me of a destructor.

  • @parthikpatel6108
    @parthikpatel6108 2 роки тому

    At 9:59, Daniel says there are 2 physical threads and 5 threads in application space. I thought in Java/Scala, Thread refers to the actual operating system level thread? What is the difference here?

    • @marcinkossakowski4737
      @marcinkossakowski4737 2 роки тому +5

      I believe this exemplifies a CPU with 2 cores that is able to only handle 2 system threads at any given time. If there are more than 2 system threads created (5 in this scenario), CPU will be switching between them.

    • @MrDejvidkit
      @MrDejvidkit 3 місяці тому

      And switching between system level threads on 2 physical CPUs will cause cache misses if workloads of async operations (future) are processed with different threads on different physical CPU. You don't have control over this on Future based codebase. You can manipulate the execution context but that is about it.