Muskampen 2025: Segraren korad!
Permalänk

otroliga 64kb?

Nån som vet hur de lyckats få in allt detta på 64kb?

http://www.theproduct.de/

Visa signatur

| AsusP5W DH Deluxe | Core2 Duo 6600 | 2048Mb| ATI 1900xtx | WD Raptor 74GB | WinXP Pro | LianLi 6070 |
-Antistatarmband? Jag moddar naken på diskbänken!

Permalänk
Medlem

Ingen aning.
Jävligt coolt iaf.

Visa signatur

Love is a perky little elf dancing a merry little jig and then, suddenly, he turns on you with a miniature machine gun. -Matt Groening

Permalänk
Medlem

Det står på sidan.

Edit: farbrausch är grymma!

Permalänk
Medlem
Permalänk

Jag håller på med en sådandär demo, med ljud och allt, fast den är bara typ 5sek lång hittils
Exefilen är typ 55kB nu, med musik blir det typ 65kB...

Permalänk
Medlem

Re: otroliga 64kb?

Citat:

Ursprungligen inskrivet av MammaScan
Nån som vet hur de lyckats få in allt detta på 64kb?

http://www.theproduct.de/

Det kallas optimering, något som MS skulle behöva lära sig.

Visa signatur

Sverige är ett så litet land att det bara får plats en åsikt i taget där.

Permalänk
Medlem

Re: Re: otroliga 64kb?

Citat:

Ursprungligen inskrivet av Daniel
Det kallas optimering, något som MS skulle behöva lära sig.

Om dom gjorde sådär med windows skulle alla klaga på att dom behövde 3 gig temporära filer och att det skulle ta 15 minuter att starta windows.

Edit-
Fressten kallar man det komprimering

Visa signatur

I just love the fact that there is a global integer variable named 'i'. Just think, you will never need to declare your loop variable again!
To avoid collisions where a loop that uses 'i' calls another function that loops with 'i', be sure to stack 'i' and restore it when your function exits.

Permalänk
Medlem

om spelutvecklara gjorde sådär skulle spelen ligga på disketter fortfarande och inte 3-4 skivor

Visa signatur

Kass DATA

Permalänk
Medlem

Re: Re: Re: otroliga 64kb?

Citat:

Ursprungligen inskrivet av Myris
Om dom gjorde sådär med windows skulle alla klaga på att dom behövde 3 gig temporära filer och att det skulle ta 15 minuter att starta windows.

Edit-
Fressten kallar man det komprimering

Komprimering handlar om att då har du något som du sedan krymper, här har du optimerat din programmering till att inte ta så mycket plats och genererar all den stora mängd som du sedan ser. Att kalla det komprimering är inte riktigt rätt, det handlar om optimerad programmering.

Visa signatur

Sverige är ett så litet land att det bara får plats en åsikt i taget där.

Permalänk
Medlem

Re: otroliga 64kb?

Citat:

Ursprungligen inskrivet av MammaScan
Nån som vet hur de lyckats få in allt detta på 64kb?

http://www.theproduct.de/

Komprimering samt att mycket av grafiken och allt ljud(?) är uträknat (syntheserat).
Klart imponerande. Kommer ihop när jag och polaren tävlade om vem som gjorde det minsta "tronspelet". Han vann med en byte tror jag. Tror vi var nere under 100bytes kompilerad kod.

Permalänk
Medlem
Permalänk
Medlem

Re: Re: Re: Re: otroliga 64kb?

Citat:

Ursprungligen inskrivet av Daniel
Komprimering handlar om att då har du något som du sedan krymper, här har du optimerat din programmering till att inte ta så mycket plats och genererar all den stora mängd som du sedan ser. Att kalla det komprimering är inte riktigt rätt, det handlar om optimerad programmering.

Det är inte bara programmeringen som är optimerad... och det är visst komprimering, iaf enligt dom.

Visa signatur

