Slashdot Mirror


Balancing Memory Usage vs Performance?

TwistedTR writes "I work for a company currently developing an application to run in an environment with a very small sum of available memory (sub 6 megs). My boss and I are in disagreement over speed vs memory overhead. He feels that speed is 100% key reguardless of the memory overhead required to meet it. The application is very math intensive so the more lookup tables we pre-generate at load time the faster the overall application runs. However, my boss is having me take us dangerously to the point where our target environment is going to run out of memory. The application makes use of user inputted data, and if the user so chooses it can be a WHOLE lot of data, which also uses a decent chunk of memory. My boss will not fold on my request to sacrifice some speed to prevent a possible fatal memory fill up. Has anyone out there had experience in dealing with developing in a simmilar situation, and if so do you have any ideas of how to balance performance vs memory on such a restrictive environment?"

51 comments

  1. dear slashfags, by diaper_tales · · Score: -1

    how do i do my job?
    how am i supposed to interact with real actual people in real actual meatspace? can someone tell me how i can fit linux into an excuse to get out of not knowing how to do my job? do girls think i smell funny? has anyone else been in a situation like this so they can tell me how to escapea i wish i was luke skywalker: :(

  2. Lookup tables don't have to be permanent. by leastsquares · · Score: 4, Insightful

    You want to make the lookup tables dynamic in the sense that you may deallocate them when you run out of memory. At the expense of a conditional statement, you have fast lookups... until you run out of memory and at this point you explicitly calculate everything.

    Easy.

    1. Re:Lookup tables don't have to be permanent. by diaper_tales · · Score: -1

      assgang fagpenis fagass gaytit wankspurt chewpiss jizmpussy semenass fagballs gangtits titgay wankcocks spurtmouth fagspit cockballs titcocks tossgay wankhomo penisjizz spurtass girlgang nationfag cockfist semensalad pisspussy jizzass spitsamn titmouth suckcunt chewgay gangchew linuxsuck cocksdog jerksemen tossnation tossjerk spitgang jizmhomo manfag nationsuck girlspit spithorse horsenation nationgang jizzgirl spurtwank jizztit ballscunt cuntmouth horsejizz gangdog tossfag linuxpenis jizzsalad pussyhomo asspiss cockcock wankpussy titsspit semenpussy cockssauce chewgay jizzvagina saladcock asschew chewgirl dogjerk cuntwank linuxspurt penissamn fagmouth girlpussy cunttoss cocksfist vaginagang tosschew ballswank peniswank vaginafist homogirl gangsuck girltits suckgay dogfist cuntcocks cockcock tossgirl cockgay nationass homochew girltoss asspiss fistspit girlgirl semensauce chewsuck ballspussy tossmouth samngay titpenis tosssamn boyboy chewcunt titssauce mouthcunt jizztoss saucevagina semenjizz rapehorse jizmman boyballs girltit boyvagina horsespurt cocksmouth horsegirl cocksuck pissboy penissamn vaginamouth wanksamn jerkjizz vaginasauce jerknation saucecocks semenpussy pussygang faggay tossboy fagfist suckpiss sauceboy girlvagina fistjizm linuxfag spitsamn nationwank dogballs cuntass saladrape spurtlinux gangboy pisslinux horserape rapejizz saladsalad tossnation homoballs saladgang nationpenis pussysemen pussygang titsjizz linuxjizm horsejizz cuntman titssalad horsesuck spitvagina vaginasalad mouthpiss tossman nationfist titsrape homojizz linuxass wankcocks faghomo linuxjizm spitfag ballspiss ballstoss titsjerk vaginapenis vaginagirl mandog boypussy saladtit wanksemen saucecocks cuntpiss semengang nationfist saladtits spurttoss samnfag nationpiss saucehorse cunthomo mouthsemen titssuck penishorse gangcunt mansamn doghomo jizzgang jizmsamn linuxpussy pissgirl homocunt tossnation horseballs sauceman fistpussy semensalad suckpussy fistpussy titscocks fistcunt saladlinux vaginatoss spurtjizz jizmwank pisssemen saladjizz saladmouth cockballs jerkwank titjizz saucefag titspit cuntgay jerkspit gaygang wankvagina chewchew rapecunt jerkhomo penissuck semengirl pussytoss penisrape linuxpussy fagcocks homojizz semengirl nationpiss jizzballs dogsalad tossspurt saladgirl chewsamn asspiss boyrape cuntgay titgang cockfist girlsemen linuxhorse chewtit girlgirl fagchew fistboy manlinux samncocks pisswank homofist vaginagirl titsdog dogchew fisttits penistits gangpenis titgang mouthtits cuntman cocksdog pisssauce mouthfag saladhorse cuntchew ballsfag jizznation spitpiss titscunt wankvagina fistballs semenjizz cockrape spurtsemen cuntballs cockfist jerkman nationcunt gangass wankcocks boyhomo suckjerk linuxman samndog cuntsalad linuxgay cockpenis cockgirl spurtvagina fagsalad boyman spitsemen cuntsuck peniswank mouthfist semensuck ganggang mouthspit sauceballs vaginavagina fagmouth manpiss gaypussy spitmouth samnpiss cockhomo homonation saladfag wanksamn titscunt boyjerk wankcock vaginawank gaypiss saucespit semenpiss saladpenis boycunt pussyrape pisssauce dogcunt tittits spitass tossjerk spurtgirl horsetit mancock nationass manpenis mouthsuck linuxhomo girllinux mouthnation sementits linuxman saucesemen spurtspit nationman saladjizm pisssalad spurtballs spitdog gangfag cuntspurt rapewank cuntgirl linuxcock jerkfist fagballs raperape horsefag pissboy penispenis jizmjizm saucetits linuxjizz jerktoss chewtoss spurtgay semenfist fistfist cockass vaginasamn jizztits chewjizm spitcocks jizmpenis penisgang pussygang gaysamn saucefist vaginagang wankass homohorse cuntgay fistmouth fagtits saucefag jizzgirl tosstoss wanksalad pissnation ballswank titssalad semenjerk pisssemen cockballs cockfist tosscock saucesemen saucetoss titman mansauce titsauce chewfist saladhomo titsemen rapecock manboy titslinux semengay fagsauce mouthvagina samnsemen chewcunt cockpiss mansuck boyjizm cockvagina titscocks cockcunt samnspurt boygay dogballs assnation samnballs sucktoss asstoss mangay cockhomo gayspurt linuxspurt semenfist boyboy cuntspit spurtlinux titsnation rapecock mansamn titssemen suckchew ballsfag cunttit fisthomo ballspussy horsejizz assvagina pussysauce gangcock semendog fistjerk gaypenis girlboy spurtpenis jizmspit penisjizz tosscunt linuxsalad wankmouth ballstit tosspiss wanktits pussyrape jerkpenis saladhomo jizmsalad sementits nationpiss manjizm pussysemen saladass titdog vaginajizm titssemen homotits titlinux sucktoss jerkballs titgirl chewspurt tithorse assdog saladtit homosauce cuntrape saladrape jizzsamn pussynation homotoss semenfist jizzsamn horsedog ballsgirl penisgirl tossfag cocksgirl boyspit pisssemen peniswank manchew homohomo boychew cockspiss chewass spitchew horsegay saucespit cuntballs spurtsuck pussylinux girlvagina doggirl cocksjerk tossballs jerkgirl doggang penisspurt pissfag titmouth samnrape rapetoss saladhorse tosscock pussyspit saucesamn jizmboy asscock pissrape jizzvagina titshomo titass jerkfag semendog ballsnation linuxman horsesamn mouthsemen jerksamn cuntspit samndog saladsuck saladballs linuxmouth vaginafag asscocks jerkspurt cockhorse penisboy samnpiss cuntspit saucespurt pisscock tosspussy spitsamn linuxcock linuxcunt ballsdog fagboy titchew spurtspit ballsdog samntoss jizzlinux vaginaass doglinux penisfist titstits pissjizm dogtoss asspussy samnjerk horsesemen gangboy pissjizm mouthjizm chewsauce suckass suckspit ballspussy chewsamn assass rapesalad linuxmouth chewspit manspit saucevagina wankspit assjizm jizmnation titcock fisttit homovagina boytoss jizmjizz saladpiss cocktoss titcocks pissass ballsjizm girlgay cocksamn saladsuck jizmcunt saladhorse linuxgirl ballssuck homocock saucetoss ballssalad mangirl titspit saladwank titsman nationvagina fagvagina girlfag suckspurt titmouth penisgang penisspurt assrape boyfist titchew linuxgang tosslinux mangirl spurtwank suckman chewpenis pissgirl saucejerk wanksuck cockfag sucksamn spitmouth jerkvagina sauceboy suckpenis saladgay mansamn asscock gaytits chewhomo ballspenis suckpussy nationhomo tossdog cocksgang assgirl fagsuck spurtjizz vaginagang mouthvagina gangcunt girlgay homospit spitsemen ballshorse girlchew girlsemen homocunt samnpenis linuxsemen vaginatit asssuck dogboy nationjerk saucesauce fagvagina semensemen saucedog jerksamn sucknation penistit jizmwank rapegay tossballs wankjizz titsjerk fistmouth faglinux pussysamn wanktits dogjizz horsejerk nationjizm cockslinux fagsuck jizzsauce mouthwank penispenis homomouth spurtcocks asssauce semenjerk fistlinux asslinux homosamn mansalad vaginacock jizzvagina manass saucesemen gangvagina pissballs dogsauce jerksamn chewgirl boywank saladballs chewhorse pussygang fistass titjerk saladsalad vaginacunt gangjerk cuntpenis semencock fistballs jizzgang saucegay pussymouth ganghomo chewpenis nationpussy chewpiss linuxmouth mouthjerk linuxwank manrape girlboy rapespit penissamn cunthorse rapechew penishorse wanknation saucepussy fagvagina tossgay chewgay cuntfag saucetits asspiss samntits girltits saladtit jizmlinux linuxpenis homowank samngay linuxpussy rapedog jizmboy linuxfag jizmspit titsrape nationvagina girlchew mantits gaygay wanknation vaginachew pissvagina gaypenis saucespurt pussymouth penisspurt saladfist vaginaman sauceass fagspit girlsauce fagdog jizzfag spurtdog titsballs saucenation faghomo spurthorse pissrape vaginahomo boycock saucepiss tosslinux doggang asscunt gayfist cuntass samnmouth fistjizm jerkvagina cockshomo semennation semenpiss mouthvagina jizmgay cuntspit titman rapefag mouthjerk chewgay pussygang jizmhomo cockcunt mansemen saucecock horsegirl chewass mouthpiss nationspurt cocktoss wankjerk gangjizz gangfag titsgay fistsalad chewrape spitcunt cocklinux titsfist gayfist mouthman rapeman spurtcunt pussyspit pissjerk homoboy gangwank cockfist ballsspit samnjerk suckcunt pissgay spitwank titsgang fistgang cuntballs chewrape dogsemen suckdog nationsalad rapemouth horsedog nationrape spurtsauce saucepussy horsecock pissjizz linuxtit mansemen cockvagina suckwank ballsjizm dogjizm boychew horsegirl fistsalad mancunt horsetoss spurtcunt boygay suckgang boysemen girlcocks chewspit jerkfag spurtpiss saucecocks samnhomo gaytit horseballs chewjerk tosspenis horsecocks pussyjerk penistoss suckmouth titchew girlwank suckvagina wanktit sementits homospurt cockdog horsepussy nationlinux linuxcocks jizmrape nationtits spitsemen jerkhorse manmouth jizmnation rapefag linuxgirl mancock suckdog semensauce mouthcock gayjizz homotoss assfag titgang jizmfag wankrape fagballs tosschew pisssemen penisjerk asshorse assass jizzballs chewjizm vaginadog jizmjerk titsass cuntgang dogman nationsauce titjerk girlspurt semenjerk nationmouth boyjizm samnspit fagsalad girllinux girlspurt spurtjerk mantits boyballs dogrape linuxfag chewvagina titssuck cockvagina ballsspit titsemen suckgang ballsboy jizzass cockspiss tosssemen asshorse dogtit cocksmouth wankdog saucejizz rapelinux linuxlinux samnjizz tosshorse samngay cocktits saladspit saladvagina wankass linuxtit nationjizz mouthspurt gaylinux gaymouth saladgay linuxtoss mouthhorse saucejizm dogfist jerkhorse jerkgang jerkspurt wanksauce titrape dogsalad dogvagina fagcock wankwank penissalad linuxpenis cuntballs vaginachew fistjizm fagtit horsetoss cockshorse samngay ballstits dogdog samndog suckpiss cockswank fagtoss dogass horsevagina mouthdog titsmouth penishomo cuntfag jizmcunt cunttit tossspit homosamn mantoss spitjizz samnspit jizzman gayhomo ballshomo jerkfag titsgang manvagina jizzfist sucksalad samnhorse tossvagina titssauce pussysamn gangballs ballscocks girlfist nationjizz samnhomo linuxpussy spithomo nationjizm jizmgay girlpussy saladsauce saladjizz jerkcunt titswank ballsballs samnspurt tosspiss rapemouth wankgang pussyass jizmman saladhorse gaysalad titlinux saladpenis mouthspit jerkass ballsass pussygay vaginapiss saladsauce jizzjerk linuxcocks horsetits penisdog gaygang jizmpenis ballsman mansamn gayass vaginatits cuntlinux jizzwank nationboy fagtits spittits titsfist mouthcocks ballspussy rapetit assballs gaydog rapejerk horsepenis chewtits jizztit spurtnation cuntmouth fagballs jizzpussy jerkmouth wanksamn cockcocks titsgay nationrape manvagina cuntgirl titsrape wankchew cockstits dogsauce wankballs homojerk nationjerk homohorse samnrape cuntgang homopussy spurtrape homofag jizmcocks vaginacocks rapefag cuntcock vaginatits linuxcocks cockhomo wankass cuntboy girlvagina jizzpussy cockpenis mouthnation cockpiss vaginajerk mouthdog sucksalad nationchew jizmsalad nationfag jizmsalad mancocks tittit pussyballs chewfist fistcock semenballs nationcunt semenspit assspurt girlboy cuntchew fistcunt ballschew gangmouth doggay spitpenis titgirl linuxsalad samnfag horsesamn fistboy boyjerk suckgay nationass titsdog boyspit linuxspurt tosssalad spurtpiss ganggay manballs nationtits ballsgang jizmsauce jizmjerk cockvagina horsespit jerkgay wanksuck spurtsamn gangsalad fisttits pisspussy sucksuck saladsauce spittit tossrape titsuck spurtvagina saucesalad linuxcunt titchew vaginasemen saladsuck chewvagina fistspit gangmouth titssalad samnfag gayfag doggang spurtfist spitman gaycunt boyrape mouthpussy sucklinux ballscock dogjizz boyass gayfag saladgang tosssalad saladman cuntwank titballs wanktit linuxhomo pussyballs mancocks samnwank homochew penisass jerkchew pussylinux vaginaman cockchew fagjizz chewsemen dogpenis jizzspit samnsalad vaginagirl jizzpenis horsewank wanksauce cocktoss titsuck fagsemen girlmouth titssamn tosssalad ganghomo rapepiss dogjerk gaydog asscock spurtfag linuxfist fagcocks spitjerk pussyballs titsdog cockass titsboy sucksemen spurtass jizmpussy mouthcocks wanktits titwank chewcocks tossnation vaginasemen suckballs assnation jerksalad chewsauce cuntfist homodog spitchew pissgay linuxrape spitpussy gangpussy jizmsamn horsedog fistsuck fagcock cockstoss fagsuck pussyballs saucetits jizmass gaypenis ballsballs dogjizm rapelinux girljerk samnjizm jerkjizz vaginapussy samncock asscock rapecocks gayjerk linuxjizm gangjerk assspurt boyspit jerkcunt nationpenis dogcock cocksfag mantits jerksalad suckjizm spurtpussy nationpussy horserape jizzballs chewsamn vaginasalad saladballs rapetoss nationpussy pissass nationsuck tossboy ballspussy pisstit jizmlinux spitchew cocksjizm nationman dogtit tosspiss sucktits wanknation semencocks cockstit ballsballs titsrape gaypussy pussyfist cocktit nationtoss samnjizz tossmouth girldog spurtboy titsboy fagjizz doggang saucepussy asscocks nationpussy boyspit cockswank jerktit samnpussy tosspussy asspenis spurtpiss titsmouth linuxsemen mouthgay spitsuck linuxjerk spitman penisfag homotits samnrape spurtcock gayhomo dogboy chewcocks dogtoss rapespit mouthfag wanksuck pussymouth cocksjerk suckjerk girlgirl asssuck linuxjizm saladman wankfist spitsalad dogsamn spitsalad vaginahomo cuntfist pussyhomo dogass doggay suckfag jizztit girlhorse cocksauce semensemen boypussy homovagina gangsamn chewwank jerkdog wankcocks cocksauce titscunt nationpussy tosspiss fistmouth pisssalad asshomo pussyhomo chewass pisstits suckhorse cuntcunt jizzhorse chewjizz vaginaspurt wankjizm rapespit wankgirl rapecock gangballs cockshorse jizzspurt cocksass wankass horseballs mouthfist vaginatits cocktit vaginachew gaypussy titdog samnsauce chewwank fagtit penisgay cockdog horsesamn suckcock girlpussy cockswank cockspiss cockschew horsespurt vaginatoss gayvagina chewdog jizzfist samncunt chewspurt horsesauce tosssauce tittit spurtpussy penisboy jerkman girlcock samnpiss fagsalad asstits saucecunt pussysalad cocksfist suckfag titswank mouthwank pussyballs ballsgay nationspit titmouth fistman girlcocks pussyhomo jizmcock ballspiss fagfag tosscock spitfag mouthtits fistsemen ballsspit ballschew girlfist jizmdog dogtits boyhorse vaginatits dogcocks fistcunt saucechew boycocks fistchew ballswank ballstoss saucejizz saucehomo doghomo jizzhomo jizmsemen manpussy titspussy gangchew ballssamn cockpiss titstoss saladspurt saladspurt rapelinux semenvagina saladjizz girlgang pussyjerk fagman titass linuxtoss ballslinux spurtballs penishomo fistspurt jerkspit samnsauce jerkdog gangchew chewsamn dogjerk titsnation penissemen cockstoss nationman fistfag ballsjizz jizmmouth penisnation spitchew fagcunt samnsemen rapevagina wankdog saladjerk homojizz homotits fagchew manhomo gangsamn saucehorse jizzsuck penisgang jizmass sucktoss cocknation saladspit rapecunt saucehomo homosemen gangjerk titgirl fistass wankrape samntoss samngay linuxballs pussyhomo pussywank titjizm tossvagina titspussy horsepussy titchew ballsgang asshorse jizzvagina ballsgay girlrape suckcunt boycunt homopenis cockstits titsrape spurtsalad linuxboy titrape wanksalad cocksboy chewspit fistwank gangtit mouthjizm boycocks penisgay boysemen fagmouth linuxcock vaginaman jizmjizm cunttit chewgang semenjerk titstit gangsamn wanksalad rapeman cunttit titspit spittit cocksrape gangpenis jizzdog sauceass vaginatit tosssauce vaginatit chewrape jizzgang peniscock chewpenis pissjerk cocksnation gayjizz cocksspurt penisjerk gangpussy saladhomo fagass nationfist samnjizz horsejizm wanksalad mouthass peniswank gayman tosspussy tosscock homogirl chewsamn rapeass manjizz ganggirl jizzwank penisnation penistits penispussy peniscunt linuxboy titfist girlhorse spitchew gangmouth chewlinux nationsemen fagsamn suckchew jizmsemen titsgay girljizm mouthjerk gayballs rapelinux ballsdog rapeboy pussypiss saladman chewballs pissfist gaypussy assgay titsspurt homosamn rapefag manhomo girlsuck gangspit samncocks penistoss gayballs spurtjerk fistballs suckvagina jizmchew saucedog wankass cunttit linuxman saucehomo linuxballs cocksass semensuck tossmouth assgirl gaypiss girlpussy manass chewsalad samnboy jizzjizz gangfag manspurt semenwank vaginaspurt cocksboy assjizz dogcunt chewpussy fistvagina saucesemen spitcunt pissnation titslinux cuntrape cocksrape pussyvagina gayspit gaytit titcock titspurt jizmgay semenhorse saucejerk semenspurt cockslinux pisstoss suckchew dogdog pussyspurt asshomo cunttits asspiss gayspit tosscocks saladcunt manspurt fistfag chewdog spurtgang chewsamn saucepenis semenboy saucedog titlinux spurtjizz jizmvagina girlpiss pussylinux rapelinux fagfag saucehomo cocksass titwank saladvagina spurthomo boyjerk assnation chewwank gaywank fistcocks tosstoss suckvagina fagjizm pussycocks jerksalad titwank cockboy chewnation titrape samnrape saladhomo penisgay girlmouth chewdog jizztit boyman boynation cuntvagina penispenis penisgang gangsuck boyspurt ballsballs saladfist boylinux mantits fagsemen wankass saladjizz rapelinux spurtpiss saladcocks jizmspit rapesalad tosspussy gangsamn jerkspurt fistsemen jerkrape titswank gaytit spurtjerk fagspit boysemen samnsamn penisfist wankspit vaginagang jizzman mouthsamn pussysauce nationcock linuxspit saucejizz assass rapepenis wanktits mouthspit manass vaginatits vaginaballs cuntwank pisswank fagmouth cocksmouth vaginajizz cocksnation chewtit vaginaass pisssamn spurtsemen titstits dogvagina titboy horsejizm spithorse titsjizz jizzjizz saladtoss spitgirl nationnation manjerk jerksemen gangboy vaginacocks spurtgirl asspussy nationpiss girllinux penisgirl pisspiss cocktits saucesuck tossjizm boylinux spurtsemen spurttits linuxpiss titssamn titsfist vaginasalad gangpenis gangboy titcunt nationdog manspurt gaymouth cockstits nationjerk pussysauce jizmtits titman pissman mouthcocks ballstoss pussyjizz boyhorse doghorse boyman sementits suckmouth boygirl homosuck tosspiss spitboy gayfag suckpenis tossgay pissgirl cuntfist pissjizz vaginasalad ballspussy saucespit fistmouth titspussy tosssamn titsballs spurtcocks titsass homosuck wanksemen samnsemen penissuck saladtits dogtit mouthsalad cuntfag jizmcock manballs pissgang rapesemen fistjerk pisspussy assspit pussycocks manspurt nationpiss spittoss horseboy asssamn dogchew rapecock linuxhomo linuxass tossballs cuntpussy jizmass samntits fistwank fistjizz jizzpussy tossjizm vaginafist titsrape rapejizm jerkcunt assjizm horsegirl pussyass cuntchew ballshorse gaysauce jizmhorse horsegang vaginalinux girlvagina nationcunt jizmspurt linuxjerk spurtballs cocksuck wankgang samnass jizmhomo vaginasalad jizzcock tossjerk titstit titpenis pussydog sucksuck sauceboy tossballs spurttoss horsejerk fistpiss boyhorse nationsamn gaypussy tosshorse mouthsemen chewsamn mouthcocks gangsalad doggirl mouthjizz horsesemen spurtjizz semenmouth fagwank saucehomo suckhorse girltoss gaysemen pissman saladfist vaginaballs semenjerk chewmouth penisfag saladspit pussyjizm homohomo girljizz gangsemen cuntpenis cocknation pisssamn saucetit asstoss sucksalad suckcock chewgang horsepenis dogjerk mouthhorse gaycunt saladsalad tossgirl saladtit spurtsemen nationrape linuxjizm jizmlinux peniscunt titsspit girlchew sauceboy tossass titsrape samngirl assnation tossdog cocksnation tossfist dognation titpiss spurtjizz penisvagina saladhorse vaginaboy gayvagina mansauce

    2. Re:Lookup tables don't have to be permanent. by farfolen · · Score: 0, Flamebait

      nice repetition, queerbait.

      --
      werd to yo motha, muh nizzle.
  3. g00d t0 g00!@)!! by diaper_tales · · Score: -1

    Archive-Tar 0.072: up to date. Compress-Zlib 1.16: up to date. Digest 1.0: up to date. Digest-HMAC 1.01: up to date. Digest-MD2 2.0: up to date. Digest-MD4 1.1: up to date. Digest-MD5 2.20: up to date. Digest-SHA1 2.01: up to date. File-CounterFile 0.12: up to date. Font-AFM 1.18: up to date. HTML-Parser 3.26: up to date. HTML-Tagset 3.03: up to date. HTML-Tree 3.11: up to date. libwin32 0.19.1: package libwin32 not found in repositories MD5 2.02: up to date. MIME-Base64 2.12: up to date. PPM 2.1.6: up to date. PPM-Agent-Perl 3.0.4: bundled package - no upgrade available SOAP-Lite 0.55: up to date. Storable 1.0.12: up to date. Tk 800.023: up to date. URI 1.19: up to date. XML-Parser 2.27: up to date. XML-Simple 1.06: up to date.ROCKO ON SLASHDOT!!!!!!!!!!!!!!!

  4. No-one needs more than 64k! by joostje · · Score: 0, Troll

    environment with a very small sum of available memory (sub 6 megs)

    Didn't Bill already explain to us that no-one ever needs more than 64k? So, what's your problem?

    You're not seriously saying thta Bill could be wrong, are you?

    1. Re:No-one needs more than 64k! by MMMMMMMMMMMMMMMMMMMM · · Score: -1

      Just because you can't run Lunix under 64k doesn't mean Bill Gates is wrong. He knows what he is doing.

    2. Re:No-one needs more than 64k! by shepd · · Score: 2, Interesting

      >Just because you can't run Lunix under 64k doesn't mean Bill Gates is wrong.

      You are lying.

      Lunix is designed to run on the Commodore 64, which has only 64k of RAM memory (and only about 30-40k free at that).

      Posting as non-anonymous because I'm amazed that trolls keep using a misspelling of Linux as some kind of insult when its actually a totally different piece of software...

      --
      If you could be told what you can see or read, then it follows that you could be told what to say or think - BoC
    3. Re:No-one needs more than 64k! by Anonymous Coward · · Score: 0

      Obviously we do need more than 64K, because MS-DOS (nee QDOS, Quick and Dirty OS) was designed to run inside a 1MB address space.

      In fact, BillG argued with IBM that DOS should have more than 640K available to it.

      Try learning something before making groundless assertions on Slashdot.

      //FFT

    4. Re:No-one needs more than 64k! by Anonymous Coward · · Score: 0

      You've been uber trolled

    5. Re:No-one needs more than 64k! by farfolen · · Score: 1

      dude...bill gates DID at one time say that 64k should be enough. it's obvious in hindsight that he was wrong, hence the reason the original poster was JOKING. get your panties out of a bunch.

      --
      werd to yo motha, muh nizzle.
    6. Re:No-one needs more than 64k! by Anonymous Coward · · Score: 0

      You've not read my post. Here some of it is, with extra emphasis:

      "Posting as non-anonymous because I'm amazed that trolls keep using a misspelling of Linux as some kind of insult when its actually a totally different piece of software..."

      You haven't been trolled when you point out that someone's a troll...

    7. Re:No-one needs more than 64k! by unitron · · Score: 2

      Please cite your source.

      --

      I see even classic Slashdot is now pretty much unusable on dial up anymore.

    8. Re:No-one needs more than 64k! by farfolen · · Score: 1

      t'was in time, the quotes section. i think it was in the issue with the new iMac.

      --
      werd to yo motha, muh nizzle.
    9. Re:No-one needs more than 64k! by Anonymous Coward · · Score: 0

      It was 640K and it was never actually said... the 640K quote attributed to BillG is like "Play it again, Sam" being atrtibuted to Bogart or "Beam me up Scotty" to Kirk. Everyone is convinced it was said and you'll even find references to it here and there but... IT NEVER HAPPENED.

      Of course, this is /. and it's much better for the penguin crowd if BillG did say it so I don't expect a little thing like TRUTH to stop you from propogating your little piece of fiction.

  5. OT: Tired of "my boss makes me do x" questions by pong · · Score: 5, Insightful

    I'm tired of these questions.

    * The tone is almost always a bit whining
    * The "facts" are presented by one of the parties only, and I bet they have been coloured by personal views most of the time

    Interestingly enough, though, the high number of post about evil and/or stupid managers lead me to believe that the power distance between manager and knowledge workers might be a bit too large in the posters countries.

    I'm a developer myself, and I find that my managers listen to me, and I can't recall a situation where I have explicitly been told to do something. I things were different I'd find another job - simple.

    1. Re:OT: Tired of "my boss makes me do x" questions by Anonymous Coward · · Score: 1, Insightful

      and I can't recall a situation where I have explicitly been told to do something. I things were different I'd find another job - simple.


      So you're a technology prima donna with an ego the size of Jupiter, and an explosive temper to match. Sounds pretty standard for a software developer to me.

    2. Re:OT: Tired of "my boss makes me do x" questions by Anonymous Coward · · Score: 0

      Well...
      He hasn't been in software dev for a long while if he never came across those pointy haired bosses....

      The "tiresome manager" example showed up in almost every company I've been in...
      (about 6 or 7 maybe..)

  6. 6 megs of memory, storage, cache or all of the... by foniksonik · · Score: 2

    6 megs of memory, storage, cache or all of the above?

    What is the complete list of resources available and can you use them all?

    Can you generate some dynamic tables at startup while keeping the most used ones in cache, loaded from storage? I don't mean cache as in a web browser cache, I mean processor cache as in fastest access.

    Keeping the most used, hopefully static lookup tables in cpu cache is wonderful. Then generate the infrequently changed tables and store in RAM first then generate the dynamic user data tables from storage and swap in and out of RAM as needed or as memory use dictates, load balance by percentage with the application tables most used.

    If you're working strictly with something like flash memory this will be much harder to do. No 'storage' just RAM and cache, or maybe just RAM/ROM... ugh... hardware.

    More info please.

    --
    A fool throws a stone into a well and a thousand sages can not remove it.
  7. Re:6 megs of memory, storage, cache or all of the. by diaper_tales · · Score: -1

    Can't locate object method "girl" via package "wank" (perhaps you forgot to load "wank"?) at C:\Perl\test.pl line 1.

  8. IT WORKS!@ by diaper_tales · · Score: -1

    i just need more words :P

    fagboy jizmcock asscocks pisssalad penissuck saucepenis homowank girlspit titsmouth semengirl dogtits boygay titsvagina sucktits titsdog pissvagina rapeboy boypenis girlsuck wankmouth jizmjizz penisfag linuxspit homocock saucesauce rapepiss pussysuck homospit suckass assass semenman dogsauce wanksemen jizzspit girlfag fagvagina gaygirl cocksvagina saucecock sucksuck semenrape spurtcocks sucksauce linuxhorse jizzass peniscunt spitcocks penissauce horserape ballscock rapeman rapelinux boytit saladmouth vaginajizm asslinux spurtass homohomo boyvagina rapepussy tittit faggay pissballs horsesauce horsepiss manvagina suckpenis horseman sementit spitass mouthdog cunthorse semensemen fagjizz boyrape wanktit gayman cocksballs dogpussy dogsauce penisjizm spitsuck homosuck horsecocks spitsauce pisssalad pussyhorse cocksgay penispussy semenboy titcocks jizmman boygirl titvagina spitfag penisass saladcunt semencock boysuck jizmspit

  9. Do both by vyin · · Score: 2, Insightful

    Prioritize the tables that you need to generate.

    Do some profiling on a simulation to figure out how much memory it takes to accomodate certain amount of user data.

    Based on your profiles, generate only as many tables as you can comfortably fit. Obviously, fit the most important, speed improving, tables first.

  10. Compromise by reducing dynamism by Twylite · · Score: 5, Insightful

    You seem to have two main issues here. The first is that a person with (assumedly) less technical competance than you is dictating technical policy; and the second is that the usage of this application is too dynamic to allow for what your boss wants to do.

    You need to establish how technically competant you are compared to your boss. Can you resort to hard technical fact to prove your case? Can you show that the speed sacrifice is negligable? If it is not, can you justify it?

    The last point is important: if speed is so important (and you have to conceed that your boss is more driven by customer requirements than you are) then maybe you need to compromise on some other aspect.

    It is already clear that, although customers can enter any amount of data, they can't enter 6Mb, because there are no enough resources. What about 4 Mb? 2Mb? How much is too much. Decide on a reasonable upper limit for customer data, and work from there. On a system with the limitations you have, this should have been part of the design spec.

    Once you have determined an upper limit for customer data, you can calculate how much memory you have permanently available. It may be possible (depending on your app) to use additional memory when the customer supplies less data.

    --
    i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
  11. Oh come on by Anonymous Coward · · Score: 3, Insightful
    If YOU cannot convince your boss, what makes you think we can? "hey boss, all these linux dudes on SLASH DOT say you're wrong" "Well hell, I guess I am then."

    Suck it up, and do your job like you're told. If he's wrong, you'll all find out the hard way. If he's right, I bet you'll never follow up with us.

    1. Re:Oh come on by barzok · · Score: 2
      If he's wrong, you'll all find out the hard way
      But the boss won't get the blame.
  12. Reminds me by keesh · · Score: 2

    of a programming assignment (in z80 assembly) I was given -- basically a bit of number crunching. It was to be marked purely on execution speed, with the lecturer betting a considerable (to a student anyway) sum that no-one could beat his code. He was rather upset when I wrote something two orders of magnitude faster. I'd precalculated all the results and stuck them in a lookup table. I even aligned the lookup table in memory, so the entire thing was three ld operations.

    Just bear that in mind when someone says speed is everything. If you've got time, give them a lookup table and see if they really mean that.

    1. Re:Reminds me by Mr+Z · · Score: 1

      Yeah, lookup tables are cool. I recently wrote a Life implementation for an old 890kHz CPU. The CPU itself is approximately a 0.1 MIPS device (0.89 MHz, average instruction length around 8 or 9 cycles).

      Even on that slow machine, I had Life running at a respectable clip. I used one lookup table to handle packed arithmetic (I did 8 parallel 2-bit adds in a single 16-bit accumulator), and another to handle the life/death state transitions. I used yet another lookup table to map life cells to pixels on the display (since the display has a funky encoding). In the end, I had a 32x24 life field running at about 8 frames per second on that beast. The entire code was about 1K words, and the RAM footprint was tiny too (about 240 bytes for the life state, 32 words for stack, and 240 words of display memory).

      You do have to balance lookup tables against raw calculation though. Keep in mind also that lookup tables can lead to local speedups and global slowdowns. On modern machines, for example, lookup tables can thrash out your L1 caches (or in extreme cases, your L2 cache). Remember that optimization is a global problem.

      For instance, if you're writing a Variable-Length Code decoder for something like MPEG video decode, you can't just make a lookup table for the maximum code length. Well, technically you could, but since the maximum code length is 26 bits, you'd be in for a 64 mega-entry table. If each table entry is only four bytes, that's 256 megabytes. So obviously, you have to make some engineering tradeoffs.

      My personal rule of thumb is that lookup tables shouldn't be much larger than 4K entries, unless performance is absolutely critical. The tables should actually be smaller if at all possible.

      --Joe
  13. Boss's problem by jquirke · · Score: 3, Interesting

    Well if the project flops because there isn't enough memory, then it will be the boss who takes the blame, not you, so I suggest just go along and agree with him, then laugh at him at the end when the code has to be rewritten and say "I told you so".

    --jquirke

    1. Re:Boss's problem by spoonist · · Score: 1

      Yeah, right. And who does the boss blame? Why, the grossly incompetent employee who got the project into this mess, of course.

    2. Re:Boss's problem by cs668 · · Score: 1

      That is why you give him a nice email outlineing the choices and limitations. Then get hime to make the choice.

      Print out the email chain and then you are off the hook.

    3. Re:Boss's problem by Anonymous Coward · · Score: 0

      You're very naive if you think such an "email" will make the slightest bit of difference to the outcome.

      It might help you with respect to collecting unemployment, though...

      But PRINT it out and take it home before you are fired. Your boss can cover his tracks rather well by sacking you, and having security frog-march you out of the building...

    4. Re:Boss's problem by cs668 · · Score: 1

      I don't know about naive.

      First if you drive the email conversation correctly you can make him basically order you to make the descision.

      Then when push comes to shove you take it to him first when he tries to push the blame. If he won't correct the problem a paper copy goes to his boss and on up the chain and an electronic copy goes to everyone in the company with an explanation. So even if you loose you win.

    5. Re:Boss's problem by Anonymous Coward · · Score: 0

      The word is 'LOSE' not 'LOOSE'

      LOOSE = Not-tight.
      LOSE = To not win.

    6. Re:Boss's problem by Anonymous Coward · · Score: 0

      E-mailing your boss, explaining pros and cons is fine....As said before, have him think he actually provided you with the best trade-off..

      Having the whole company e-mailed is always a BAD idea. You'll appear as being frustrated and mean, nothing else.
      Then your boss will happily put whatever blame on you !

    7. Re:Boss's problem by cs668 · · Score: 1

      I did throw it out as a last resort.

      If the guy really is F*cking you and you can prove it you can either take him to court for your job back( there is already way to much suing going on and you probably don't want to work there anyway ) or you can embarass him as publically as possible.

  14. Not enough information by inkfox · · Score: 2
    You haven't provided enough information for any reasonable answer.

    This sure sounds like a case where the only logical thing to do is to implement the code both ways if at all possible, and to benchmark both to determine whether the more compact version is fast enough for your needs.

    --
    Says the RIAA: When you EQ, you're stealing bass!
  15. Re:OT: True cases by hbackert · · Score: 2, Insightful

    In essence I can second that. Doing IT support of all kind (from desktop support to setting up large scale WANs) I know customers do those things:

    • The computer must run all the time, but when they see the price for a full clustered shared RAID system, they suddenly can accept a downtime of 1 day (complete hardware failure).

      They want to keep backup data for at least one year, but at the price of those SDLT taped, they tend to choke and cut it down a lot.

      Fully redundant links (downtime is not acceptable), but in the end they choose a simple T1 (with service agreement for 99.x% uptime guarantee).

    The point of those examples? Customers have wishes without the full knowledge of the consequences. Like the boss who thinks "Speed is everything". While it now is very convinient to say "My boss said so, I know it will fail, but he will be blamed." this does not work. Customers (and bosses) have dreams and wished, but it's up to us (engineers, programmers) to pull them down to Earth and explain them why it's a bad idea and how to compromise, so everyone is happy. So far, this worked very well for me. I bet this works for most bosses too.

    PS: I know there are some bosses/customers/etc. who absolutely know better, no matter what you do. And the answer to the problem is: use look up tables to gain speed if there is memory available, drop them if memory gets tight, and do a graceful abort if memory is full. And limit the valid input to useable amounts by definition (Specs).

  16. Small amount of memory? by SN74S181 · · Score: 2, Insightful

    6 megs might be seen as some to be a small amount of memory. Please don't use up the adverb 'very' in this fashion, however. Many of us have coded in less than 100K of memory. Some of the smaller controllers (i.e. Motorola 6805s) have less than 128 bytes of Read/Write memory (and less than 2K of program memory) and are quite useful. Assembly language becomes necessary.

    6 megs is one hell of a lot of memory. What kind of bloatware world have I fallen asleep and woken up to find myself in?

  17. Dealing with the Boss by Utopia · · Score: 3, Interesting

    Three years back I was the development lead of a certain project. The project design was to be reviewed by a person from some other group. The reviewer in my opinion was a excellent speaker but nothing more than. Because of the reviewer's expierece he/she carried a lot of weight in the organization. The project had several complexities which utimately meant that other than me, the reviewer was the only person with the right 'qualifications' to understand the system. The UI design had already met customer approval, so only the behind the scenes stuff was under review.

    The design review came back with several comments abouts the scalability of the application, performance, stability etc. with buzzwords in appropiate places. Most of the comments very total BS. I tried to fight those arguments, but with little sucess. My boss had little understanding about how the whole thing would work, but sided with the reviewer because of his/her credentials. After several days of impasse I finally caved-in and changed the design document to match the reviewer's ideas. However, the finally code was based on my original design. No one knew. My boss was happy, the reviewer was happy and I was happy. 3 years later the customer needs have increased by 5 times the original planned system capacity, but it has performed flawlessly.

    I am not suggesting you do the same. I was I playing a dangerous game - one that was necessary for the project's success.

    1. Re:Dealing with the Boss by WolfWithoutAClause · · Score: 2
      "After several days of impasse I finally caved-in and changed the design document to match the reviewer's ideas. However, the finally code was based on my original design. No one knew. My boss was happy, the reviewer was happy and I was happy."

      That's evil. I like it ;-)

      Kudos.

      --

      -WolfWithoutAClause

      "Gravity is only a theory, not a fact!"
  18. Sounds like you haven't got your requirements down by WolfWithoutAClause · · Score: 2
    You need to write down what the system HAS to do to be saleable/useable. You can write down what you'd like it to do on top ("run as fast as possible").

    You need to do that, and write it down between you. Then you need to get your manager to sign it off. Then when your manager says- "you need to make it faster" then you can point to the requirements and say- I've achieved 1 ms, like it says here.

    Otherwise, you will never be finished and never deploy your system. It's nearly always possible to modify the code to improve performance.

    I agree with the other posters too, if you have to throw away some part or all of the tables to do a user request, do that, and recalculate them afterwards.

    --

    -WolfWithoutAClause

    "Gravity is only a theory, not a fact!"
  19. Blabla by Anonymous Coward · · Score: 0

    reguardless

    Send my "reguards" to your grade school English teachers...

    This poster's name secretly replaced with Folgers Crystal Meth

  20. Memory isn't always fast by redelm · · Score: 4, Informative
    Your boss is right in wanting speed. And I'd certainly use more memory if it got me speed. RAM is cheap, and users don't mind getting more if their problem gets bigger. That's a predicatable consequence.

    The real issue becomes that LUTs aren't always fast. And bigger ones are slower because of the lower probability of a cache hit. DRAM has horrible latency, 120-180ns that corresponds to 120-360 CPU clocks. You can do alot of calcs in that time! Also the LUT can flood out cache to incur more cache misses.

    I hope you are not right about big user data being fatal. It should never be. The pgm might get into swapping or thrashing and run real slow, but crashing is not acceptable. And how does your pgm perform when swapping? It will always be slower, but some go into light swapping while other pgms get into heavy thrashing.

    1. Re:Memory isn't always fast by rhedin · · Score: 1

      Umm.... keep in mind that not everything runs on a PC with a hard disk. Sometimes swapping isn't an option-- there's just no where to swap to.

      The issue with the question is that it basically states that the user has no upper bounds on how much memory they can manually enter. What should happen is that either (1) when memory fills up, the user cannot enter more; or (2) when memory gets low, deallocate LUTs and shift to real time calculations at the expense of speed (and if memory still fills up, see #1)

      Also, it may not be possible to add RAM to the system. I've worked on systems where I only had the 512 BYTES of RAM, plus a 2K ROM. Adding more RAM would have doubled, tripled, or more the cost of the end system which wasn't an option.

      rob.

  21. oh no. by /dev/trash · · Score: 1

    Your life is gonna suck, and then when the project fails and they downsize ya, well I hope ya have savings.

  22. What about a .db file? by spike2131 · · Score: 1

    A comprimise solution might be to store the lookup tables on disk in something like a Berkley .db file? While it would be substantially slower to retrieve data from the disk than directly from RAM, it could still be faster than doing your cpu intensive calculations.

    It would make your memory overhead problem go away, though it brings up the new issue of disk space....

    --
    SpyDock: Scientific Python in a Docker container
  23. Your boss is just following Bill's law... by twoslice · · Score: 2, Funny

    640Kb ought to be enough for anybody
    - Bill Gates, 1981

    --

    From excellent karma to terible karma with a single +5 funny post...
  24. Solution to both problems ... by Monkelectric · · Score: 2

    ok, instead of insisting your boss is lame and you are right, how about compromising -- write two vesions of the code -- one that uses lookups (which you generate at runtime), and one that uses no lookups but saves ram. Switch between the two as necessary :)

    --

    Religion is a gateway psychosis. -- Dave Foley

  25. Just in time lookups by oliverthered · · Score: 2

    Why not make the system drop lookup tables if memory is getting low and rebuild them when there's enough memory free. e.g.

    begin
    mysinfunc=sinfunc;
    dostuff
    end

    function sinfunc(x)
    if(loadsofmemory){
    build(sinlookuptable);
    mysinfunc = sinlookupfunc;
    }
    return sin(x);
    end function

    //you memory manager can do somthing like this
    function allocatememory
    if(memory_low){
    mysinfunc=sinfunc;
    drop(sinlookuptable);
    }

    end function

    The lookup tables should be stated, so the one that gives the least performance increase is droped first.

    --
    thank God the internet isn't a human right.
  26. Actually it was 640k, and he said it around 1981 by Glonoinha · · Score: 1

    "Nobody will ever need more than 640k RAM!" -- Bill Gates, 1981 Altavista : "Nobody will ever need more than 640k"

    --
    Glonoinha the MebiByte Slayer
  27. Re:Actually it was 640k, and he said it around 198 by unitron · · Score: 2

    Well now that I've tried Altavista I appreciate Google even more, but all Altavista seems to return is other people saying that Gates said that. I can say that the missing 18.5 minutes of tape was Nixon saying that Coca-Cola is a miracle drug and Pepsi-Cola (for whom he worked at one point) is made from fetuses conceived and aborted expressly for that purpose, but no matter how many times it might get repeated, that won't make it true (or false, for that matter).

    --

    I see even classic Slashdot is now pretty much unusable on dial up anymore.