[{"data":1,"prerenderedAt":393},["ShallowReactive",2],{"project-41767644":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":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":43,"post_text":45,"what":46,"said":65,"maker_in_thread":155,"shape":164,"grid":169,"attempts":357,"same_week":358,"maker_shows":257,"maker_hidden":385,"reader_version":386,"card":387},"41767644","Wasmer clang in browser","Compiling C in the browser using WebAssembly","title","Show HN: Compiling C in the browser using WebAssembly","https:\u002F\u002Fwasmer.io\u002Fposts\u002Fclang-in-browser","wasmer.io","syrusakbary",1728318272,2024,174,71,463,3515,14,"notable","languages","c compiler","web_app",[24,25,21,26],"clang","webassembly","browser","curious",-0.182,{"positive":30,"neutral":31,"mixed":32,"critical":33},2,18,1,8,29,{"performance":36,"execution":39,"idea":41,"docs":42},{"positive":37,"critical":38},0,4,{"positive":30,"critical":40},3,{"positive":37,"critical":32},{"positive":37,"critical":37},[40,37,40,32,37,37,40,37,40,37,32,32,40,37,32,40,37,32,44,37,40,40,37,40,40,32,37,32,37,37,40,37,40,37,37,37,32,44,37,37],5,null,{"problem":45,"audience":45,"pricing":45,"motivation":45,"time_to_build":45,"stack":47,"openness":64,"stage":64,"team_size":64},[48,56,60],{"value":49,"source":50,"evidence":51},"WebAssembly","commenter",[52],{"id":53,"by":54,"text":55},"41770048","kylewlacy","Very cool! I've been watching the \"toolchains in Wasm\" landscape for a while, and seeing a Clang\u002FLLVM toolchain running in Wasm is awesome! YoWASP has also had an LLVM toolchain…",{"value":57,"source":50,"evidence":58},"Clang\u002FLLVM",[59],{"id":53,"by":54,"text":55},{"value":61,"source":50,"evidence":62},"WASIX",[63],{"id":53,"by":54,"text":55},"unknown",{"praise":66,"objections":75,"requests":102,"questions":117,"alternatives":129},[67],{"value":68,"source":50,"evidence":69},"Impressive that Clang runs in WebAssembly",[70,71],{"id":53,"by":54,"text":55},{"id":72,"by":73,"text":74},"41772805","ancientstraits","A few weeks ago, I tried to compile Clang to WebAssembly, but got several different errors, and tried fixing a lot of them, but some of them seemed kind of impossible to fix, so…",[76,91,98],{"value":77,"source":50,"evidence":78},"About 100MB download is too large",[79,83,87],{"id":80,"by":81,"text":82},"41769442","CyberDildonics","100MB on every page refresh just to compile C is a pretty bold direction to go in.",{"id":84,"by":85,"text":86},"41768284","Retr0id","> note: it requires a 100MB download Is this how big a clang toolchain usually is?",{"id":88,"by":89,"text":90},"41769817","adastra22","I don’t want my cache requirements ballooning by 100mb.",{"value":92,"source":50,"evidence":93},"Performance overhead not discussed",[94],{"id":95,"by":96,"text":97},"41769856","egnehots","It's pretty misleading not to mention the performance overhead. That's an obvious downside and quite easy to benchmark. Skipping any discussion of performance feels like sweeping…",{"value":99,"source":50,"evidence":100},"Runtime support limited to WASIX",[101],{"id":53,"by":54,"text":55},[103,113],{"value":104,"source":105,"evidence":106},"Smaller toolchain size","maker",[107,110],{"id":108,"by":11,"text":109},"41768848","The whole LLVM toolchain is a bit big. I think we can reduce much more the size. We actually researched on using tcc but unfortunately tcc doesn’t have a wasm backend (for…",{"id":111,"by":11,"text":112},"41768742","The Clang WASI SDK weights about 100Mb compressed. We optimized things a bit but still have a way to go (we are not yet compressing in the network). I believe we can serve…",{"value":114,"source":50,"evidence":115},"Wider WASIX runtime adoption",[116],{"id":53,"by":54,"text":55},[118],{"value":119,"source":50,"evidence":120},"What is the use case?",[121,125],{"id":122,"by":123,"text":124},"41770004","zh2408","What's the use case?",{"id":126,"by":127,"text":128},"41774120","dxroshan","I was also asking exactly the same question.",[130,137,144,151],{"value":131,"source":50,"evidence":132},"tcc",[133],{"id":134,"by":135,"text":136},"41768680","marmaduke","Couldn’t a tcc or similarly simple C compiler be used instead of a 100MB Clang? Where’s the C to wasm compiler hiding?",{"value":138,"source":50,"evidence":139},"WebVM",[140],{"id":141,"by":142,"text":143},"41771134","apignotti","GCC? That's easy! :-) What about a complete system? https:\u002F\u002Fwebvm.io Shameless plug: we are hosting a WebVM Hackathon next week (11-14 October) over Discord. For more…",{"value":145,"source":50,"evidence":146},"emception",[147],{"id":148,"by":149,"text":150},"41769435","legobmw99","See: emception https:\u002F\u002Fgithub.com\u002Fjprendes\u002Femception",{"value":152,"source":50,"evidence":153},"YoWASP LLVM",[154],{"id":53,"by":54,"text":55},{"comments":38,"answered":30,"key":156},[157,158,161],{"id":108,"text":109},{"id":159,"text":160},"41768969","Nice! I didn’t know the project. Thanks for sharing!",{"id":162,"text":163},"41784977","Nice, thanks for the benchmark Yuri!",{"commenters":165,"max_depth":166,"maker_replies":38,"first_comment_mins":167,"lifespan_hours":168},50,6,48,192,[170,172,176,177,181,182,186,190,193,196,198,202,205,208,210,214,217,220,222,224,227,228,230,231,234,236,239,242,243,245,248,249,253,255,259,261,264,267,268,272,274,276,279,283,286,289,292,294,298,300,301,304,307,310,312,314,317,318,321,323,327,330,333,335,339,341,344,346,349,351,354],[134,37,40,171,135,37],"project\u002Fneutral\u002Fperformance",[173,37,37,174,175,37],"41768828","commenter\u002Fneutral\u002Fnone","kachapopopow",[108,37,37,171,11,32],[178,37,40,179,180,37],"41768911","maker\u002Fneutral\u002Fnone","fuhsnn",[159,37,37,174,11,32],[183,37,37,184,185,37],"41775756","other\u002Fneutral\u002Fnone","mdhb",[187,37,32,188,189,37],"41769916","project\u002Fcritical\u002Fexecution","mananaysiempre",[191,37,37,174,192,37],"41770206","titzer",[194,37,37,184,195,37],"41770448","alexdovzhanyn",[197,37,37,174,189,37],"41770528",[199,37,40,200,201,37],"41772816","project\u002Fneutral\u002Fexecution","RossBencina",[203,37,37,184,204,37],"41773504","metadat",[206,37,37,184,207,37],"41774822","r1chardnl",[209,37,37,184,189,37],"41782827",[211,37,40,212,213,37],"41770931","project\u002Fneutral\u002Fidea","halb",[215,37,37,184,216,37],"41771188","gnulinux",[218,37,37,174,219,37],"41771749","stefanos82",[221,37,37,174,216,37],"41777556",[80,32,32,223,81,37],"project\u002Fcritical\u002Fperformance",[225,32,40,171,226,37],"41769480","jampekka",[88,32,32,223,89,37],[53,30,40,229,54,37],"project\u002Fmixed\u002Fexecution",[141,40,37,184,142,37],[232,40,37,184,233,37],"41774284","baudaux",[235,40,37,184,142,37],"41774374",[237,40,32,223,238,37],"41774438","jedisct1",[240,40,40,171,241,37],"41775345","yuri91",[162,40,37,174,11,32],[244,40,37,174,241,37],"41785092",[246,38,37,184,247,37],"41770416","westurner",[95,44,32,223,96,37],[250,44,37,251,252,37],"41769919","commenter\u002Fneutral\u002Fperformance","bilekas",[72,166,44,254,73,37],"project\u002Fpositive\u002Fexecution",[256,257,37,184,258,37],"41770708",7,"zengid",[260,257,37,184,258,37],"41770715",[262,33,40,212,263,37],"41768300","corysama",[265,33,40,212,266,37],"41768468","fwip",[148,33,40,212,149,37],[269,33,40,270,271,37],"41774077","project\u002Fneutral\u002Fdocs","nunobrito",[273,33,37,184,149,37],"41776477",[275,33,37,174,271,37],"41792361",[277,33,40,278,213,37],"41770204","project\u002Fneutral\u002Fnone",[280,281,37,184,282,37],"41775233",9,"mati365",[284,285,40,212,149,37],"41769482",10,[287,285,32,188,288,37],"41770272","Muromec",[290,285,40,200,291,37],"41770552","okwhateverdude",[293,285,37,174,288,37],"41777404",[295,296,32,188,297,37],"41774692",11,"pjmlp",[84,299,40,171,85,37],12,[111,299,37,171,11,32],[302,299,37,184,303,37],"41768901","01HNNWZ0MV43FF",[305,299,37,184,306,37],"41769559","kevin_thibedeau",[308,299,37,184,309,37],"41773072","msla",[311,299,37,184,303,37],"41850299",[122,313,40,212,123,37],13,[315,313,37,184,316,37],"41771684","baanist",[126,313,40,212,127,37],[319,18,37,184,320,37],"41773266","ttflee",[322,18,37,184,297,37],"41774705",[324,325,37,184,326,37],"41769612",15,"whytevuhuni",[328,325,37,184,329,37],"41769658","jauntywundrkind",[331,325,37,184,332,37],"41774156","spirodonfl",[334,325,37,184,329,37],"41775433",[336,325,32,337,338,37],"41769880","project\u002Fcritical\u002Fidea","dangerwill",[340,325,40,212,326,37],"41769972",[342,325,40,212,343,37],"41770811","Arshia001",[345,325,44,254,233,37],"41776056",[347,325,37,184,348,37],"41771032","d_philla",[350,325,37,184,233,37],"41772347",[352,353,37,184,252,37],"41769927",16,[355,353,37,184,356,37],"41775983","_ache_",[],[359,364,368,372,376,380],{"id":360,"name":361,"points":362,"category":363},"41742278","One",506,"dev_tools",{"id":365,"name":366,"points":367,"category":20},"41776878","Kotlin Money",427,{"id":369,"name":370,"points":371,"category":363},"41780297","Player.style",392,{"id":373,"name":374,"points":375,"category":363},"41740568","Chebyshev approximation calculator",278,{"id":377,"name":378,"points":379,"category":363},"41764635","ARIA DevTools",272,{"id":381,"name":382,"points":383,"category":384},"41743327","LiveKit Agents",266,"ai",false,"v2",{"id":388,"name":5,"line":6,"ai":385,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":389,"top":18,"kw":390,"maker":11,"domain":10,"tier":19,"attempts":37,"strip":391,"url":9,"mix":392,"praise":68,"objection":77,"sub":21},41767644,-0.18,[24,25,21,26],"3031003030113013015033033101003030001500",[30,31,32,33],1794036662520]