Maybe it’s time we invent JPUs (json processing units) to equalize the playing field.
The best I can do is an ML model running on an NPU that parses JSON in subtly wrong and impossible to debug ways
You need to make sure to remove excess whitespace from the JSON to speed up parsing. Have an AI read the JSON as plaintext and convert it to a handwriting-style image, then another one to use OCR to convert it back to text. Trailing whitespace will be removed.
Did you know? By indiscriminately removing every 3rd letter, you can ethically decrease input size by up to 33%!
Just make it a LJM (Large JSON Model) capable of predicting the next JSON token from the previous JSON tokens and you would have massive savings in file storagre and network traffic from not having to store and transmit full JSON documents all in exchange for an “acceptable” error rate.
Hardware accelerated JSON Markov chain operations when?
Latest Nvidia co-processor can perform 60 million curly brace instructions a second.
Someone just needs to make a GPU-accelerated JSON decoder
That is sometime the issue when your code editor is a disguised web browser 😅
Well, do you have dedicated JSON hardware?
Please no, don’t subsidize anything Java-Script. It will only make it less efficient.
And thus JsPU was born from Lemmy
NOOOOOOOO
Modern sites: This page requires a JsPU to run which is not present on this system. The website will run in reduced feature mode.
4 Js-core @ 2.00 GHz
Slap a liquid cooler and you’re cooking at a high speed 2.08 GHz
My thoughts on software in general over the past 20 years. So many programs inefficiently written and in 4th level languages just eats up any CPU/memory gain. (Less soap box and more of a curious what if to how fast things would be if we still wrote highly optimized programs)
Answer: there’d be far less software in the world, it would all be more archaic and less useful, and our phones and laptops would just sit at 2% utilization most of the time.
There’s an opportunity cost to everything, including fussing over whether that value can be stored as an int instead of a double to save 8 bits of space. High level languages let developers express their feature and business logic faster, with fewer bugs, and much lower ongoing maintenance costs.
@Randelung @seaQueue well, i have dedicated JavaScript hardware (https://developer.arm.com/documentation/dui0801/h/A64-Floating-point-Instructions/FJCVTZS)
Everybody gangsta still we invent hardware accelerated JSON parsing
https://ieeexplore.ieee.org/document/9912040 “Hardware Accelerator for JSON Parsing, Querying and Schema Validation” “we can parse and query JSON data at 106 Gbps”
Render the json as polygons?
It’s time someone wrote a JSON shader.
Ray TraSON
Rayson
Rockstar making GTA online be like: “Computer, here is a 512mb json file please download it from the server and then do nothing with it”
Reject MB, embrace MiB.
Reject MiB, call it “MB” like it originally was.
If you’re not aware, it was called MB because of JEDEC when IEC units weren’t invented. IEC units were introduced because they remove the double meaning of JEDEC units — decimal and binary. IEC units only carry the binary meaning, hence why they’re superior. If you convert 1000 kB to 1 MB then use MB, but in case of 1024 KiB to 1 MiB you should be using MiB. It’s all about getting the point across, and JEDEC units aren’t good at it.
I’m failing to understand why we would need decimal units at all. Whats the point of them? And why do the original units havr to change name to something as ridiculous as “Gibibyte” while the unnecessary decimal units get the binary’s old name?
You poor innocent soul… I can try to explain why decimal is even mentioned, but it would probably take a lot of time, and I’m not sure if I will be able to clarify things up.
I can at least say this: 2 TB HDD drive is indeed 2*10^12 B, but suddenly shindow$ in its File Explorer will show you that in fact the drive is only 1.82 TB. But WHY? Everyone asks, feeling scammed. Because HDD spec uses decimal units (SI; MB) and Window$ uses binary units (JEDEC; MB), i.e., 1.82 TiB (IEC; MiB). And macOS also uses JEDEC units, AFAIK.
More and more FOSS software uses IEC units and KDE Plasma is a good example: file manager, package manager etc. uses IEC units. Simply put, JEDEC added the binary meaning to decimal units, so at first MB (and now) only carried decimal meaning (until JEDEC shit out their standard). And the only reason why “gibibyte” is ridiculous, is because we all grew up with JEDEC interpretation of SI units. So it will take many generations for everyone to adapt xxbityte words into daily conversations. I’m (already) doing my part. It’s just the legacy that we have to deal with.
All international bodies (BIPM, NIST, EU) agree that the SI prefixes “refer strictly to powers of 10” and that the binary definitions “should not be used” for them.
https://en.wikipedia.org/wiki/Binary_prefix#IEC_1999_Standard
https://en.wikipedia.org/wiki/Binary_prefix#Other_standards_bodies_and_organizations
https://en.wikipedia.org/wiki/JEDEC_memory_standards#JEDEC_Standard_100B.01
Well, thank you for taking the time to write this detailed explanation!
Windows and MacOS use the abbriviation “MB” referring to the binary units, correct? How come that these big OS’s use another unit than these large international bodies recognize?
On a side note, I’ve always found it weird why HDDs or SSDs are/were sold with 128GB, 265GB, 512GB etc. when they are referring to decimal units.
Windows and MacOS use the abbriviation “MB” referring to the binary units, correct?
Yez. I’m only sure about the first one, but didn’t test myself whether the macOS is using power of 2 or 10 under the hood (of MB). You can open properties of something big and try converting raw number of bytes with
/1024^n
and/1000^n
and compare the end results.How come that these big OS’s use another unit than these large international bodies recognize?
Legacy, legacy everywhere (IMO). And of course they don’t want to confuse their precious users that don’t know any better. And this also would break some scripts that rely on that specific output. GNU C library also uses JEDEC units by default, hence flatpak and other software.
On a side note, I’ve always found it weird why HDDs or SSDs are/were sold with 128GB, 265GB, 512GB etc. when they are referring to decimal units.
It is weird for everyone, because we mainly only count with multiples of 2 when it comes to digital size of information. I didn’t investigate why they use power of 10, but I’ve seen that some other hardware also uses decimal units (I think at least in RAM, but JEDEC is used intentionally or not for CPU cache memory). I had a link where the RAM thingy is lightly addressed, but I couldn’t find it.
spoiler
P.S. it’s “OSes” and “macOS” BTW.
Maybe people would listen to you if you werent such a prick
Ok, show me what I did wrong and what should I do instead to not be a prick, please.
Dont start a comment with ‘you poor innocent soul’
You’ve got them confused, MiB is the one misusing metric
It isn’t misusing metric, it just simply isn’t metric at all.
Works fine in
vim
Except if it’s a single line file, only god can help you then. (Or running
prettier -w
on it before opening it or whatever.)cat file.json | jq
also worksRender Media works the best
rm file.json
C++ vs JavaScript
it’s more like gpu vs CPU
deleted by creator
yea we need multithreaded json parsers
CPU vs GPU tasks I suppose.
GPU, render my 4.2 MB json file!
I have the same problem with XML too. Notepad++ has a plugin that can format a 50MB XML file in a few seconds. But my current client won’t allow plugins installed. So I have to use VS Code, which chokes on anything bigger than what I could do myself manually if I was determined.
Time to train an LLM to format XML and hope for the best
Do we need a “don’t parse xml with LLM” copypasta?