this post was submitted on 02 Jun 2024
487 points (97.7% liked)

Technology

59207 readers
2513 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 

You can play it in your browser here.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 21 points 5 months ago (3 children)

I don't particularly care about code size as a user or as a programmer.

Hard drive space is the cheapest thing you've got on a computer.

You could always run gentoo and use -Os ... that can make things a lot smaller but also slower.

[–] [email protected] 24 points 5 months ago (3 children)

Hard drive space is the cheapest thing you’ve got on a computer.

I hate this "storage is cheap" mentality, it's a cop out for being wasteful without a reason. "Gas is cheap" was common up to the early 1970s, until it wasn't anymore. "Freshwater is cheap", until it isn't anymore.

[–] [email protected] 1 points 5 months ago

Resources are cheap and getting cheaper all the time.

Developers are expensive and getting more expensive all the time.

It's no wonder everything is a sprawling mess.

[–] [email protected] -2 points 5 months ago* (last edited 5 months ago) (3 children)

Are you willing to give up 1080p screens and 16-bit/44.1kHz sampled music? Or how about languages that can't be represented in ASCII, much less Latin-1? Because handling those take up way more space than code.

[–] [email protected] 14 points 5 months ago (1 children)

Let me quote myself:

I hate this “storage is cheap” mentality, it’s a cop out for being wasteful without a reason.

[–] [email protected] 4 points 5 months ago* (last edited 5 months ago) (1 children)

And there's almost always a reason. Code size tends to be modest compared to supporting data around it.

[–] [email protected] 10 points 5 months ago (1 children)

I see you've never dealt with a real life project that requires god knows how many different libraries off nodejs because 🤷‍♂️

Dependency hell takes a lot of space.

[–] [email protected] 6 points 5 months ago* (last edited 5 months ago) (1 children)

I have. Still small compared to the images and such that are used in a user facing application.

Edit: just to bring in real numbers, I have an old TypeScript project that results in a 109M node_modules dir. Which I agree is absurd. I also have an old anime video, 21 minutes long, at only 560x432 resolution, 24fps, which takes 171M. And that's my point: even in really bad cases, code size tends to be swamped out by everything else in user-facing applications. If there's any kind of images, music, or video, the code size will be a small part of the complete picture.

[–] [email protected] 3 points 5 months ago

As a point of comparison, in the last place I worked, the main project had over 600MB of javascript dependencies it pulled from node. Plus 300MB of python libraries for Django and whatever else.

At my current job, preparing your environment for development of one "isolated" php system will need at least 3GB of dependencies. Even the main programmer behind it has no clue how it happened or why.

[–] [email protected] 9 points 5 months ago (1 children)

I'd rather have the audio compressed and decompress in realtime instead of a game taking 100Gb in size. Or maybe give me the option to only download languages I can use.

[–] [email protected] 3 points 5 months ago

It's almost always compressed in some way. Still takes up a lot of space. You can fit a lot of compiled code in the space of a 1 minute, 128kbps mp3.

[–] [email protected] 6 points 5 months ago (2 children)

You present a false dichotomy. Yes, things like uncompressed audio and HD video take up more storage space, but that does not negate that modern commercial software is very inefficient with how it uses resources. You could improve the efficiency of the system while keeping HD video, it is not a mutually exclusive choice.

For example, booting up Windows and doing nothing takes up 4gb of RAM, while doing the same with a lean Linux installation would take up a quarter of that, despite both operating systems having identical functionality (run web browser, open applications, edit documents, play games, etc).

[–] [email protected] 3 points 5 months ago (1 children)

Does Windows booting take up that much space because of code, or because of data that code is loading?

[–] [email protected] 3 points 5 months ago (1 children)

4GB is what Windows idles at for me, after everything has loaded.

[–] [email protected] 2 points 5 months ago

How much of that is cached state based on the percentage of ram available?

[–] [email protected] 2 points 5 months ago (1 children)

Windows takes a percentage of your available RAM, you can boot it on 4GB RAM and it will use 1GB of so

[–] [email protected] 2 points 5 months ago

Sure, and there are some performance gains to be made from it I'm sure, but when my OS is doing that and my web browser is doing that and my browser based chat client and my browser based text editor are all doing that, it gets pretty sluggish.

This is why Linux is a godsend for older machines, even running the exact same applications (Firefox, Discord, and vscode) on the exact same hardware, it still feels more responsive on Linux because there is less overhead from the OS itself.

[–] [email protected] 5 points 5 months ago* (last edited 5 months ago)

Sometimes a program is slow to start up because it's so boated that just loading it from the disk takes multiple seconds. Wasting a few kB doesn't hurt anything, but if you're doing it thousands of times in one program, your users are gonna have a bad time.

[–] [email protected] 1 points 5 months ago* (last edited 5 months ago) (2 children)

What was it again, 1 critical bug every 1000 loc?

That's why, code as much as needed but as less as possible.

Of course not measured in KB, because readable code takes a bit more space than clever hacks.

[–] [email protected] 9 points 5 months ago

Counting in lines of code is the most stupid metric.

[–] [email protected] 3 points 5 months ago (1 children)

Code is rarely the biggest thing in these programs. You want textures that don't look stretched and pixelated at 4K? That's going to cost you.

Look in any game directory. There's probably a one big file--sometimes a few big ones--in there that you can rename to .zip and unpack it as one. It will dump all the textures/sound effects/etc. in the game, but have zero code. It will be something like 70-90% of the game's entire space.

[–] [email protected] 1 points 5 months ago

I agree and disagree.

Yes, in Games. There, the longer the more, duplicated assets too (like, all the data in every level package, even though every level only needs 10% of the data). Because user storage is cheaper than optimization.
Sometimes in tools too, often crappy tools with abundance of animations. But usually it's cheaply made software in a framework dragging lots of boilerplate with it. There it's loc again.

No, not in office suites and Wordpad.

Btw, why is vector graphics so rarely used for simple icons?