[{"data":1,"prerenderedAt":259},["ShallowReactive",2],{"project-10887071":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":33,"aspects":34,"strip":38,"post_text":41,"what":42,"said":51,"maker_in_thread":150,"shape":153,"grid":158,"attempts":220,"same_week":221,"maker_shows":176,"maker_hidden":252,"reader_version":253,"card":254},"10887071","Libconcurrent","Coroutines in C","title","Show HN: Libconcurrent – Coroutines in C","https:\u002F\u002Fgithub.com\u002Fsharow\u002Flibconcurrent","github.com","mitghi",1452603058,2016,91,24,420,2264,19,"notable","languages","coroutine library","library",[24,25,26,27],"coroutines","fibers","concurrency","c library","curious",0,{"positive":31,"neutral":32,"mixed":29,"critical":31},1,9,11,{"docs":35,"idea":36,"performance":37},{"positive":31,"critical":31},{"positive":29,"critical":29},{"positive":29,"critical":29},[29,29,29,39,40,40,40,40,40,29,29,29,31,40,29,29,40,29,29,29,29,40,40,29],5,3,null,{"problem":41,"audience":41,"pricing":41,"motivation":41,"time_to_build":41,"stack":43,"openness":50,"stage":50,"team_size":50},[44],{"value":45,"source":46,"evidence":47},"C","maker",[48],{"id":49},"post","unknown",{"praise":52,"objections":61,"requests":69,"questions":81,"alternatives":117},[53],{"value":54,"source":55,"evidence":56},"Readme links to other coroutine projects are helpful","commenter",[57],{"id":58,"by":59,"text":60},"10887386","brudgers","The links to other projects with similar goals at the bottom of the Readme is brilliant. It helps developers solve their problems irrespective of whether this particular solution…",[62],{"value":63,"source":55,"evidence":64},"Readme does not explain how it differs from other coroutine libraries",[65],{"id":66,"by":67,"text":68},"10896037","evmar","It would be helpful if the README explained how this is different than the many other coroutine libraries.",[70,74],{"value":71,"source":55,"evidence":72},"Explain differences from other coroutine libraries in the README",[73],{"id":66,"by":67,"text":68},{"value":75,"source":55,"evidence":76},"Add the Tatham coroutines page to the list of related links",[77],{"id":78,"by":79,"text":80},"10895665","zanerino","It's missing this link, which I previously thought was \"the\" co-routine de-facto standard for C before seeing all those other links:…",[82,93,103],{"value":83,"source":55,"evidence":84},"How does it compare to libmill?",[85,89],{"id":86,"by":87,"text":88},"10896053","stepanhruda","How does this compare to http:\u002F\u002Flibmill.org?",{"id":90,"by":91,"text":92},"10896810","markpapadakis","libmill offers a channels(FIFO queues) abstraction. This is a fibers\u002Fcoroutines framework. They solve different problems. See go-lang channels for what libmill is providing.",{"value":94,"source":55,"evidence":95},"Are coroutines scheduled across multiple CPUs?",[96,100],{"id":97,"by":98,"text":99},"10896398","pantalaimon","Are the Coroutines scheduled across multiple CPUs?",{"id":101,"by":11,"text":102},"10896523","No, i suggest to check lthread.",{"value":104,"source":55,"evidence":105},"How does it compare to Apple's GCD?",[106,110,114],{"id":107,"by":108,"text":109},"10895624","delinka","How does this compare to Apple's GCD [1]? 1 - https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGrand_Central_Dispatch",{"id":111,"by":112,"text":113},"10895838","pmjordan","GCD is purely callback-based. It works neatly with Apple's \"blocks\" (inline capturing functions) extension to C, which make dealing with callbacks slightly nicer, but it's still…",{"id":115,"by":91,"text":116},"10896959","I ported GCD to Linux when it was made available\u002Fopen-sourced some many months ago. Effectively, GCD uses a bunch of (named) FIFO queues, protected by semaphores, and manages…",[118,122,129,133,139,146],{"value":119,"source":55,"evidence":120},"libmill",[121],{"id":86,"by":87,"text":88},{"value":123,"source":55,"evidence":124},"lthread",[125],{"id":126,"by":127,"text":128},"10896121","halayli","You might also want to look at lthread. It has some interesting functions like lthread_compute_begin()\u002Fend() to run expensive computations inside a coroutine. the compute methods…",{"value":130,"source":55,"evidence":131},"protothreads (Tatham coroutines)",[132],{"id":78,"by":79,"text":80},{"value":134,"source":55,"evidence":135},"libvenice",[136],{"id":137,"by":87,"text":138},"10899686","Oops, sry, I meant https:\u002F\u002Fgithub.com\u002FZewo\u002Flibvenice",{"value":140,"source":55,"evidence":141},"vireo",[142],{"id":143,"by":144,"text":145},"10895278","geofft","Cool! A co-TA and I ported the concurrency library in JOS, MIT's teaching operating system, to regular UNIX: https:\u002F\u002Fgithub.com\u002Fgeofft\u002Fvireo It uses the standard-ish library…",{"value":147,"source":55,"evidence":148},"Grand Central Dispatch",[149],{"id":107,"by":108,"text":109},{"comments":31,"answered":31,"key":151},[152],{"id":101,"text":102},{"commenters":154,"max_depth":155,"maker_replies":31,"first_comment_mins":156,"lifespan_hours":157},21,4,66,44,[159,163,167,171,173,175,178,179,181,182,186,187,191,193,195,197,198,202,205,207,210,213,216,219],[160,29,29,161,162,29],"10896857","commenter\u002Fneutral\u002Fnone","david-given",[164,29,29,165,166,29],"10897304","commenter\u002Fpositive\u002Fnone","fapjacks",[168,29,29,169,170,29],"10897689","other\u002Fneutral\u002Fnone","avdicius",[58,31,39,172,59,29],"project\u002Fpositive\u002Fdocs",[78,31,40,174,79,29],"project\u002Fneutral\u002Fdocs",[126,176,40,177,127,29],2,"project\u002Fneutral\u002Fnone",[86,40,40,177,87,29],[90,40,40,180,91,29],"project\u002Fneutral\u002Fidea",[137,40,40,177,87,29],[183,40,29,184,185,29],"10900186","commenter\u002Fneutral\u002Fdocs","rumcajz",[143,155,29,169,144,29],[188,155,29,189,190,29],"10895667","other\u002Fneutral\u002Fperformance","gpderetta",[66,39,31,192,67,29],"project\u002Fcritical\u002Fdocs",[107,194,40,180,108,29],6,[111,194,29,196,112,29],"other\u002Fneutral\u002Fidea",[115,194,29,196,91,29],[199,200,40,177,201,29],"10895436",7,"ghrifter",[203,200,29,169,204,29],"10895514","geocar",[206,200,29,169,201,29],"10895561",[208,200,29,169,209,29],"10895899","frik",[211,200,29,169,212,29],"10895683","niccaluim",[214,200,40,177,215,29],"10895519","fra",[97,217,40,218,98,29],8,"project\u002Fneutral\u002Fperformance",[101,217,29,218,11,31],[],[222,227,232,237,242,247],{"id":223,"name":224,"points":225,"category":226},"10872143","gradient.quasi.ink",448,"creative",{"id":228,"name":229,"points":230,"category":231},"10896901","awk-raycaster",350,"games",{"id":233,"name":234,"points":235,"category":236},"10890531","2Sli.de",244,"productivity",{"id":238,"name":239,"points":240,"category":241},"10869046","Charme",167,"consumer_social",{"id":243,"name":244,"points":245,"category":246},"10897121","Patchwork",122,"security_privacy",{"id":248,"name":249,"points":250,"category":251},"10858327","Penny",89,"finance_crypto",false,"v2",{"id":255,"name":5,"line":6,"ai":252,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":256,"maker":11,"domain":10,"tier":19,"attempts":29,"strip":257,"url":9,"mix":258,"praise":54,"objection":63,"sub":21},10887071,[24,25,26,27],"000533333000130030000330",[31,32,29,31],1794036539554]