I just love the fact that there is a global integer variable named 'i'. Just think, you will never need to declare your loop variable again!
To avoid collisions where a loop that uses 'i' calls another function that loops with 'i', be sure to stack 'i' and restore it when your function exits.

Permalänk
Medlem

Här är ytterligare ett intro som bara får mig att gapa och stilla undra mig om det inte egentligen bryter mot någon naturlag.

http://conspiracy.intro.hu/dl.php3?prod=1

Visa signatur

There is no end to the infinite number of stupid things that could be done on a Turing complete system.

Permalänk
Medlem

Re: Re: Re: Re: otroliga 64kb?

Citat:

Ursprungligen inskrivet av Daniel
Komprimering handlar om att då har du något som du sedan krymper, här har du optimerat din programmering till att inte ta så mycket plats och genererar all den stora mängd som du sedan ser. Att kalla det komprimering är inte riktigt rätt, det handlar om optimerad programmering.

Jag behöver knappast påpeka att datagenereringen tar tid, dvs processorkraft. Eller gör jag? Att satsa på att få programmet så lite som möjligt är knappast den enda typen av optimering. Om du nu fortfarande envisas med att dra paralleler till MS, så bör du veta att denna typ av "optimering" helt är ohållbar.

Visa signatur
Permalänk
Medlem

Re: Re: Re: Re: Re: otroliga 64kb?

Citat:

Ursprungligen inskrivet av Myris
Det är inte bara programmeringen som är optimerad... och det är visst komprimering, iaf enligt dom.

Visst är det så, men den komprimeringen är en viss form av optimering.

citerar från deras faq
with your technology you could compress a dvd to a floppy disk!
you got it all wrong. .the .product is not about compression, it's about generation. we can only "compress" data generated with our tool.

Citat:

Ursprungligen inskrivet av s.c.s.i.
Jag behöver knappast påpeka att datagenereringen tar tid, dvs processorkraft. Eller gör jag? Att satsa på att få programmet så lite som möjligt är knappast den enda typen av optimering. Om du nu fortfarande envisas med att dra paralleler till MS, så bör du veta att denna typ av "optimering" helt är ohållbar.

Nä, det behöver du inte.
Du har helt rätt i att storleksoptimering inte är något fullt så viktigt för MS då dom gör ett os som ex windows. Däremot är ju prestandaoptimeringar ganska viktiga, speciellt på kritiska delar som själva kärnan och vissa processer.

Visa signatur

Sverige är ett så litet land att det bara får plats en åsikt i taget där.

Permalänk
Medlem

Re: Re: Re: Re: Re: Re: otroliga 64kb?

Citat:

Ursprungligen inskrivet av Daniel
Visst är det så, men den komprimeringen är en viss form av optimering.

Varför skrev du då att det inte var komprimering?

Citat:

Ursprungligen inskrivet av Daniel
Nä, det behöver du inte.
Du har helt rätt i att storleksoptimering inte är något fullt så viktigt för MS då dom gör ett os som ex windows. Däremot är ju prestandaoptimeringar ganska viktiga, speciellt på kritiska delar som själva kärnan och vissa processer.

.the .product bör väl dock satsa mer på storlek än prestanda? En klassisk tumregel är ju att mer kod ger bättre prestanda, mycket kod är knappast vad dom satsar på i .the .product

Visa signatur

I just love the fact that there is a global integer variable named 'i'. Just think, you will never need to declare your loop variable again!
To avoid collisions where a loop that uses 'i' calls another function that loops with 'i', be sure to stack 'i' and restore it when your function exits.

Permalänk
Medlem

Re: Re: Re: Re: Re: Re: Re: otroliga 64kb?

Citat:

Ursprungligen inskrivet av Myris
En klassisk tumregel är ju att mer kod ger bättre prestanda, mycket kod är knappast vad dom satsar på i .the .product

Den tumregeln har jag aldrig hört talas om.

Du måste ha fattat det totalt fel.

