Quasar / Pulsar

Languages and libraries

concurrency library for the jvm

SHOW HN2013

116points
54comments
#191of 1,739 in 2013
Top 11%of 2013 by points

How HN took it

CuriousMostly questions and neutral comments

4 positive, 18 neutral or asking, 0 mixed, 6 critical, out of 28 comments about the project. Thread score -0.01.

Idea: 1 for, 3 againstExecution: 0 for, 2 againstPerformance: 1 for, 0 againstDesign: 0 for, 1 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Lightweight threads are a clear improvement over OS threads for memory and switching

    From 2 comments
    • Good question. In general the non-preemptive green-thread/fiber/lightweight-thread is a pretty well understood notion. Some OS support it, e.g. Windows supports manually…
      ww520 on HN
    • In general, higher levels have more knowledge of the specific problem domain, and can therefore make more assumptions, while the kernel has to cater to all needs. In this…
      pron on HN
  • Erlang-style selective receive is a useful feature

    From 1 comment
    • Selective Receive sounds great. Any idea how to handle messages that continue to pile up behind your actor when they're never handled? Do they get culled somehow after a period…
      shinolajla1234 on HN

Objections

  • Cannot isolate GC pauses per actor like Erlang on HotSpot

    From 1 comment
    • Jetlang doesn't offer lightweight-threads. It uses an event-driven processing of messages (like Akka), so fibers can't block and you can't do selective receives. The JVM's GC…
      pron on HN
  • Cooperative threads are not true preemptive scheduling

    From 1 comment
    • This starts turning into a semantics problem. GHC is a compiler that modifies the code it has compiled to add "synchronization points" that are used under a cooperative threading…
      saurik on HN
  • Unbounded mailboxes and lack of supervision are risks

    From 2 comments
    • Selective Receive sounds great. Any idea how to handle messages that continue to pile up behind your actor when they're never handled? Do they get culled somehow after a period…
      shinolajla1234 on HN
    • If you're not replaying unhandled messages, you're not doing selective receive. To quote LYSEFGG, "Ignoring some messages to handle them later in the manner described above is…
      shinolajla1234 on HN

Requests

  • Documentation and Java code examples

    From 1 comment
    • Am i the only one who had to smile at the sentence "At Parallel Universe we develop complex data structures and distributed data grids, which require a lot of low-level…
      buster on HN
  • Distribution story and comparison to Akka

    From 1 comment
    • Looks cool, but what's the distribution story? I'm not sure I understand the comparisons to Akka without one.
      alexatkeplar on HN

Questions

  • Why are lightweight threads more efficient than OS threads

    From 1 comment
    • Ignorant newbie here, but would love to hear views on this: I always treat with great skepticism claims that you can implement an inherent operating system function (eg: threads)…
      zmmmmm on HN
  • How selective receive handles unhandled messages

    From 1 comment
    • Selective Receive sounds great. Any idea how to handle messages that continue to pile up behind your actor when they're never handled? Do they get culled somehow after a period…
      shinolajla1234 on HN

Alternatives named

  • Akka

    From 2 comments
    • Could you enumerate your specific perceived shortcomings of akka that you allude to in blog post?
      gtani on HN
    • If you're not replaying unhandled messages, you're not doing selective receive. To quote LYSEFGG, "Ignoring some messages to handle them later in the manner described above is…
      shinolajla1234 on HN
  • Kilim

    From 1 comment
    • ``` There have been several attempts of porting actors to the JVM. Quasar and Pulsar’s main contribution — from which many of their advantages stem — is true lightweight…
      rektide on HN
  • Jetlang

    From 1 comment
    • How does this compare with http://code.google.com/p/jetlang/ ? How does this work with garbage collection? Is the GC per-process ("fiber"), like in Erlang?
      oinksoft on HN
  • Erlang

    From 1 comment
    • http://stackoverflow.com/questions/2708033/technically-why-is-processes-in-erlang-more-efficient-than-os-threads No concrete benchmarks but everything I can find makes the same…
      stonemetal on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/5645787)