[{"data":1,"prerenderedAt":266},["ShallowReactive",2],{"project-17313728":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":33,"aspects":34,"strip":40,"post_text":43,"what":44,"said":66,"maker_in_thread":160,"shape":165,"grid":168,"attempts":228,"same_week":229,"maker_shows":257,"maker_hidden":258,"reader_version":259,"card":260},"17313728","Quiver","GraphQL on Steroids","title","Show HN: Quiver – GraphQL on Steroids","https:\u002F\u002Fmedium.com\u002F@syrusakbary\u002Fquiver-graphql-on-steroids-13612ea1ea77","medium.com","syrusakbary",1528998915,2018,54,25,754,2155,35,"notable","languages","graphql server","library",[24,21,25,26],"graphql","query compilation","persisted queries","roasted",-0.304,{"positive":30,"neutral":30,"mixed":31,"critical":32},2,1,6,11,{"idea":35,"performance":36,"pricing":37,"execution":39},{"positive":31,"critical":30},{"positive":31,"critical":30},{"positive":38,"critical":31},0,{"positive":38,"critical":31},[41,38,38,38,42,41,31,38,38,38,31,38,38,41,42,38,31,38,31,38,31,31,38,38,38],3,5,null,{"problem":45,"audience":43,"pricing":55,"motivation":43,"time_to_build":43,"stack":63,"openness":64,"stage":65,"team_size":64},{"value":46,"source":47,"evidence":48},"GraphQL query execution overhead at runtime","inferred",[49,52],{"id":50,"by":11,"text":51},"17313974","Hi Nick, Quiver will compile the GraphQL query code to runtime code. Is a similar approach of what v8 does when executing JS (it compiles it to assembly code), or what modern…",{"id":53,"by":11,"text":54},"17314244","Companies like Facebook limit the documents that can be queried against their GraphQL API this way. There are some major benefits of this: - improving the speed of the HTTP…",{"value":56,"source":57,"evidence":58},"Mentioned at $200\u002Fmonth, unclear if it applies","commenter",[59],{"id":60,"by":61,"text":62},"17314163","Finnucane","And this is worth $200\u002Fmonth?",[],"unknown","launched",{"praise":67,"objections":82,"requests":108,"questions":125,"alternatives":141},[68,75],{"value":69,"source":57,"evidence":70},"Useful for internal GraphQL APIs",[71],{"id":72,"by":73,"text":74},"17314340","ianstormtaylor","Quiver looks interesting, congrats on launching! It seems like it will be very useful for internal GraphQL APIs. It does bring up something that I think the GraphQL community…",{"value":76,"source":57,"evidence":77},"Saves servers if it speeds up traffic handling",[78],{"id":79,"by":80,"text":81},"17314425","CGamesPlay","If it allows you to run 5 fewer servers to handle your traffic, then very probably, yes.",[83,94,104],{"value":84,"source":57,"evidence":85},"Only allows pre-defined queries, limiting public APIs",[86,87,91],{"id":72,"by":73,"text":74},{"id":88,"by":89,"text":90},"17314192","hn_throwaway_99","Your second bullet point, \"Only allow certain queries from a document store\", seems to be a major, major limitation, and directly contrary to one of the principal design goals of…",{"id":92,"by":73,"text":93},"17314552","Thanks for the response! I agree, having queries live in the client is a great goal for DX on the frontend. The ideal being to have them co-located right with the components that…",{"value":95,"source":57,"evidence":96},"Benchmarks don't reflect real production bottlenecks, which are databases and external services",[97,101],{"id":98,"by":99,"text":100},"17314408","djmashko2","Open source lead at Apollo here. Syrus is correct that it will have about the same performance as Node in these particular benchmarks. We are working on performance improvements…",{"id":102,"by":73,"text":103},"17314483","+1 to this. These kinds of benchmarks of the actual execution of a server are almost never useful for actual production loads—it's always going to be the database or external…",{"value":105,"source":57,"evidence":106},"Persisted queries hurt co-location and optimization flexibility",[107],{"id":92,"by":73,"text":93},[109,115],{"value":110,"source":57,"evidence":111},"Add a cache middleware that registers dynamic queries automatically",[112],{"id":113,"by":80,"text":114},"17314411","I think it would be fine to implement a cache middleware that transparently registered new queries and assigned them an ID. I wonder if this is on the roadmap for v2.",{"value":116,"source":57,"evidence":117},"Add Apollo Server to benchmarks",[118,122],{"id":119,"by":120,"text":121},"17314223","angryasian","why wasn't apollo server included in the benchmarks ?",{"id":123,"by":11,"text":124},"17314358","Apollo-Server and Express-GraphQL are using the same GraphQL engine under the hood (the default GraphQL-js engine), so the difference from the currently benchmarked Node server…",[126,133,137],{"value":127,"source":57,"evidence":128},"Is it just caching?",[129],{"id":130,"by":131,"text":132},"17313900","biznickman","Sooo Quiver is just caching?",{"value":134,"source":57,"evidence":135},"Is it worth $200\u002Fmonth?",[136],{"id":60,"by":61,"text":62},{"value":138,"source":57,"evidence":139},"Why not include Apollo Server in benchmarks?",[140],{"id":119,"by":120,"text":121},[142,149,153],{"value":143,"source":57,"evidence":144},"Juniper (Rust GraphQL library)",[145],{"id":146,"by":147,"text":148},"17314478","KenanSulayman","Juniper - GraphQL library (+ Server if you want it to) written in Rust: https:\u002F\u002Fgithub.com\u002Fgraphql-rust\u002Fjuniper We’re using Juniper in production as a central API for other…",{"value":150,"source":57,"evidence":151},"Apollo Server",[152],{"id":98,"by":99,"text":100},{"value":154,"source":57,"evidence":155},"Relay Modern",[156],{"id":157,"by":158,"text":159},"17315569","underwater","Relay Modern allows co-located queries with components. I don’t understand your concerns about performance or security. GraphQL should only expose the fields you can fetch in a…",{"comments":41,"answered":30,"key":161},[162,163,164],{"id":53,"text":54},{"id":50,"text":51},{"id":123,"text":124},{"commenters":166,"max_depth":42,"maker_replies":41,"first_comment_mins":166,"lifespan_hours":167},15,12,[169,171,174,176,178,180,184,188,191,193,196,198,200,202,204,208,212,214,215,217,219,223,224,226,227],[72,38,41,170,73,38],"project\u002Fmixed\u002Fidea",[172,38,38,173,99,38],"17314379","commenter\u002Fneutral\u002Fidea",[92,38,38,175,73,38],"commenter\u002Fcritical\u002Fidea",[157,38,38,177,158,38],"commenter\u002Fcritical\u002Fperformance",[146,31,42,179,147,38],"project\u002Fpositive\u002Fperformance",[181,31,41,182,183,38],"17314682","project\u002Fneutral\u002Fperformance","hrpnk",[185,31,31,186,187,38],"17315009","project\u002Fcritical\u002Fperformance","e12e",[189,31,38,190,147,38],"17315279","commenter\u002Fneutral\u002Fperformance",[192,31,38,190,187,38],"17315638",[194,31,38,195,147,38],"17315792","commenter\u002Fneutral\u002Fnone",[88,30,31,197,89,38],"project\u002Fcritical\u002Fidea",[53,30,38,199,11,31],"maker\u002Fpositive\u002Fidea",[201,30,38,175,158,38],"17315608",[113,30,41,203,80,38],"project\u002Fneutral\u002Fidea",[205,30,42,206,207,38],"17315461","project\u002Fpositive\u002Fidea","strken",[209,41,38,210,211,38],"17317840","other\u002Fneutral\u002Fnone","oceanghost",[130,213,31,197,131,38],4,[50,213,38,203,11,31],[60,213,31,216,61,38],"project\u002Fcritical\u002Fpricing",[79,213,38,218,80,38],"commenter\u002Fpositive\u002Fpricing",[220,42,31,221,222,38],"17314893","project\u002Fcritical\u002Fexecution","city41",[119,32,31,186,120,38],[123,32,38,225,11,31],"maker\u002Fneutral\u002Fperformance",[98,32,38,190,99,38],[102,32,38,190,73,38],[],[230,235,240,245,249,253],{"id":231,"name":232,"points":233,"category":234},"17344419","Open Logos",680,"creative",{"id":236,"name":237,"points":238,"category":239},"17346616","Posthook",162,"infrastructure",{"id":241,"name":242,"points":243,"category":244},"17310483","World Cup API",141,"data",{"id":246,"name":247,"points":248,"category":234},"17355328","MRuby-Zest",78,{"id":250,"name":251,"points":252,"category":20},"17333044","rust-simd-noise",73,{"id":254,"name":255,"points":256,"category":20},"17312562","Hamdown",64,7,false,"v2",{"id":261,"name":5,"line":6,"ai":258,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":262,"top":18,"kw":263,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":264,"url":9,"mix":265,"praise":69,"objection":84,"sub":21},17313728,-0.3,[24,21,25,26],"3000531000100350101011000",[30,30,31,32],1794036566955]