Permalänk
Medlem

Grymt fett.
Men håller med denka om att det inte är prestandan dom satsar på, det framgår ju ganska tydligt

Visa signatur
Permalänk
Medlem

Re: Re: Re: Re: Re: Re: Re: Re: otroliga 64kb?

Citat:

Ursprungligen inskrivet av denka
Den tumregeln har jag aldrig hört talas om.

Du måste ha fattat det totalt fel.

Ett exempel:

int main() { int a = 0; printf("\nDo you wish to show all steps of the fibonaccification? Yes(1)/No(0)\n> "); scanf("%d", &yn); if(yn != 0 && yn != 1) return 0; while(1) { printf("\n\n\nEnter a number to be fibonaccied:\n> "); scanf("%d", &a); if(yn != 0) printf("End result: %d", fib(a)); else printf("Result: %d, %d steps", fib(a)); x = 0; } } int fib(int a) { if(yn != 0) printf("Step %d: %d\n", x, a); x++; if (a==0 || a==1) return 1; else return (fib(a-2) + fib(a-1)); }

Kolla i funktionen fib(). Där finns en if-sats som kallas varje gång funktionen körs, hade man däremot satt if-satsen tidigare och haft fiba() och fibb(), a som inte skrev ut stegen och b som gjorde det så hade det blivigt snabbare, men ca 25% mer kod.. liknande exempel finns om och om igen.
Detta gäller självklart inte alltid (ibland är det tvärtom), men jag menar att när man tar genvägar blir det ofta lättare för den som skriver koden, men inte för datorn.

Visa signatur

I just love the fact that there is a global integer variable named 'i'. Just think, you will never need to declare your loop variable again!
To avoid collisions where a loop that uses 'i' calls another function that loops with 'i', be sure to stack 'i' and restore it when your function exits.

Permalänk
Medlem

Re: Re: Re: Re: Re: Re: Re: otroliga 64kb?

Citat:

Ursprungligen inskrivet av Myris
Varför skrev du då att det inte var komprimering?

För att dom inte tar en färdig bild eller låt och trycker ihop till liten plats utan att dom genererar bilderna och musiken. Men sen kanske min formulering var lite dåligt, fullt möjligt.

Sen bör väl tilläggas att dom vid faq använde "" på ordet compress, detta för att markera att det inte handlar om att komprimera ner någon slags film till liten storlek utan om att pga smart programmering trycka ihop det som genererar detta på så liten storlek som möjligt, men i och för sig med viss komprimering, och där används komprimering för att minska storleken på deras kod och data i filen. Men själva grunden är mycket effektiv programmering.

Citat:

Ursprungligen inskrivet av Myris

.the .product bör väl dock satsa mer på storlek än prestanda? En klassisk tumregel är ju att mer kod ger bättre prestanda, mycket kod är knappast vad dom satsar på i .the .product

Nu pratade jag om MS, och för dom är inte storleksoptimering särskilt nödvändigt. Men som du säger är ju storleksoptimering i detta fall av största vikt då det just är själva målet att göra så bra demo på 64kB och då är det storleken som räknas.

Visa signatur

Sverige är ett så litet land att det bara får plats en åsikt i taget där.

Permalänk
Hedersmedlem

Re: Re: Re: Re: Re: Re: Re: Re: Re: otroliga 64kb?

Citat:

Ursprungligen inskrivet av Myris
Text

Fibonacci kan faktiskt göras ännu snabbare genom att återanvända gamla tal och iterativ rekursion:

int fib(int a, int fib_1=1, int fib_2=0) { if (a==0 || a==1) return fib_1+fib_2; return fib(a-1,fib_1+fib_2,fib_1); }

Sådär helt appropå alltså

Visa signatur

The variable 'brain' is declared but never used

Permalänk
Medlem

Re: Re: Re: Re: Re: Re: Re: otroliga 64kb?

Citat:

