compression / size wars (Developers)
> You need to compress an awful lot of binaries to make room for a
> handful mp3's.
MP3 files are already compressed, and the size depends on the quality of the original recording. (If size weren't an issue, everybody would use uncompressed .WAV files for audio. And that's obviously ridiculous. My bro's iPod "only" has 8 GB, so I don't think he wants to do that.)
You can either buy a new HD every year, or you can compress that which is compressible.
You don't have tons of .ZIPs, .7z, .tar.gz, .tar.bz2, etc. files on your HD? If not, I'd be quite surprised.
BTW, DOS' FATs have file size limitations (unlike more "robust" OSes), so we're more compelled to optimize for size than otherwise.
> Even when I was on dialup I never used UPX. Real compressors compressed
> better, and I didn't have to transfer a stub with it.
Better than real compressors that are commonly used (deflate-based)? I don't think so. And 7-Zip is pretty much close to the best (or maybe PAQ8). But UPX has supported LZMA since 2.90 (currently 3.02), so it's indeed very good compression these days. And like I said, the stub is very very small (assembly, heh). With a real compressed archive, you have to unpack before being able to run it. With UPX it works as normal. (And it currently outpacks 95% of previous packers except in very rare cases.)
> > For Win32,
> > there is the "no shared pages" crudola, but that only applies if you
> > intend to run tons of instances (e.g. make or bash).
>
> No, the fact that compressed pages also add to the commit charge, while
> memory mapped do not is still there. And memory is more expensive than
> disk by about a factor 1000.
<sarcasm> Yes, that's why everybody is so memory-conscious. </sarcasm>
Every version of Windows uses more memory than the last. And Linux ain't much better (depending on distro ... one recently I saw required 1 GB RAM, meh). People don't care anymore, they just eat it all up.
> Well, I never had a harddisk size problem that was solved by compressing a
> few binaries.
There's also jump drives, floppies, ZIP drives, tape drives, CDs, DVDs, etc. You can either use a compressed file system or archivers or something like UPX. Eventually, you have to take notice of things like this (unless you don't mind making your distro use 6 CDs or several DVDs ... which some people obviously don't).
> > But FreeBASIC is still not quite
> > as portable as FPC (officially only three hosts/targets).
>
> FB seems to have chosen a different direction. Not as independant as FPC,
> but also not as dependant as full gcc ports as GPC. I'm curious how this
> works out, and such issues are one of the reasons why I monitor the FB
> fora.
They are actively working on trying to integrate it as an official GCC backend, add OOP support, make an optional C emitter (for better optimization and maybe portability), add better QB compatibility, etc. That's a lot to take on, but so far it's been pretty impressive. (And yes, FPC supporting Win64 and other non-mainstream targets is an impressive achievement too!)
> > The real whiners about size tend to be assembly programmers because
> they
> > know what can be accomplished in the comparable amount of code.
>
> I daily program microcontrollers with 4-8kb of memory and 32kb of flash.
> This is perfectly fine in plain C, until you really ship a million of
> these devices and a bit of asm optimizing can get you a slightly smaller
> flash size.
What chip / family? What compiler? Is there a RTL involved or not? C is always "good enough" until it isn't. And assembly is always "easy enough" until it isn't. That's why people still use both.
> But even there the difference between 32kb and 64kb is getting lower and
> lower, and even that will end.
It's never enough. What was once acceptable is now laughable. And the cycle continues. (BTW, even SSD drives are smaller than normal and yet much more expensive. So you can't count on always having tons of space.)
> > Sure,
> > nobody cares as much anymore now that multi-gigabyte HDs are universal,
> > but some people still have the ideal that it shouldn't take 10x more
> space
> > than it used to take unless there's a really good reason.
>
> Ah well, there are also people that think they should live as cavemen, and
> that think that anything beyond carving into a rock with another rock
> should be done unless there is a really good reason.
>
> Loonies are everywhere.
One man's lunacy is another's genius. Some programmers even consider themselves artists (e.g. demo sceners or FASM dude). And they like to see how small, fast, elegant (or obfuscated, in the case of IOCCC) they can make it. It's all in good fun.
Complete thread:
- BIG "C" compiler comparison thread - DOS386, 04.03.2008, 02:07 (Developers)
- BIG "C" compiler comparison thread - Steve, 04.03.2008, 05:08
- BIG "C" compiler comparison thread - DOS386, 09.03.2008, 02:11
- BIG "C" compiler comparison thread - Steve, 09.03.2008, 09:40
- BIG "C" compiler comparison thread - DOS386, 09.03.2008, 02:11
- BIG "C" compiler comparison thread - Japheth, 04.03.2008, 09:38
- BIG "C" compiler comparison thread - rr, 04.03.2008, 10:02
- BIG "C" compiler comparison thread - Rugxulo, 04.03.2008, 14:53
- BIG "C" compiler comparison thread - Japheth, 04.03.2008, 18:32
- BIG "C" compiler comparison thread - Rugxulo, 04.03.2008, 18:57
- No cheats please! - Japheth, 05.03.2008, 11:02
- No cheats please! - Rugxulo, 05.03.2008, 14:07
- No cheats please! - Japheth, 05.03.2008, 11:02
- BIG "C" compiler comparison thread - Rugxulo, 04.03.2008, 18:57
- BIG "C" compiler comparison thread - Japheth, 04.03.2008, 18:32
- BIG "C" compiler comparison thread - Steve, 04.03.2008, 20:41
- BIG "C" compiler comparison thread - Rugxulo, 05.03.2008, 01:11
- BIG "C" compiler comparison thread - Steve, 05.03.2008, 02:05
- BIG "C" compiler comparison thread - rr, 05.03.2008, 09:57
- BIG "C" compiler comparison thread - rr, 05.03.2008, 10:01
- BIG "C" compiler comparison thread - Steve, 05.03.2008, 02:05
- BIG "C" compiler comparison thread - Rugxulo, 05.03.2008, 01:11
- BIG "C" compiler comparison thread | evil TCC - DOS386, 09.03.2008, 02:17
- BIG "C" compiler comparison thread | evil TCC - Japheth, 09.03.2008, 08:41
- BIG "C" compiler comparison thread | evil TCC - rr, 09.03.2008, 22:20
- BIG "C" compiler comparison thread | evil TCC - Rugxulo, 10.03.2008, 03:29
- BIG "C" compiler comparison thread - marcov, 07.04.2008, 14:30
- BIG "C" compiler comparison thread - Rugxulo, 07.04.2008, 23:57
- BIG "C" compiler comparison thread - marcov, 15.04.2008, 10:43
- BIG "C" compiler comparison thread - Rugxulo, 25.07.2008, 06:55
- BIG "C" compiler comparison thread - Rugxulo, 25.07.2008, 23:15
- BIG "C" compiler comparison thread - Steve, 26.07.2008, 00:27
- BIG "C" compiler comparison thread - Rugxulo, 25.07.2008, 23:15
- BIG "C" compiler comparison thread - Rugxulo, 25.07.2008, 06:55
- BIG "C" compiler comparison thread - marcov, 15.04.2008, 10:43
- BIG "C" compiler comparison thread - Rugxulo, 07.04.2008, 23:57
- BIG "C" compiler comparison thread - Rugxulo, 04.03.2008, 14:53
- BIG "C" compiler comparison thread - Khusraw, 04.03.2008, 21:51
- BIG "C" compiler comparison thread - Rugxulo, 05.03.2008, 01:06
- BIG "C" compiler comparison thread - Steve, 05.03.2008, 01:50
- BIG "C" compiler comparison thread - Khusraw, 05.03.2008, 08:01
- BIG "C" compiler comparison thread - Rugxulo, 05.03.2008, 14:04
- BIG "C" compiler comparison thread - Khusraw, 05.03.2008, 15:46
- BIG "C" compiler comparison thread - Rugxulo, 06.03.2008, 04:40
- BIG "C" compiler comparison thread - Japheth, 06.03.2008, 07:52
- BIG "C" compiler comparison thread - tom, 08.03.2008, 21:50
- BIG "C" compiler comparison thread - Rugxulo, 09.03.2008, 00:53
- BIG "C" compiler comparison thread - Steve, 09.03.2008, 09:36
- BIG "C" compiler comparison thread - tom, 10.03.2008, 12:59
- BIG "C" compiler comparison thread - Rugxulo, 09.03.2008, 00:53
- BIG "C" compiler comparison thread | WC 1.52 - DOS386, 09.03.2008, 03:02
- BIG "C" compiler comparison thread | WC 1.52 - marcov, 07.04.2008, 14:39
- BIG "C" compiler comparison thread | WC 1.52 - Rugxulo, 08.04.2008, 00:09
- BIG "C" compiler comparison thread | WC 1.52 - marcov, 08.04.2008, 14:34
- BIG "C" compiler comparison thread | WC 1.52 - Rugxulo, 08.04.2008, 16:13
- Free Pascal linking - rr, 09.04.2008, 11:40
- Free Pascal linking - marcov, 10.04.2008, 10:40
- Free Pascal linking - rr, 10.04.2008, 12:18
- Free Pascal linking - Rugxulo, 11.04.2008, 06:32
- Free Pascal linking - marcov, 11.04.2008, 14:20
- Free Pascal linking - Rugxulo, 11.04.2008, 16:16
- Free Pascal linking - marcov, 11.04.2008, 20:14
- compression / size wars - Rugxulo, 12.04.2008, 01:13
- compression / size wars - DOS386, 01.05.2008, 04:49
- compression / size wars - Rugxulo, 01.05.2008, 05:32
- FAT OGG - DOS386, 01.05.2008, 05:44
- compression / size wars - Rugxulo, 01.05.2008, 05:32
- compression / size wars - DOS386, 01.05.2008, 04:49
- compression / size wars - Rugxulo, 12.04.2008, 01:13
- Free Pascal linking - marcov, 11.04.2008, 20:14
- Free Pascal linking - Japheth, 11.04.2008, 16:39
- Free Pascal linking - Steve, 12.04.2008, 05:19
- Free Pascal linking - marcov, 12.04.2008, 14:41
- Free Pascal linking - Steve, 12.04.2008, 16:09
- Free Pascal linking - marcov, 13.04.2008, 23:42
- Compression - Steve, 14.04.2008, 06:27
- Compression - marcov, 14.04.2008, 11:03
- Compression - Steve, 14.04.2008, 13:32
- Compression - Rugxulo, 14.04.2008, 20:00
- Compression - Steve, 14.04.2008, 20:16
- Compression - marcov, 15.04.2008, 10:40
- Compression - Steve, 15.04.2008, 12:24
- Compression - marcov, 15.04.2008, 15:43
- Compression - Steve, 16.04.2008, 11:32
- Compression - marcov, 15.04.2008, 15:43
- Compression - Steve, 15.04.2008, 12:24
- Compression - marcov, 15.04.2008, 10:40
- Compression - Steve, 14.04.2008, 20:16
- Compression - Rugxulo, 14.04.2008, 20:00
- Compression - Steve, 14.04.2008, 13:32
- Compression - Rugxulo, 14.04.2008, 19:55
- Compression - Steve, 14.04.2008, 20:44
- Compression - marcov, 15.04.2008, 09:59
- Compression - Steve, 15.04.2008, 11:55
- Compression - marcov, 15.04.2008, 15:24
- Compression - Rugxulo, 16.04.2008, 01:13
- Compression - Steve, 16.04.2008, 10:54
- Compression - marcov, 16.04.2008, 16:24
- Compression - Steve, 16.04.2008, 21:27
- Compression - marcov, 16.04.2008, 23:38
- Compression - Steve, 17.04.2008, 12:10
- Compression - marcov, 16.04.2008, 23:38
- Compression - Steve, 16.04.2008, 21:27
- Compression - marcov, 16.04.2008, 16:24
- Compression - marcov, 15.04.2008, 15:24
- Compression - Steve, 15.04.2008, 11:55
- Compression - marcov, 14.04.2008, 11:03
- Compression - Steve, 14.04.2008, 06:27
- Free Pascal linking - marcov, 13.04.2008, 23:42
- Free Pascal linking - Steve, 12.04.2008, 16:09
- Free Pascal linking - marcov, 12.04.2008, 14:41
- Free Pascal linking - Rugxulo, 11.04.2008, 16:16
- Free Pascal linking - marcov, 11.04.2008, 14:20
- Free Pascal linking - marcov, 10.04.2008, 10:40
- BIG "C" compiler comparison thread | WC 1.52 - marcov, 08.04.2008, 14:34
- BIG "C" compiler comparison thread | WC 1.52 - Rugxulo, 08.04.2008, 00:09
- BIG "C" compiler comparison thread | WC 1.52 - marcov, 07.04.2008, 14:39
- BIG "C" compiler comparison thread - tom, 08.03.2008, 21:50
- BIG "C" compiler comparison thread - Khusraw, 06.03.2008, 10:41
- BIG "C" compiler comparison thread - Japheth, 06.03.2008, 07:52
- BIG "C" compiler comparison thread - Rugxulo, 06.03.2008, 04:40
- BIG "C" compiler comparison thread - Khusraw, 05.03.2008, 15:46
- BIG "C" compiler comparison thread - Rugxulo, 05.03.2008, 14:04
- BIG "C" compiler comparison thread - Rugxulo, 05.03.2008, 01:06
- BIG "C" compiler cmp | the "scientific" facts ore out DW - DOS386, 09.03.2008, 02:49
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Japheth, 09.03.2008, 08:56
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 09.03.2008, 12:40
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Japheth, 10.03.2008, 09:04
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 10.03.2008, 13:52
- Ich nix verstehen - andere Baustelle! - Japheth, 10.03.2008, 14:43
- Ich nix verstehen - andere Baustelle! - Steve, 11.03.2008, 10:17
- Ich nix verstehen - andere Baustelle! - marcov, 07.04.2008, 14:44
- Ich nix verstehen - andere Baustelle! - Steve, 08.04.2008, 01:43
- Ich nix verstehen - andere Baustelle! - marcov, 08.04.2008, 14:36
- Ich nix verstehen - andere Baustelle! - Steve, 08.04.2008, 01:43
- Ich nix verstehen - andere Baustelle! - Japheth, 10.03.2008, 14:43
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 10.03.2008, 13:52
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Japheth, 10.03.2008, 09:04
- BIG "C" compiler cmp | the "scientific" facts ore out DW - rr, 09.03.2008, 22:10
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 10.03.2008, 03:39
- BIG "C" compiler cmp | the "scientific" facts ore out DW - DOS386, 10.03.2008, 09:08
- BIG "C" compiler cmp | the "scientific" facts ore out DW - rr, 10.03.2008, 12:31
- BIG "C" compiler cmp | DELTREE - DOS386, 01.05.2008, 04:32
- BIG "C" compiler cmp | DELTREE - rr, 02.05.2008, 16:20
- BIG "C" compiler cmp | DELTREE - DOS386, 01.05.2008, 04:32
- BIG "C" compiler cmp | the "scientific" facts ore out DW - rr, 10.03.2008, 12:31
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 10.03.2008, 06:24
- BIG "C" compiler cmp | the "scientific" facts ore out DW - RayeR, 10.03.2008, 11:39
- BIG "C" compiler cmp | the "scientific" facts ore out DW - DOS386, 10.03.2008, 12:07
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 10.03.2008, 13:58
- BIG "C" compiler cmp | the "scientific" facts ore out DW - DOS386, 01.05.2008, 05:30
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 02.05.2008, 00:47
- BIG "C" compiler cmp | the "scientific" facts ore out DW - rr, 02.05.2008, 16:22
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 03.05.2008, 08:16
- BIG "C" compiler cmp | the "scientific" facts ore out DW - rr, 02.05.2008, 16:22
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 02.05.2008, 00:47
- BIG "C" compiler cmp | the "scientific" facts ore out DW - DOS386, 01.05.2008, 05:30
- BIG "C" compiler cmp | the "scientific" facts ore out DW - RayeR, 10.03.2008, 17:55
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 10.03.2008, 20:49
- BIG "C" compiler cmp | the "scientific" facts ore out DW - RayeR, 10.03.2008, 21:41
- BIG "C" compiler cmp | the "scientific" facts ore out DW - marcov, 07.04.2008, 14:52
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 10.03.2008, 20:49
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 10.03.2008, 13:58
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Khusraw, 10.03.2008, 16:00
- BIG "C" compiler cmp | the "scientific" facts ore out DW - RayeR, 10.03.2008, 17:42
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Khusraw, 10.03.2008, 17:50
- BIG "C" compiler cmp | the "scientific" facts ore out DW - RayeR, 10.03.2008, 17:56
- BIG "C" compiler cmp | the "scientific" facts ore out DW - marcov, 07.04.2008, 14:55
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 08.04.2008, 00:02
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Khusraw, 10.03.2008, 17:50
- BIG "C" compiler cmp | the "scientific" facts ore out DW - RayeR, 10.03.2008, 17:42
- BIG "C" compiler cmp | the "scientific" facts ore out DW - DOS386, 10.03.2008, 12:07
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 11.03.2008, 19:29
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 12.03.2008, 08:01
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 12.03.2008, 20:13
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 13.03.2008, 04:10
- BIG "C" compiler cmp | INTEL - DOS386, 01.05.2008, 04:43
- BIG "C" compiler cmp | INTEL - Steve, 02.05.2008, 00:51
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 12.03.2008, 20:13
- BIG "C" compiler cmp | the "scientific" facts ore out DW - marcov, 07.04.2008, 14:58
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 07.04.2008, 23:38
- BIG "C" compiler cmp | the "scientific" facts ore out DW - marcov, 10.04.2008, 10:22
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 11.04.2008, 06:27
- BIG "C" compiler cmp | the "scientific" facts ore out DW - marcov, 11.04.2008, 20:18
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 11.04.2008, 06:27
- BIG "C" compiler cmp | the "scientific" facts ore out DW - marcov, 10.04.2008, 10:22
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 07.04.2008, 23:38
- BIG "C" compiler cmp | the "scientific" facts ore out DW - DOS386, 01.05.2008, 04:41
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 12.03.2008, 08:01
- BIG "C" compiler cmp | new facts ore out: OW TCC CC386 - DOS386, 01.05.2008, 04:30
- BIG "C" compiler cmp | new facts ore out: OW TCC CC386 - Rugxulo, 01.05.2008, 05:27
- BIG "C" compiler comparison thread - Steve, 04.03.2008, 05:08