Is JSON Blazingly Fast or...?

Поделиться
HTML-код
  • Опубликовано: 23 окт 2022
  • Is Json really that slow? Can the most popular interchange format really be that bad?
    Twitch
    Everything is built live on twitch
    Twitch : bit.ly/3xhFO3E
    Discord: discord.gg/ThePrimeagen
    Spotify DevHour: open.spotify.com/show/4MLaDrQ...
    Editor
    All my videos are edited by Flip. Give him a follow! / flipmediaprod He is also open to do more editing, so slide deeeeeeeeep into his dms.
    Join this channel to get access to perks:
    / @theprimeagen
    Links
    Linode: linode.com/prime
    / discord
    Twitch: / theprimeagen
    Insta: / theprimeagen
    Twitter: / theprimeagen
    VimRC & i3: github.com/ThePrimeagen/.dotf...
    Keyboard 15% off bit.ly/Prime360 USE CODE PRIME360
    #vim #programming #softwareengineering
  • НаукаНаука

Комментарии • 771

  • @ginowadakekalam
    @ginowadakekalam Год назад +1227

    JSON is like the python of language, slow but convenient to use

    • @ThePrimeagen
      @ThePrimeagen  Год назад +337

      I think this is the perfect description

    • @worstfellow
      @worstfellow Год назад +75

      We want to know more about JSON alternatives

    • @tattipodapatti
      @tattipodapatti Год назад +55

      @@worstfellow Yes, but definitely not XML

    • @nature-.
      @nature-. Год назад +44

      @@tattipodapatti yes even non programmers can understand JSON easily, government of india is using it in websites like income tax for the users to download as json

    • @guruji-.
      @guruji-. Год назад +27

      @@codyking9491 yes already we have too many javascript frameworks don’t want too many data formats 😅

  • @MrMw1979
    @MrMw1979 Год назад +452

    Great video. Thanks for introducing me to Deku.
    I think there is a lot of information left out here. I'm gonna outline my opinions below even if they don't matter:
    1. JSON is not for computers it's for humans. Trouble shooting binary requests isn't easy.
    2. GZIP compression can greatly reduce the bytes over the wire. JSON with lots of repeating keys can greatly benefit from gzip.
    3. A lot of the time the database is your actual bottleneck and serialization doesn't matter for performance. In fact, 1,600 requests per second is more than most companies/services will ever see.
    4. Having the document define the schema allows for flexible data. You can't just send arbitrary data with a binary protocol. This has pros/cons.
    For a public facing web service that only receives a couple thousand requests per second I would pick JSON over any other structured binary protocol almost every time. Yes there is a cost to simplicity but there is also a cost to complexity. Make it easy for internal (engineers) and external (users) to troubleshoot. Just use JSON unless you have identified that serialization is the bottleneck in your endpoint.... For most endpoints/services, I would wager serialization is not the bottleneck.

    • @vaisakhkm783
      @vaisakhkm783 Год назад +31

      things like scientific applications involving high density of data collected in small amount of time(rocket controls, explotions tests..), and things that are inherintly binary(vnc), JSON is not a good choice
      anything involving man, it's good to use JSON

    • @evasiveutopian
      @evasiveutopian Год назад +50

      to your 3rd point. It was even greater 1,600 requests per milliseconds ~ which would be 1,600,000 requests per second

    • @alkolaqi83
      @alkolaqi83 Год назад +2

      on point

    • @odnoletkov
      @odnoletkov Год назад +28

      Comments like this keep my hope in the humanity

    • @thekwoka4707
      @thekwoka4707 Год назад +3

      Why gzip when we can Brotli?

  • @CemKavuklu
    @CemKavuklu Год назад +572

    These videos are getting better and better both in quality and entertainment factor :)

    • @ThePrimeagen
      @ThePrimeagen  Год назад +85

      That's what I like to hear

    • @vaisakhkm783
      @vaisakhkm783 Год назад +4

      @@ThePrimeagen to bad you cannot 'hear' that...
      unless you made a speech to text app in RuSt... :)
      edit: text to speech

    • @oliverchalkley1187
      @oliverchalkley1187 Год назад +6

      @@vaisakhkm783 if he had then it would have been blazingly fast

  • @ThePrimeagen
    @ThePrimeagen  Год назад +12

    Hey, did you like the video? I really enjoy making this kind of content. That's fun. Do you think I should do something with promises? (MAKE A COMMENT, Do not respond, RUclips has the worst notifications)

  • @scottiedoesno
    @scottiedoesno Год назад +156

    BLAZINGLY SLOW. Thanks for another great technical video! I hadn't actually thought about it until now, but this explains perfectly why we use protobuf so much in embedded work

    • @ThePrimeagen
      @ThePrimeagen  Год назад +28

      Absolutely. By the way, I haven't responded to your discord message. I'm on a flight to meet my boss right now, and then I'll be able to update you

    • @scottiedoesno
      @scottiedoesno Год назад +7

      @@ThePrimeagen Thanks a ton. Have a safe flight and hope the meeting goes well

    • @skyamaz5913
      @skyamaz5913 Год назад +11

      @@ThePrimeagen you have a boss? thought ur the boss

    • @dickheadrecs
      @dickheadrecs Год назад +4

      blazingly slow is the new blazingly fast

    • @DaddyFrosty
      @DaddyFrosty Год назад +2

      @@dickheadrecs I just heard that sentence with Fireships voice thanks for making my day

  • @VanDelao
    @VanDelao Год назад +46

    It would be nice to see a video comparing sending JSON/XML/Apache Avro/Protobuf over the wire with Rust/Go/JS. Great video, as always;

    • @ebrelus7687
      @ebrelus7687 Год назад +1

      Absolutely must happen

    • @es68951
      @es68951 Год назад +5

      For sure. I am also curious why “deku” instead of using exactly Avro or Protobuf. This approach doesn’t seem to take into account forward/backward compatibility, unless I missed something?

  • @filipebraganca2558
    @filipebraganca2558 Год назад +40

    It kinda landed right at the best moment, as I'm trying to improve the performance of our microservices where are transferring millions of JSON messages and can see the real cost of JSON serialize/deserialization growing super fast. I was studying GRPC and just learned about this protobuf here, thanks again for sharing this kind of content!!!

    • @asdqwe4427
      @asdqwe4427 Год назад +5

      GRPC is wonderful. And reading the proto files is so much better than working with swagger

    • @Ether_Void
      @Ether_Void Год назад +7

      There is actually a successor to GRPC & Protobuf called Cap’n Proto.
      Afaik it's made by the same person but they are no longer working for Google. It's faster because Cap'n Protos RPC can "travel back in time" (send a rpc using the output of a another call before the call has even finished) and it does direct in-memory modification rather than adding extra encoding & decoding steps.
      You of course keep the benefit of having a separate protocol definition that can be used across multiple languages.

    • @ko-Daegu
      @ko-Daegu Год назад +4

      @@Ether_Void “before call is even finished” sounds cool but also scary this rings so many alarms in my head as a security analyst

  • @dealloc
    @dealloc Год назад +29

    Binary formats are difficult to maintain and scale at certain points, as ThePrimeagen notes, it's also not easy to version; you'll have to change your parser to read data correctly, or know where to take up unused space to give room for future improvements without breaking the protocol.
    But it's really good for real-time systems that need to deliver a lot of data in a small amount of time. For example game servers where feedback should be fast and responsive both on the client and across other clients with different network conditions at 60fps, while also dealing with other systems like rendering.

    • @ko-Daegu
      @ko-Daegu Год назад +1

      Protobuf then?

  • @alexgochenour8740
    @alexgochenour8740 Год назад +23

    I can't stop loving this content. JSON is something I use daily but never really think about. A deeper than usual deep dive, yet still accessible. Thank you my good man

  • @camillenovak8359
    @camillenovak8359 Год назад +1

    These types of videos are super valuable and I really appreciate the way you go into the technicalities and explain these topics. Loving the format!

  • @js-ny2ru
    @js-ny2ru Год назад +35

    Recently I was comparing Deno and Rust. What surprised me was how much simple JSON response weigh...

    • @ThePrimeagen
      @ThePrimeagen  Год назад +30

      People just don't realize how expensive simplicity is

    • @enclave2k1
      @enclave2k1 Год назад +2

      @@ThePrimeagen I'm a simple man; consequently, an expensive one as well.

    • @notsojharedtroll23
      @notsojharedtroll23 Год назад

      @@enclave2k1 xd

  • @Dayun123
    @Dayun123 Год назад +1

    Absolutely loving these performance deep dives! Keep ‘em comin!

  • @arkayv
    @arkayv Год назад +20

    I think JSONs fall into the same pitfalls as document storage DBs. They are so easy to understand and implement, yet so goddamn hard to let go off even after you learn about better and BLAZINGLY FAST-er alternatives (like good ol' postgres or protobufs in this case). This requires a change in mentality more than anything. I suppose old habits die hard.

    • @ThePrimeagen
      @ThePrimeagen  Год назад +14

      Exactly. Simplicity is amazing. I cannot stress that enough. But it also costs a lot.

  • @MantasJurkuvenas
    @MantasJurkuvenas Год назад +30

    As an embedded C engineer i love efficient code. I think JavaScript is the evidence of the decline of our civilization.

    • @ThePrimeagen
      @ThePrimeagen  Год назад +6

      Facts

    • @andersoncunha7079
      @andersoncunha7079 Год назад +3

      looking at the comments: seems most people consume messages without checking what they are ingesting (some even say that is the safe way), never heard of network endianness, didn't realize a few bits in the beginning of the frame can specify version, size and any other desirable property, don't know what rpc is, think computers should communicate in human, and the list goes on... so I think you are right.

    • @virtuosisimo
      @virtuosisimo 4 месяца назад

      I'm with you man, I have an embedded arm Linux mature project I recently spend some time optimizing code that the GCC profiler marked as high usage.
      There is some json in the project, this video makes me want to rethink it, so the device runs more cool, other people don't this beneficial, but I don't see the benefit of heating the atmosphere

  • @localboxcrox
    @localboxcrox Год назад +1

    i love that akame wallpaper behind your transparent terminal with nvim open. nice touch.

  • @drborisyum9977
    @drborisyum9977 Год назад +2

    Love this form of content Prime! 👍 You make harder concepts (for me anyway) as digestible as possible! So invaluable.

  • @Omikronik
    @Omikronik Год назад +8

    I interned at an insurance company where the way they received new insurance data was through a single string that was about 5000 characters long and parsed it by slicing that string at intervals and it almost always caused issues with encoding because it used ascii encoding and all the responses were in utf-8 so it had a billion safeguards that would always break when someone entered a non ascii character.
    I'd say it doesnt get more blazingly fast than this but its written in the most cursed and blazingly slow C# code ive ever seen in my limited experience. Best part is they moved to c# from java like 7 years ago but just kept this system instead of rewriting it to use xml or "jizzle"

  • @kortes8914
    @kortes8914 Год назад

    Your production quality has gone up and the humor is on point. Today I decided to subscribe! I can officially say that I like this channel now :) great content my dude!

  • @headlights-go-up
    @headlights-go-up Год назад +10

    Really enjoyed this. It just seems like, for better or for worse, the ease and convenience of JSON trumps everything else.

  • @BlueeyesChineseguy
    @BlueeyesChineseguy Год назад +21

    For the algo

  • @GeekMasher
    @GeekMasher Год назад +2

    Amazing video as always, please keep them up!

  • @thehibbi
    @thehibbi Год назад

    Very informative and comedic video, thanks :) Keep up the good work TheScienceagen

  • @paulgupta2454
    @paulgupta2454 11 месяцев назад

    been watching a lot of your videos, I feel like your newer 'hot take' videos on blogs are fine and all, but you're a good teacher and I'd like to see more of these more informative/objective vids from you because you're a pretty good teacher when you do this sort of content!

  • @calder-ty
    @calder-ty Год назад +2

    Love these style videos. Keep it up!

    • @ThePrimeagen
      @ThePrimeagen  Год назад +2

      Thank you. I feel like it's a fun break from the VIM content

  • @muhamedkarajic
    @muhamedkarajic 5 месяцев назад

    Exactly what I was looking for. Thank you!

  • @laupetre
    @laupetre Год назад

    I really enjoy these comparison videos, especially with your humor.

  • @nikensss
    @nikensss Год назад

    Loved it, thanks for this type of videos

  • @vedrankaracic265
    @vedrankaracic265 Год назад +1

    Love these videos! Keep 'em coming!

  • @sunnyheheheh9401
    @sunnyheheheh9401 Год назад

    Your jokes in this type of developer/programming videos is funny and unique and I would love to see more of em keep up the good work.

  • @diegolikescode
    @diegolikescode Год назад +166

    Prime, these videos make us all better programmers. Thank you so much, I have been so much healthier programming and having fun doing it just because of your content, and that makes me a much better programmer

  • @mariumbegum7325
    @mariumbegum7325 Год назад

    Great video, some interesting points mentioned here. Looking forward to seeing more

  • @moodynoob
    @moodynoob Год назад +1

    Loving this series! This is great content covering topics that aren't too easy to find, most of YT is for junior devs.

  • @wety789
    @wety789 Год назад

    I love this style of video! The live stuff is neat as well but I find these are much easier to focus on

  • @zeachco
    @zeachco Год назад

    I just love your content, it's smart, useful, in dept and quite entertaining!

  • @playea123
    @playea123 Год назад

    This is awesome! More of these deep dives please!!

  • @christophergruendell8089
    @christophergruendell8089 6 месяцев назад

    The lab coat and theme when you went all sciency gave me serious Garand Thumb vibes. I love it. You guys even kind of look like each other.

  • @asdqwe4427
    @asdqwe4427 Год назад +31

    Very cool video 😎
    Would be interesting to see jsons position challenged. I wonder how gRPC would compare, as I have never used it in the browser. But, before we hate on JSON, let’s remember that it freed us from XML

    • @TesterAnimal1
      @TesterAnimal1 Год назад

      It didn’t really.
      All these horrible front end “frameworks” go through linguistic and development hoops to preserve XML.
      UIs are defined in some bastard munged XML+JS format that can’t be merged.
      UIs can be described in JSON.
      But a bunch of HTML authors from 1994 still want to do

    • @ABaumstumpf
      @ABaumstumpf Год назад +2

      Yeah, it "freed" us from a more structured approach that also supports comments and validation....

    • @lydianlights
      @lydianlights Год назад

      @@ABaumstumpf you dont need to send comments over API requests, lol. XML is fine for a lot of cases if you like it, but it makes no sense to use it for network traffic.

    • @ABaumstumpf
      @ABaumstumpf Год назад

      @@lydianlights "you dont need to send comments over API requests"
      Who said anything about API request??
      "but it makes no sense to use it for network traffic."
      Then that applies exactly the same to Json.

    • @lydianlights
      @lydianlights Год назад

      @@ABaumstumpf ...the whole video was about network traffic... ...thats what the original comment was about...

  • @victorvirgiliocalderonsoto8689

    I loved this video! Thank you Primeagen

  • @gayedemiray
    @gayedemiray 8 месяцев назад

    insanely high quality video. thank you for all the information!

  • @HYPERLOG
    @HYPERLOG Год назад +1

    0:08 made me laugh way too hard, thank you Mr. Prime

  • @0e0
    @0e0 3 месяца назад

    I really love this sort of content from you

  • @Guilherme-qk9so
    @Guilherme-qk9so Год назад

    your technical videos are so good!

  • @aus10d
    @aus10d Год назад

    this was really beneficial and interesting. thanks for posting it. i learned a lot

  • @alexandrosvangelatos9979
    @alexandrosvangelatos9979 Год назад +1

    Love your videos dude!
    What's with the dancing squirrel 💃🐿️?
    🤣🤣🤣
    Good one!

  • @stryhx
    @stryhx Год назад +1

    damn! that sub request was really well placed and timed! nice one!

  • @7xr1e20ln8
    @7xr1e20ln8 Год назад

    Dude this guy is on another level. Love your videos.

  • @MrBaudin
    @MrBaudin Год назад

    Great video, please do more subjects in depth. These nuggets of knowledge help us all! Thank you.

  • @WilliamCulver
    @WilliamCulver Год назад

    I don't know how I got here guy, but I'm absolutely glad to be here - some slick vim keystrokes, nice editing and explanations. Keep it coming good sir.

  • @AlphaWatt
    @AlphaWatt Год назад

    Love this kinda content Prime

  • @suic86
    @suic86 Год назад

    This was great. I can't wait for more videos like this.

  • @waylag9144
    @waylag9144 Год назад +1

    I'm loving the new editing style. not too much but just the right amount of sass

  • @drilkus1312
    @drilkus1312 Год назад +1

    Crazy timing. My frontend team at work is frequently wondering why we're not doing JSON payload, so i can send this! Super informative, thanks!

    • @ThePrimeagen
      @ThePrimeagen  Год назад

      hah! well if your backend is dictating it, they are smert

  • @mdfalexis
    @mdfalexis Год назад +1

    This is an algorithmic message to let you know that this type of content is really really appreciated !

  • @erikuusitalo
    @erikuusitalo Год назад

    Awesome stuff. Keep making videos like these.

  • @TownspersonB
    @TownspersonB Год назад

    This was very interesting and something I hadn't really given second thought to when I'd use JSON

  • @pemedeiros
    @pemedeiros Год назад +1

    For more information on that topic I recommend chapter 4 of Designing Data-Intensive Applications. Really good video :D

  • @lastink444
    @lastink444 Год назад

    MY GOD, this was so satisfying to watch and listen to

  • @ahmedeatsplanets
    @ahmedeatsplanets Год назад

    This is one of the best videos on programming I've ever seen. I feel enlightened and empowered

  • @adam8685
    @adam8685 Год назад

    Love this type of video, I wasn't aware of Deku before watching. I'd be keen to see a breakdown of Protobuf vs Deku
    We used Twitch's Twirp framework for Golang at a previous company I worked at for exactly this reason

  • @Sakrosankt-Bierstube
    @Sakrosankt-Bierstube Год назад +2

    The deserialization from json from the requests and the database to serialization to the response are actually in the top 5 of our bottlenecks in the company i work in. 40ms of a 100ms request are just for de-/serialization from/to json.

    • @ThePrimeagen
      @ThePrimeagen  Год назад +1

      That is incredible. And if you're using a garbage collected language, don't forget the effects of garbage collection.

    • @Sakrosankt-Bierstube
      @Sakrosankt-Bierstube Год назад

      @@ThePrimeagen Well, we use Java so... yeah.. xD

  • @JanKammerath
    @JanKammerath Год назад +1

    Anyone else currently looking at a JSON parser and your head constantly screaming "Jéson!"?

  • @reegnz
    @reegnz Год назад +7

    What about gzip, brotli, etc? I don't worry too much about json size overhead as long as the client supports compression (especially brotli).

    • @nrwchd
      @nrwchd Год назад

      i think you fall a sleep during the video
      parsing json is slow

  • @robinbauhn8685
    @robinbauhn8685 Год назад +5

    Would be interesting to see comparison between deku and MsgPack since it sits somewhere in between binary and json

  • @sammysheep
    @sammysheep Год назад

    Excellent work, Dr. Prime!

  • @digicyc
    @digicyc Год назад +1

    I absolutely vote for more videos like this, but maybe some more involvement in the creation of the code. Loving it! SO much JSML o_O

  • @yxtqwf
    @yxtqwf Год назад +2

    I think another benefit of JSON (though it may not be as relevant in this example as in, say, a web application) over any binary format is that it is immediately readable to any user. I can't count the number of scripts or alternative clients I've been able to write just by inspecting the JSON data a website sends. A universal, plain-text format like JSON frees the potential of how software is used from just the developer and places some choice in the hands of the user as well.
    Another thing, I've found that I really like the TSV (tab-separated values) format for storing any tabular data. It's so simple, effortless to parse, and much more compact compared to JSON or even CSV (the schema is usually just the first line, or can even be omitted). I'm not sure how it would work as a data transfer format, and though I don't see it commonly used, I doubt there would be any significant problems.

  • @adrianospiotos364
    @adrianospiotos364 Год назад

    More deep dives! These are excellent 🚀

  • @guidoambrosino693
    @guidoambrosino693 Год назад

    I really liked the video. Keep it up Prime

  • @st-jn2gk
    @st-jn2gk Год назад

    W video, more more more. Too many videos out there aimed at beginners, very few aimed at intermediates (other than theo and fireship). Love the content. Love the streams. Good job dad.

  • @echobucket
    @echobucket Год назад +4

    As someone who tried writing this kind of stuff back before JSON and even before XML, the reason we went with this stuff was for debugging purposes. At the time it was so nice to just watch the stuff on the wire, and be able to have it be human readable. However, I would argue this was mostly because there was not a de-facto binary protocol well understood by common tooling. I think it's entirely possible for us to have a nice binary encoding that our tooling (things like wireshark, Charles proxy, Chrome dev tools) could read and understand without it being fat and bloated like JSON.

    • @user-px4pk2wd4s
      @user-px4pk2wd4s Год назад

      This

    • @billeterk
      @billeterk Год назад

      Insert obligatory xkcd standards cartoon here ;-)

    • @phoenix-tt
      @phoenix-tt Год назад

      I guess it would be really beneficial for the adoption of protobufs as well, if you could just upload a .proto to devtools and see all the underlying data

  • @bharathgajjala3437
    @bharathgajjala3437 Год назад

    Love these kinda videos

  • @anthonyh618
    @anthonyh618 Год назад

    Really loving this, Prime.

  • @blackfrog1534
    @blackfrog1534 Год назад

    yah yahh, prime is on a roll!
    This is the best tech content on the internet if you ask me. Would be delighted if you pumped up even more of these.
    Plus the streams were you write the code for these experiments are so much fun :)

  • @camenraidercc6625
    @camenraidercc6625 Год назад

    Hi Man! So it's been a couple of weeks since you started to appear in my recomendations, for some reason RUclips is suggesting me all your VIM videos, now i don't give a damn about VIM and i didn't found the thumbnail any interesting so i decided to ignore it, but today it suggested me this one....so i watched it.....and now i've watched almost all of your videos :D
    This is very good and entertaining content, keep up the good work ( i'm still not gonna watch the VIM videos btw )

  • @tobiasweyer5063
    @tobiasweyer5063 Год назад

    This kind of videos are just pure gold and a lot of educational content is in. Thanks for the education and entertainment at the same time. :)

  • @MohitDodhia
    @MohitDodhia Год назад

    had to pause at the intro just to mention how smooth that subscriber plug was. ggwp
    edit: what a great video

  • @YatesyTea
    @YatesyTea Год назад +3

    Thank you for this one, was really informative to me.
    Can't believe I wasn't taught this in University 😂

  • @TheyCallMeIce
    @TheyCallMeIce Год назад +2

    Deku looks interesting, but it also looks like it was made for transferring objects of a known structure, and mainly size. Like, what if an object contains an array of an unknown size? Or even simpler, how do you transfer strings?

  • @SzTz100
    @SzTz100 Год назад

    This was a great video, thank you.

  • @ximon-x
    @ximon-x Год назад

    I love this man's videos SOOOOOO much. 😅

  • @nanthony007
    @nanthony007 Год назад +3

    Great stuff! I’m curious about differences with a simpler encoder like message pack which the Serde docs say is similar to json but binary encoded…

    • @teej_dv
      @teej_dv Год назад +1

      message pack is what nvim uses :)

  • @HaydonRyan
    @HaydonRyan Год назад

    This was great - we need more people to think about how efficient programs that run at scale are, as well as how efficient the data we send through the net. There is this horrible trend of as chips and network transmission gets faster to just send things using the least efficient method. I totally agree with your point though on being able to inspect the payload is helpful for debugging what's going on though.

  • @mosslightstudio
    @mosslightstudio Год назад

    love it when the scienceagen comes in to do some blazingly fast research for us all

  • @fabianschwarzfritz
    @fabianschwarzfritz Год назад +2

    I like this format! Could be even a bit deeper / more technical and longer :). Anyway, super cool format!

  • @ethanwilkes4678
    @ethanwilkes4678 Год назад

    This one was a BANGER. Nice job prime

  • @vishvish8549
    @vishvish8549 7 месяцев назад

    This is fantastic. Would you be able to share the testing setup you had to compare JSON and DEKU?

  • @adelarsq
    @adelarsq Год назад

    I don't even work with Rust and NodeJS, but it's pretty fun your videos. Keep going!

  • @KroshkaMu
    @KroshkaMu Год назад +1

    I want an update of this video, this time featuring JDSL and Tom the genuous

  • @aryklein
    @aryklein Год назад

    Awesome video. Keep doing that!

  • @franswaweingartz2162
    @franswaweingartz2162 11 месяцев назад

    Thank you this was very usefull :)

  • @amrsaber5457
    @amrsaber5457 Год назад

    I really love those performance test videos

  • @itjustworks4824
    @itjustworks4824 Год назад

    Keep them coming !!!
    Lets make blazingly synonym for ThePrimeagen

  • @changuchito69
    @changuchito69 Год назад

    love this content, love the sciencegen

  • @u9vata
    @u9vata Год назад

    Binary protocols often do some kind of chunked data structure that supports versioning the protocol nicely. I mean only as nicely as json can do in that things that are new and not supported in your version are just ignored, offsets are not hardcoded, etc. yet size is smaller, but some very little parsing is needed though...

  • @seyofori
    @seyofori Год назад

    Loved this!😂

  • @ChaboOtt
    @ChaboOtt Год назад

    Amazing video, love how you pronounce JSON

  • @aaronm6675
    @aaronm6675 Год назад +1

    Love the DEEP DIVE 🔥🔥🔥🔥🔥

  • @blarghblargh
    @blarghblargh Год назад

    There's a Handmade Seattle talk from 2021 called "context is everything" that shows you can get huge speedups if you can tighten your schema, and if you have full control over your tools that do the parsing (down to using native code).
    JSON imposes a tax in comparison to raw bytes, but you can still get big gains if you can tighten down your schema.
    Thinking JSON/not JSON in black and white will cost you orders of magnitude. You should consider if you actually need the flexibility of wide-open generic constrains on either the parsing or the generation side.

  • @theuidawg3274
    @theuidawg3274 Год назад +2

    Great video. Does the verbosity of JSON affect the file size of requests once they are gzipped?

    • @that_tabby
      @that_tabby Год назад +1

      Yes, gzip just compresses it to hell but it still need to compress the keys and syntactic stuff like quotes, colons, etc.

  • @pauloffborba
    @pauloffborba Год назад

    Yeah, the technical videos are great! ❤️