Ursprungligen inskrivet av Myris
En klassisk tumregel är ju att mer kod ger bättre prestanda

eeeeh. jo det brukar ju vara så... inte?

farb-rausch är för övrigt väldigt söta

dra gärna ner deras .avi konverteringar om eran dator inte orka med.

Visa signatur

Jag svävar, jag flyger.

Permalänk
Medlem

Re: Re: Re: Re: Re: Re: Re: Re: otroliga 64kb?

Citat:

Ursprungligen inskrivet av Daniel
För att dom inte tar en färdig bild eller låt och trycker ihop till liten plats utan att dom genererar bilderna och musiken. Men sen kanske min formulering var lite dåligt, fullt möjligt.

Aha, missförstod dig då, trodde du menade att dom inte komprimerade någonting alls (vilket dom gör med tex UPX)

Citat:

Ursprungligen inskrivet av Daniel
Nu pratade jag om MS, och för dom är inte storleksoptimering särskilt nödvändigt. Men som du säger är ju storleksoptimering i detta fall av största vikt då det just är själva målet att göra så bra demo på 64kB och då är det storleken som räknas.

Jo. Personligen tycker jag nog MS drar på lite för mycket på minnet, Win XP kräver (bör ha) egentligen otroligt mkt minne.

Citat:

Ursprungligen inskrivet av damme
Fibonacci kan faktiskt göras ännu snabbare genom att återanvända gamla tal och iterativ rekursion:

int fib(int a, int fib_1=1, int fib_2=0) { if (a==0 || a==1) return fib_1+fib_2; return fib(a-1,fib_1+fib_2,fib_1); }

Sådär helt appropå alltså

Smart. Fast fibbonaci var bara ett exempel, använder det inte..

Citat:

Ursprungligen inskrivet av yoda_z
eeeeh. jo det brukar ju vara så... inte?

Det är så ganska ofta, faktiskt

Visa signatur

I just love the fact that there is a global integer variable named 'i'. Just think, you will never need to declare your loop variable again!
To avoid collisions where a loop that uses 'i' calls another function that loops with 'i', be sure to stack 'i' and restore it when your function exits.

Permalänk
Medlem

och varför inte räkna ut konstanta fibtal på detta sätt?

#include <stdio.h> template<int i> struct CFib { enum { v = CFib<i-2>::v+CFib<i-1>::v }; }; template<> struct CFib<1> { enum { v = 1 }; }; template<> struct CFib<0> { enum { v = 1 }; }; int main() { printf("%d\n", CFib<5>::v); return 0; };

Visa signatur

Teeworlds - För dig som gillar gulliga saker med stora vapen.

Permalänk
Medlem

The Popular Demo är så fin

Visa signatur

🖥️ Intel 12700K@5.3GHz ~ ASUS TUF Z690 PLUS WIFI D4 ~ 32GB Ballistix 4000MHz CL16 ~ PNY GeForce RTX 4080 Verto ~ Fractal Define 7 Compact ~ Seasonic FOCUS GX 750W ~ Noctua NH-D15 ~ WD SN850 NVMe 1TB ~ Kingston NV1 NVMe 2TB

Permalänk
Medlem

I vilket språk brukar man skriva dessa i?? asm, C, C++ ?

Visa signatur
Permalänk
Medlem

vad är ett fib tal ?

Visa signatur

Är inte linux en billig kopia av ms-dos?

Permalänk
Medlem

asm använder dom nog annars skulle dom bli ganska stora

Visa signatur

Macbook Air 13" (2012)

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av akn3
vad är ett fib tal ?

Tal från Fibonacci-serien, a_(n+2)=a_(n+1)+a_n. a_0=1,a_1=1.
Alltså 1, 1, 2, 3, 5, 8, 13, ...

Visa signatur

The variable 'brain' is declared but never used

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av batjohan
I vilket språk brukar man skriva dessa i?? asm, C, C++ ?

Asm/C/C++ är väl vanligast.