Reddit-learnprogramming-er hacket kendt som “Duff's Device”, der bruges i virkelige applikationer?

Duffs enhed er (næsten) altid et eksempel på, hvad vi ville kalde en “mikrooptimering.”Det klassiske eksempel på en mikrooptimering er et, der komplicerede og omslutter kodebasen uden at give nogen mærkbar forbedring af applikationens ydeevne.

de fleste tricks som Duffs enhed, der optimerer en enkelt sløjfe, en enkelt lille funktion osv. CPU’ er er bare så freakin ‘ hurtigt i disse dage, at du normalt ikke får nogen målbar forbedring ved at bruge disse tricks. Du helt sikkert gør det størrelsesordener sværere at forstå og vedligeholde din kode selv. Ud over CPU-hastighed er kompilatorer virkelig smarte i disse dage. De kan gøre tricks som dette bag kulisserne for at optimere dit kompilerede program, uden at du behøver at bastardisere din kildekode.

de fleste præstations “problemer” i disse dage er faktisk på et højere niveau end individuelle sløjfer. Tænker med hensyn til, hvordan din datamodel er repræsenteret i disk og i hukommelsen, hvordan du kan begrænse bytte mellem disk og RAM, hvordan du optimerer mængden af data, der er serialiseret, sendt og deserialiseret over netværket osv. Derfra kommer du ind i de højere algoritmer og tilgange, du tager for at løse et virkelig CPU-bundet problem. At komme til det punkt at optimere en enkelt løkke med noget som Duffs enhed er i dag næsten altid den forkerte ting at gøre.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.