12 comments

  • audidude27 minutes ago
    I&#x27;ve been doing this with something very similar in GNOME for years now. It also does io_uring, threadpool schedulers, workstealing, &quot;pollable semaphores&quot; (like IRIX), profiler integration, and makes fibers implemented as futures themselves.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;GNOME&#x2F;libdex&#x2F;" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;GNOME&#x2F;libdex&#x2F;</a>
  • nasretdinov6 hours ago
    Looks really interesting. I assume this suggests that ClickHouse is going to gradually switch to using this library for network and I&#x2F;O, thus addressing the main weakness (in my mind) of C++ thread-per-connection servers, which is, they (surprisingly!) create too many threads and can&#x27;t really handle more than, say, a thousand active connections at the same time. It mostly matters for async INSERTs in this case of course, not for SELECTs, although generally it applies to both.
  • enduku4 hours ago
    The `Cilk` angle is interesting. There’s still room for small runtimes focused just on fork&#x2F;join recursion.<p>I’ve been working on one for C: <a href="https:&#x2F;&#x2F;github.com&#x2F;xtellect&#x2F;cactus" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;xtellect&#x2F;cactus</a><p>It’s narrower than Silk&#x2F;SeaStar: continuation stealing for CPU-bound recursive code, not a general async I&#x2F;O fiber runtime.
  • jeffreygoesto6 hours ago
    Is this comparable to Sea star [0]?<p>[0] <a href="https:&#x2F;&#x2F;github.com&#x2F;scylladb&#x2F;seastar" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;scylladb&#x2F;seastar</a>
    • nepthar1 hour ago
      I just took a look a both (thanks for the pointer to seastar! cool project). I&#x27;d say &quot;sort of but not exactly&quot;. It seems like two approaches to solving the same problem.<p>Silk seems like mostly a scheduler that uses C++&#x27;s native coroutines. Seastar is a future-based framework. Both contain a scheduler and enable async coding patterns.
  • bbkane2 hours ago
    Looks like its using MinIO for the S3 benchmark, which is now archived. I wonder what they&#x27;ll switch to (if anything)
  • feverzsj5 hours ago
    Seems not exception safe when task switching during unwind.
  • znnajdla2 hours ago
    those who don&#x27;t learn Erlang&#x2F;Elixir are bound to reinvent the Erlang VM and OTP model.
    • Imustaskforhelp1 hour ago
      Honestly, erlang was designed for telephone use cases and for high concurrency, erlang as an idea is fundamentally really awesome.<p>And elixir on top of erlang really makes the syntax easier to use. Gleam is interesting too!<p>Depending upon the amount of concurrency needed, erlang can be absolutely good for the situation.<p>The only gripe that I might have seen online with Elixir might be that it is functional language (and I think has its own way of doing things) and a lot of the times people start with other languages which can scale to only a certain point.<p>Either way, Erlang VM&#x2F;OTP model does feel really cool to me. Fun fact: but Erlang was a virtual machine before it was cool (Java)<p>I definitely wish to learn elixir someday (don&#x27;t quote me on that though :-D), just because of how unique Erlang&#x2F;Elixir are compared to many languages in such sense of scalability.<p>Although not a 1:1 Apples but I also wish to know more when golang is more fit as compared to elixir as currently, I usually prefer golang as a swiss knife with its decent stdlib,cross-compilation,portability features.
  • yvdriess5 hours ago
    Play on Cilk?
  • idlepig6 hours ago
    [flagged]
  • embirdating5 hours ago
    [dead]
  • fleahunter2 hours ago
    [flagged]
  • SeattleAntifa3 hours ago
    [dead]