Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
remove() accepteert gewoon ieder object, zelfs NULL. add() niet..oisyn schreef op maandag 23 mei 2011 @ 18:04:
Die snap ik eerlijk gezegd ook niet. Het is een HashSet<Short>, dus er passen sowieso geen Integers in, lijkt mij. Waarom accepteert de remove() die dan wel?
Zie:
http://download.oracle.co...#remove(java.lang.Object)
http://download.oracle.co...java/util/Set.html#add(E)
Let op: Mijn post bevat meningen, aannames of onwaarheden
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ik zie nu pas da tje je post hebt aangepast.oisyn schreef op maandag 23 mei 2011 @ 18:08:
Je beantwoordt mijn vraag niet, je herhaalt alleen dat het zo is
[ Voor 8% gewijzigd door Gamebuster op 23-05-2011 18:09 ]
Let op: Mijn post bevat meningen, aannames of onwaarheden
Jawel toch? Je maakt immers een local genaamd 'undefined' aan, en die krijgt als waarde dat-ding-dat-je-geeft-aan-niet-geinitialiseerde-variabelen. Dat laatste ding is gewoon de undefined die je gewend bent.oisyn schreef op maandag 23 mei 2011 @ 15:52:
Heb je toch nog niets aan als je undefined herdefinieert voordat je jquery-code aanroept?
Je local 'undefined' verbergt vervolgens weer de geherdefinieerde undefined uit een outer scope...
Generifying existing classes.oisyn schreef op maandag 23 mei 2011 @ 18:04:
Die snap ik eerlijk gezegd ook niet. Het is een HashSet<Short>, dus er passen sowieso geen Integers in, lijkt mij. Waarom accepteert de remove() die dan wel?
.edit: OMG, remove() accepteert geen T maar een Object. Waarom?!
Ipsa Scientia Potestas Est
NNID: ShinNoNoir
Sinds wanneer heeft Tweakers.net een pagina voor overleden tweakers?defcon84 schreef op maandag 23 mei 2011 @ 16:21:
[...]
is blijkbaar al een tijdje geleden
'Glimi is op 25 januari 2011 overleden'
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Die video laat C++ er nog simpel uit zienGamebuster schreef op maandag 23 mei 2011 @ 18:03:
[...]
O damn! Die 1e is erg!
Ik vraag me af wie dat had geraden van te voren en de rede daarvan ook wist.
Ik had 1.
Verwijderd
Sebazzz schreef op maandag 23 mei 2011 @ 18:28:
[...]
Sinds wanneer heeft Tweakers.net een pagina voor overleden tweakers?
Nieuw : In Memoriam statuszeef schreef op maandag 16 mei 2011 @ 12:07:
Op een speciale gallery-pagina tref je een overzicht aan van alle Tweakers die ons ontvallen zijn.
Tja, ik snap het ook niet echt..oisyn schreef op maandag 23 mei 2011 @ 18:04:
Die snap ik eerlijk gezegd ook niet. Het is een HashSet<Short>, dus er passen sowieso geen Integers in, lijkt mij. Waarom accepteert de remove() die dan wel?
.edit: OMG, remove() accepteert geen T maar een Object. Waarom?!
Alsof je ooit een set met longs hebt en denkt: "Nu ga ik alle integers verwijderen."
Maar dat hele filmpje toont alleen maar quirks eigenlijk. Die zullen in C# ook wel genoeg te vinden zijn...
Dit is ook een grote WTF uit de video:
1
2
| Object number = (true) ? new Integer(3) : new Float(1.0); System.out.println(number); |
Wat denk je dat dit print?
Ook wel een mooie quirk.
¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸
Die vind ik nog wel te verklaren eigenlijk. Vooraf zal wel geevalueerd worden wel datatype nodig is, en aangezien een int wel in een float past zonder precisie te verliezen, maar andersom niet zal er wel een float gekozen zijnTheCoolGamer schreef op maandag 23 mei 2011 @ 20:01:
[...]
Dit is ook een grote WTF uit de video:
Java:
1 2 Object number = (true) ? new Integer(3) : new Float(1.0); System.out.println(number);
Wat denk je dat dit print?
spoiler:3.0
![]()
Ook wel een mooie quirk.
Xbox
Even the dark has a silver lining | I'm all you can imagine times infinity, times three
Maar beide zijn objecten, geen primitive types. Objecten zouden hier niet gecast hoeven te worden om in Object te kunnen passen.BM schreef op maandag 23 mei 2011 @ 20:21:
[...]
Die vind ik nog wel te verklaren eigenlijk. Vooraf zal wel geevalueerd worden wel datatype nodig is, en aangezien een int wel in een float past zonder precisie te verliezen, maar andersom niet zal er wel een float gekozen zijn
Nog eentje met de ?-operator:
1
2
3
4
| char x = 'X'; System.out.println(true ? x : 0); // "X" int i = 0; System.out.println(true ? x : i); // "88" |
¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸
Let op: Mijn post bevat meningen, aannames of onwaarheden
Nieuw : In Memoriam statusSebazzz schreef op maandag 23 mei 2011 @ 18:28:
[...]
Sinds wanneer heeft Tweakers.net een pagina voor overleden tweakers?
"The people who are crazy enough to think they could change the world, are the ones who do." -- Steve Jobs (1955-2011) , Aaron Swartz (1986-2013)
Geen .plan, vandaar. Ik volg de mededelingen niet omdat ik ze niet in de tracker ziet
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Oh wacht, ze geven die parameter natuurlijk ook niet op bij de aanroep. Ik dacht even dat ze 'undefined' meegaven vanuit de aanroepende functieeamelink schreef op maandag 23 mei 2011 @ 18:12:
[...]
Jawel toch? Je maakt immers een local genaamd 'undefined' aan, en die krijgt als waarde dat-ding-dat-je-geeft-aan-niet-geinitialiseerde-variabelen. Dat laatste ding is gewoon de undefined die je gewend bent
Je local 'undefined' verbergt vervolgens weer de geherdefinieerde undefined uit een outer scope...
Waarom? De integer gaat van -2147483648 t/m 2147483647. Er is dus geen +2147483648, de eerstvolgende waarde na +2147483647 (0x7fffffff) is -2147483648 (0x80000000).Gamebuster schreef op maandag 23 mei 2011 @ 21:14:
Ik sta echt versteld dat Math.abs(Integer.MIN_VALUE) gelijk is aan Integer.MIN_VALUE.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ik wil zoveel mogelijk zelfstudie doen, dus gewoon met een boek erbij knallen
En op welk niveau is dit? Heb zelf 4 jaar praktijkervaring met .NET 2.0 t/m 4, en ben HBO niveau
[ Voor 9% gewijzigd door ThaStealth op 23-05-2011 22:14 ]
Mess with the best, die like the rest
code: http://pastebin.com/5jJeAGDr
*denkt: Wat zou er gebeuren als ik glutSwapBuffers() weghaal?*
*compile & run*
*Beeld van Mac OS X loopt vast*
En nog een manier hoe je niet alleen je eigen programma maar zelfs het hele OS onbruikbaar kan maken.
[ Voor 3% gewijzigd door Gamebuster op 23-05-2011 22:25 ]
Let op: Mijn post bevat meningen, aannames of onwaarheden
Als je de video af had gekeken had je gezien dat dat dus niet waar isBM schreef op maandag 23 mei 2011 @ 20:21:
[...]
Die vind ik nog wel te verklaren eigenlijk. Vooraf zal wel geevalueerd worden wel datatype nodig is, en aangezien een int wel in een float past zonder precisie te verliezen, maar andersom niet zal er wel een float gekozen zijn
Verwijderd
Het type van de (X?Y:Z)-expressie wordt statisch bepaald; het is de 'meet' van de typen van Y en Z. De meet van Integer en Float is Float, dus Integer wordt gecast naar Float. Als je dit niet zou doen, zou niet elke expressie (en dus niet elk programma) met een ternaire operator altijd een bruikbaar statisch type kunnen krijgen.TheCoolGamer schreef op maandag 23 mei 2011 @ 20:34:
[...]
Maar beide zijn objecten, geen primitive types. Objecten zouden hier niet gecast hoeven te worden om in Object te kunnen passen.
[ Voor 16% gewijzigd door Verwijderd op 23-05-2011 23:47 ]
1
| Class c = (true ? new Integer(0) : new Float(0)).getClass(); |
De melding is dat je een float niet kan dereferencen. Had natuurlijk wel gewerkt als het een Float was. Dit werkt wel:
1
| Class c = (true ? (Number)new Integer(0) : new Float(0)).getClass(); |
c is dan gewoon Integer. Er vindt hier geen unboxing plaats aangezien een van de operanden een Number is (zonder compile-time type informatie dat het een int was). Een Float is ook een Number, dus het resultaat van de ?: is een Number. De Integer blijft intact, want de reference wordt gecast, en er treedt geen conversie op.
[ Voor 18% gewijzigd door .oisyn op 24-05-2011 01:11 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Veel (alle?) MS examens gaan via ProMetric, die zitten overal in het land. http://www.register.prometric.com/Menu.aspThaStealth schreef op maandag 23 mei 2011 @ 21:58:
Ik ben aan het zoeken hoe ik Microsoft gecertificeerd kan worden (ben voornamelijk .NET ontwikkelaar). Zoals ik het nu wil ik Windows Developer 4 worden, en moet ik dus een 4tal examens doen.
Ik wil zoveel mogelijk zelfstudie doen, dus gewoon met een boek erbij knallen. Ik kan alleen nergens testlocaties vinden, dus waar je het examen kan afnemen (alleen bij master-it kan dit heb ik gezien?) Heeft iemand een idee waar ik een locatie bij mij in de buurt kan vinden (omgeving limburg)
En op welk niveau is dit? Heb zelf 4 jaar praktijkervaring met .NET 2.0 t/m 4, en ben HBO niveau
Kater? Eerst water, de rest komt later
Aha, thnxHaan schreef op dinsdag 24 mei 2011 @ 08:27:
[...]
Veel (alle?) MS examens gaan via ProMetric, die zitten overal in het land. http://www.register.prometric.com/Menu.asp
[ Voor 22% gewijzigd door ThaStealth op 24-05-2011 08:56 ]
Mess with the best, die like the rest
Nothing to see here!
Verder moet ik een MCPD examen doen, ik neem aan dat het niveau hiervan hoger is dan een MCTS examen, hoeveel hoger? (Nog steeds genoeg om alleen uit boek te doen?)
Mess with the best, die like the rest
Verwijderd
Dat klinkt helderder dan mijn verklaring.oisyn schreef op dinsdag 24 mei 2011 @ 01:08:
Je mist het punt. [...]
[ Voor 4% gewijzigd door Verwijderd op 24-05-2011 09:12 ]
Verwijderd
Dat moet zeker wel te doen zijn, MCTS is twee examens en MCPD drie.ThaStealth schreef op dinsdag 24 mei 2011 @ 09:08:
Maar zijn de MCTS examens te doen zonder training (alleen praktijkervaring) + leren uit een boek, of is het niveauverschil zo hoog dat training geadviseerd is?
Verder moet ik een MCPD examen doen, ik neem aan dat het niveau hiervan hoger is dan een MCTS examen, hoeveel hoger? (Nog steeds genoeg om alleen uit boek te doen?)
Zoals ik het uitgevogeld heb meot je 3 MCTS examens doen:Verwijderd schreef op dinsdag 24 mei 2011 @ 09:17:
[...]
Dat moet zeker wel te doen zijn, MCTS is twee examens en MCPD drie.
MCTS: .NET Framework 4, Windows Applications
MCTS: .NET Framework 4, Service Communication Applications
MCTS: .NET Framework 4, Data Access
En dan mag je MCPD Pro: Designing and Developing Windows Applications Using Microsoft .NET Framework 4 doen?
Maar ik zou graag de ervaringen een beetje willen weten, hoe andere deze examens ervaren hebben (en of het meerwaarde heeft natuurlijk)
[ Voor 12% gewijzigd door ThaStealth op 24-05-2011 09:22 ]
Mess with the best, die like the rest
De regels van de ternaire operator definieren dat expliciet. Als beide converteerbaar zijn naar numerieke types, dan worden ze ook geconverteert.Verwijderd schreef op dinsdag 24 mei 2011 @ 09:10:
[...]
Maar waarom wordt er nog gekozen voor unboxing+conversion als beide subexpressies Numbers zijn? Heeft het voorrang ofzo?
Zie ook http://java.sun.com/docs/...ml/expressions.html#15.25
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ik ben ook bezig met me afstudeerscriptieAndurin schreef op dinsdag 24 mei 2011 @ 09:19:
Bah, weer een dag niet programmeren... Zo`n afstudeer scriptie schrijven kost veel te veel tijd en is veel te saai >.<
Nothing to see here!
Verwijderd
Oke ik heb het web gedeelte gevolgd, ben nu MCTS Web. Ik heb het Microsoft pakket gehaald waar alle boeken en proefexamens in zitten en deze gelezen etc.. en daarna de proefexamens gemaakt. Let vooral op de tips in de boeken. Hier zatten ook nog kortings bonnen voor de examens in dat was niet vervelend.ThaStealth schreef op dinsdag 24 mei 2011 @ 09:21:
[...]
Zoals ik het uitgevogeld heb meot je 3 MCTS examens doen:
MCTS: .NET Framework 4, Windows Applications
MCTS: .NET Framework 4, Service Communication Applications
MCTS: .NET Framework 4, Data Access
En dan mag je MCPD Pro: Designing and Developing Windows Applications Using Microsoft .NET Framework 4 doen?
Maar ik zou graag de ervaringen een beetje willen weten, hoe andere deze examens ervaren hebben (en of het meerwaarde heeft natuurlijk)
StoerRutix schreef op dinsdag 24 mei 2011 @ 10:14:
[...]
Ik ben ook bezig met me afstudeerscriptie.
Ik heb het niet zo op documentatie dus ik voel je pijn
Ik heb zelf onderzoek gedaan naar de mogelijkheden voor het bedrijf om Android / Iphone applicaties te ontwikkelen, en hoe websites te ontwikkelen die er fatsoenlijk uitzien op smartphones ^^ Nog een maand tot de presentatie...
Hear, hear. Nog 2 weken, dan moet het ingeleverd worden... net nu het programmeren leuk begon te worden.Rutix schreef op dinsdag 24 mei 2011 @ 10:14:
[...]
Ik ben ook bezig met me afstudeerscriptie.
Ik heb het niet zo op documentatie dus ik voel je pijn
There are only 10 types of people in the world: those who understand binary and those who don't.
Mag er niet heel veel over zeggen maar ik heb onderzoek gedaan naar het corrigeren van gezichtposes voor gezichtsherkenning. (dus iemand die opzij kijkt corrigeren naar full frontal)Andurin schreef op dinsdag 24 mei 2011 @ 10:22:
[...]
StoerMet welk onderwerp ben jij bezig dan?
Ik heb zelf onderzoek gedaan naar de mogelijkheden voor het bedrijf om Android / Iphone applicaties te ontwikkelen, en hoe websites te ontwikkelen die er fatsoenlijk uitzien op smartphones ^^ Nog een maand tot de presentatie...
Nothing to see here!
Een goed voorbeeld van een goede site op je mobiel, vind ik persoonlijk http://m.nos.nl (vroeger was ie nog beter, zie ik nu)Andurin schreef op dinsdag 24 mei 2011 @ 10:22:
[...]
StoerMet welk onderwerp ben jij bezig dan?
Ik heb zelf onderzoek gedaan naar de mogelijkheden voor het bedrijf om Android / Iphone applicaties te ontwikkelen, en hoe websites te ontwikkelen die er fatsoenlijk uitzien op smartphones ^^ Nog een maand tot de presentatie...
Ah, die is ook wel leuk inderdaad. Gebruik zelf http://m.nu.nl in mijn voorbeelden, of de website die ik zelf natuurlijk heb gemaaktHoogie2004 schreef op dinsdag 24 mei 2011 @ 10:25:
[...]
Een goed voorbeeld van een goede site op je mobiel, vind ik persoonlijk http://m.nos.nl (vroeger was ie nog beter, zie ik nu)
En Rutix: Dat klinkt best ingewikkeld, maar ook wel erg leuk
Jep. Had alleen nog wat meer tijd gewild voor wat meer wildere testenAndurin schreef op dinsdag 24 mei 2011 @ 10:29:
[...]
Ah, die is ook wel leuk inderdaad. Gebruik zelf http://m.nu.nl in mijn voorbeelden, of de website die ik zelf natuurlijk heb gemaakt![]()
En Rutix: Dat klinkt best ingewikkeld, maar ook wel erg leuk
Nothing to see here!
Heb je een linkje waar je dat pakket besteld hebt?Verwijderd schreef op dinsdag 24 mei 2011 @ 10:15:
[...]
Oke ik heb het web gedeelte gevolgd, ben nu MCTS Web. Ik heb het Microsoft pakket gehaald waar alle boeken en proefexamens in zitten en deze gelezen etc.. en daarna de proefexamens gemaakt. Let vooral op de tips in de boeken. Hier zatten ook nog kortings bonnen voor de examens in dat was niet vervelend.
Mess with the best, die like the rest
http://m.funda.nl natuurlijkHoogie2004 schreef op dinsdag 24 mei 2011 @ 10:25:
[...]
Een goed voorbeeld van een goede site op je mobiel, vind ik persoonlijk http://m.nos.nl (vroeger was ie nog beter, zie ik nu)
Sounds like a plan.
Going for adventure, lots of sun and a convertible! | GMT-8
Aah, ik heb een vriend geholpen met zijn verhaal over de mogelijkheden van Android / iOS en Flash Lite / AIR voor rapid prototyping. Ik blijf erbij dat Flash Lite of AIR momenteel de snelste en makkelijkste manier om prototypes te maken. Die later kunnen worden omgezet naar native Symbian, Android, iOS apps. Het is snel genoeg voor usability tests en je kan genoeg mensen vinden die ervaring mee hebben.StoerMet welk onderwerp ben jij bezig dan?
Ik heb zelf onderzoek gedaan naar de mogelijkheden voor het bedrijf om Android / Iphone applicaties te ontwikkelen, en hoe websites te ontwikkelen die er fatsoenlijk uitzien op smartphones ^^ Nog een maand tot de presentatie...
Nothing to see here!
Ik vind het nog steeds niet logisch dat als je een state machine hebt met een enter-actie dat als je vervolgens in enter-active de transitie cancelled. De cancel van de huidige state wordt aangeroepen ipv van de state waar naartoe je wilde bewegen.
[ Voor 60% gewijzigd door alienfruit op 24-05-2011 13:18 ]
Dat is zo irritant. Had ik onderlaatst ook met een programma. Die installeerde die babylon shit mee. Nog een pest om die eraf te krijgen ook -.-alienfruit schreef op dinsdag 24 mei 2011 @ 13:03:
Skype anders installeer je even met je update Skype toolbars mee zonder te vragen
Nothing to see here!
Dat is inderdaad ook wel een goed idee, zal er in mijn vrije tijd maar is naar kijkenalienfruit schreef op dinsdag 24 mei 2011 @ 12:47:
[...]
Aah, ik heb een vriend geholpen met zijn verhaal over de mogelijkheden van Android / iOS en Flash Lite / AIR voor rapid prototyping. Ik blijf erbij dat Flash Lite of AIR momenteel de snelste en makkelijkste manier om prototypes te maken. Die later kunnen worden omgezet naar native Symbian, Android, iOS apps. Het is snel genoeg voor usability tests en je kan genoeg mensen vinden die ervaring mee hebben.
Verwijderd
Hier staan de Self-Paced Training Kits:ThaStealth schreef op dinsdag 24 mei 2011 @ 11:28:
[...]
Heb je een linkje waar je dat pakket besteld hebt?
http://www.comcol.nl/them...cation/index.php?bann-bv4
Verwijderd
Kater? Eerst water, de rest komt later
Verwijderd
Ja, maar waarom moet ik dat apart downloadenHaan schreef op dinsdag 24 mei 2011 @ 14:05:
Dat zal ook wel de reden zijn dat er een Silverlight toolkit is
Ipsa Scientia Potestas Est
NNID: ShinNoNoir
Het is rond, the house is mineHaan schreef op maandag 23 mei 2011 @ 10:19:
Ik heb in ieder geval een halve dag vrij ivm huizen bezichtigen. Nog geen uur geleden het perfecte huis bekeken, dus nu e.e.a. aan het regelen om te zorgen dat ik het ook kan gaan kopenDus even duimen allemaal, er is mogelijk iemand voor ons die er net eerder bij was, zou erg jammer zijn als die het huis wegkaapt.
Kater? Eerst water, de rest komt later
Haan schreef op dinsdag 24 mei 2011 @ 14:39:
[...]
Het is rond, the house is mineonder voorbehoud van financiering Wel snel gegaan, maar een weloverwogen beslissing.


Daar begint het tegenwoordig wel redelijk op te lijken. De meeste moderne processor architecturen ondersteunen allemaal 4-wide SIMD of meer en bij de meeste zijn branches redelijk duur. Daarbij is het heden ten dagen gewoon zo dat in vrijwel ieder geval een linear search sneller is dan een binary search. Zeker als je maar ~1000 elementen hoeft te doorzoeken bijvoorbeeld.RayNbow schreef op dinsdag 24 mei 2011 @ 14:36:
Want ruwe performance trucjes zijn uiterst universeel en algoritmen zijn dat totaal niet, nietwaar?
Daar komt nog eens bij dat lineare searches gewoonweg simpeler te begrijpen zijn en dat als het nodig is ik altijd nog van datastructuur of search algoritme kan wisselen.
[ Voor 59% gewijzigd door PrisonerOfPain op 24-05-2011 14:57 ]
Great rebuttal!
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
We houden de champagne nog even dicht tot er daadwerkelijk contracten worden getekend, maar een beetje feest is het al wel!

Kater? Eerst water, de rest komt later
Gefeliciteerd!Haan schreef op dinsdag 24 mei 2011 @ 14:39:
[...]
Het is rond, the house is mineonder voorbehoud van financiering Wel snel gegaan, maar een weloverwogen beslissing.
De complexiteit geld ook vaak voor veel elementenPrisonerOfPain schreef op dinsdag 24 mei 2011 @ 14:40:
[...]
Daar begint het tegenwoordig wel redelijk op te lijken. De meeste moderne processor architecturen ondersteunen allemaal 4-wide SIMD of meer en bij de meeste zijn branches redelijk duur. Daarbij is het heden ten dagen gewoon zo dat in vrijwel ieder geval een linear search sneller is dan een binary search. Zeker als je maar ~1000 elementen hoeft te doorzoeken bijvoorbeeld.
Daar komt nog eens bij dat lineare searches gewoonweg simpeler te begrijpen zijn en dat als het nodig is ik altijd nog van datastructuur of search algoritme kan wisselen.
Nothing to see here!
“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”
Nee de complexiteit geld voor n elementen en het probleem is dan ook dat researchers snel naar een log n oplossing grijpen terwijl n nooit groot gewoeg is om dat rechtvaardigen. Daar komt nog eens bij dat een linear search extreem makkelijk naar SIMD om te zetten (en daarmee best case een 4x speed increase te halen). Een searchtree/bineary search/ander branchy geheel heeft dat niet omdat ieder element een andere kant op branched waardoor je aan simpele scalar code vast zit met een hoop cache misses en data indirection.Rutix schreef op dinsdag 24 mei 2011 @ 15:04:
[...]
De complexiteit geld ook vaak voor veel elementenJe hebt inderdaad gelijk dat linear search sneller is <1000 elementen
.
Als je weet dat een roundtrip naar RAM ongeveer een latency heeft van 400 cycles (tegenover een L1 latench van ~8 cycles en een gemiddelde instructie latency van 3/4 cycles) dan kun je je dat amper veroorloven op momenten dat het er toe doet. Het mooie is dat je IA-32 (PC) die RAM roundtrip redelijk kan verbergen door middel van out-of-order execution maar dat doet lang niet ieder platform. Daarbij komt nog kijken dat door de OOE profiles op PC vaak een compleet vertekend beeld van de werkelijkheid geven omdat de CPU op willekeurige momenten zonder data komt te zitten.
[ Voor 14% gewijzigd door PrisonerOfPain op 24-05-2011 15:20 ]
Mijn punt is voornamelijk het volgende. Dat nu bepaalde performancetrucjes werken, wil niet zeggen dat ze altijd zullen werken.PrisonerOfPain schreef op dinsdag 24 mei 2011 @ 14:40:
[...]
Daar begint het tegenwoordig wel redelijk op te lijken. De meeste moderne processor architecturen[...]
Ik bedoel, wat heb je tegenwoordig aan trucjes die ze vroeger toepasten voor trommelgeheugen bijv.?
Ipsa Scientia Potestas Est
NNID: ShinNoNoir
1
2
3
4
5
| <IfModule mod_fastcgi.c> AddHandler fastcgi-script .fcgi FastCgiIpcDir /var/lib/apache2/fastcgi FastCGIExternalServer /home/mathijs/wwwroot/RPC2 -host 127.0.0.1:2072 -pass-header Authorization </IfModule> |
Werkt prima, alleen kan ik dus niet meer dan een FastCGIExternalServer aanmaken

If money talks then I'm a mime
If time is money then I'm out of time
Een binary search is ook een "performancetrucje" probleem is dat 't goed werkte toen RAM- en CPU-performance nog relatief dicht bij elkaar lagen. Het probleem is dat die twee steeds verder uit elkaar groeien en dat waarschijnlijk voorlopig nog wel even blijven doen. Het het dus steeds minder relevant word.RayNbow schreef op dinsdag 24 mei 2011 @ 15:19:
[...]
Mijn punt is voornamelijk het volgende. Dat nu bepaalde performancetrucjes werken, wil niet zeggen dat ze altijd zullen werken.
[ Voor 3% gewijzigd door PrisonerOfPain op 24-05-2011 15:26 ]
Overigens waag ik te betwijfelen of een binary search bij N=1000 langzamer is. Je hoeft bij binary search altijd maar (log N) / C cachelines te lezen, ipv N / C. En als je een B-tree gebruikt kun je dezelfde SSE optimalisaties toepassen.
[ Voor 28% gewijzigd door .oisyn op 24-05-2011 15:31 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Nee, mijn punt is dat ik zelf prima kan bepalen hoe groot mijn dataset is en daar mijn implementatie wel voor optimaliseer. Dat hoeft de researcher niet voor mij te doen..oisyn schreef op dinsdag 24 mei 2011 @ 15:26:
Je hebt dezelfde oogkleppen op als waar je de researches van beticht. Je doet net alsof een binary search langzaam is, maar feit is dat bij grote N de binary search zal winnen van een linear search. Wellicht dat jij in de praktijk geen grote N tegenkomt, maar dat wil niet zeggen dat niemand dat doet.
Exact, en dat weet die researcher. Die legt een generieke scalable oplossing voor, die nog getailored kan worden in een specifieke implementatie. Maar waarom doe je nu net alsof de researcher jou verplicht zijn scalable oplossing te implementeren in een niet-scalable omgeving waar het niet nodig is? Of had je liever dat die researcher ging voorkauwen hoe het op die ene speficieke stepping van een Core i7 (ik noem maar wat) geïmplementeerd moet worden? Ik hoop dat je zelf ook snapt dat zijn paper op dat moment gewoon niets meer waard is. Platformspecifieke optimalisaties vallen gewoon compleet niet binnen de scope van zijn onderzoek.mijn punt is dat ik zelf prima kan bepalen hoe groot mijn dataset is en daar mijn implementatie wel voor optimaliseer. Dat hoeft de researcher niet voor mij te doen
[ Voor 76% gewijzigd door .oisyn op 24-05-2011 15:49 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Wellicht ben ik inderdaad wat biassed omdat ik voornamelijk met low-level dingen bezig ben en geen problemen op google-schaal op moet lossen desalniettemin siert het een researcher niet om dergelijke aannames te maken. Zèker niet in het specifieke geval waar ik mee bezig ben omdat de doorzochte data nooit groter is dan 512 elementen (ook niet in het google geval)..oisyn schreef op dinsdag 24 mei 2011 @ 15:32:
Zoals ik al zei, oogkleppen. Je plaatst hier een algemene rant waar je een (terechte) opmerking over krijgt, maar feitelijk gaat het gewoon over die ene specifieke case waarmee jij bezig bent, zo blijkt nu.
Nee, zoals ik al aanhaalde had ik in zo'n geval liever gezien dat er een eenvoudigere oplossing werd gekozen.Exact, en dat weet die researcher. Die legt een generieke scalable oplossing voor, die nog getailored kan worden in een specifieke implementatie. Maar waarom doe je nu net alsof de researcher jou verplicht zijn scalable oplossing te implementeren in een niet-scalable omgeving waar het niet nodig is? Of had je liever dat die researcher ging voorkauwen hoe het op die ene speficieke stepping van een Core i7 (ik noem maar wat) geïmplementeerd moet worden? Ik hoop dat je zelf ook snapt dat zijn paper op dat moment gewoon niets meer waard is. Platformspecifieke optimalisaties vallen gewoon compleet niet binnen de scope van zijn onderzoek.
[ Voor 36% gewijzigd door PrisonerOfPain op 24-05-2011 15:53 ]
Wees blij dat je een debugger hebtjip_86 schreef op dinsdag 24 mei 2011 @ 15:32:
Worden jullie ook nooit eens moe van de debugger. Foutje, weer aanpassen, compilen, applicatie starten, navigeren naar scherm, nog niet goed en weer opnieuw. Word zzzooooo moe van dat wachten
Ik debug nu over m.b.v printf's die output naar een UART, en das al redelijk luxe
Hangt van de situatie af, maar kan je geen testscenario schrijven voor die specifieke situatie?jip_86 schreef op dinsdag 24 mei 2011 @ 15:32:
Worden jullie ook nooit eens moe van de debugger. Foutje, weer aanpassen, compilen, applicatie starten, navigeren naar scherm, nog niet goed en weer opnieuw. Word zzzooooo moe van dat wachten
Inderdaad. Een unittest kan wellicht je pijn wat verminderen jipStyxxy schreef op dinsdag 24 mei 2011 @ 16:14:
[...]
Hangt van de situatie af, maar kan je geen testscenario schrijven voor die specifieke situatie?
EDIT: Anyway mijn dag zit erop
[ Voor 11% gewijzigd door Rutix op 24-05-2011 16:25 ]
Nothing to see here!
Routine inbouwen in je programma die afhankelijk van de inputparameters naar een bepaald scherm springt? En vervolgens in je IDE aangeven dat hij moet starten met arguments?jip_86 schreef op dinsdag 24 mei 2011 @ 15:32:
Worden jullie ook nooit eens moe van de debugger. Foutje, weer aanpassen, compilen, applicatie starten, navigeren naar scherm, nog niet goed en weer opnieuw. Word zzzooooo moe van dat wachten
Mess with the best, die like the rest
Importbestanden voor een importfunctie hebben een ander formaat gekregen. Ik mag dat aanpassen. Dus struinen in de oude code, struinen in de specs en hopen dat je ze goed interpreteert en kan vertalen naar de structuur van de applicatie. En dan gaat het om miljoenen records die initieel geïmporteerd kunnen worden of een update moeten krijgen bij een nieuwe versie van de bestandenStyxxy schreef op dinsdag 24 mei 2011 @ 16:14:
[...]
Hangt van de situatie af, maar kan je geen testscenario schrijven voor die specifieke situatie?
Ik denk dat het beschikbaar zijn van goede unittests en integratie tests wel degelijk 'de foutjes' op zou lossen en je ook een stuk productiever zouden maken.jip_86 schreef op dinsdag 24 mei 2011 @ 16:30:
Unittests doen we hier niet aan. Lost ook de foutjes niet op.
[...]
Importbestanden voor een importfunctie hebben een ander formaat gekregen. Ik mag dat aanpassen. Dus struinen in de oude code, struinen in de specs en hopen dat je ze goed interpreteert en kan vertalen naar de structuur van de applicatie. En dan gaat het om miljoenen records die initieel geïmporteerd kunnen worden of een update moeten krijgen bij een nieuwe versie van de bestanden
Zeker met bestaande programmatuur werkt TDD juist enorm prettig bij het bugfixen en het aanpassen van functionaliteit.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Verwijderd
Ik ben op dit moment bezig met debuggen met een scope op een I2C data lijntje. Ook leukEddoH schreef op dinsdag 24 mei 2011 @ 15:53:
[...]
Wees blij dat je een debugger hebt![]()
Ik debug nu over m.b.v printf's die output naar een UART, en das al redelijk luxe
Maar voor het testen van kleine stukjes zijn inderdaad unit-tests makkelijker.
¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸
Verwijderd
Dat lijkt me echt heel vervelend, ik heb mezelf aangeleerd om in m'n IDE zodra ik een paar regels heb getyped te saven...TheCoolGamer schreef op dinsdag 24 mei 2011 @ 18:11:
Ik ben nu bezig met het debuggen van een java-applicatie. Compileren doet hij gelijk zodra ik de source-file save.
¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸
1
| AsMap<>(null) |
geeft ambiguous reference. Dan maar
1
| AsMap<>(null as string) |

(Ter info: de waarde null mag daar, wordt verder niet gebruikt in combinatie met een TernaryAssociation blijkt)
[ Voor 5% gewijzigd door HMS op 24-05-2011 19:48 ]
Verwijderd
Toch maar eens een command toegevoegd in TextMate. Werkt uiteindelijk best wel fijnTheCoolGamer schreef op dinsdag 24 mei 2011 @ 19:36:
Ik merk er eigenlijk niks van. Hij compileerd incrementeel, dus alleen bestanden die aangepast zijn. Ook gebeurd het op de achtergrond waardoor je gewoon gelijk, zonder te wachten, door kan gaan met typen gelijk nadat je gesaved hebt.
[ Voor 14% gewijzigd door Verwijderd op 24-05-2011 20:06 ]
Niet relevant. Bij Eclipse gaat zoiets namelijk compleet op de achtergrond en heb je eigenlijk totaal geen last van.Verwijderd schreef op dinsdag 24 mei 2011 @ 18:20:
[...]
Dat lijkt me echt heel vervelend, ik heb mezelf aangeleerd om in m'n IDE zodra ik een paar regels heb getyped te saven...
Ik sla namelijk ook na elk woord op
Verwijderd
Stomme OpenGL met hun degrees ipv rads
[ Voor 10% gewijzigd door Gamebuster op 24-05-2011 21:06 ]
Let op: Mijn post bevat meningen, aannames of onwaarheden
Niet gelijk als in float-gelijk-aan of is het echt een andere waarde?Gamebuster schreef op dinsdag 24 mei 2011 @ 21:05:
Het heeft me aardig wat tijd gekost om erachter te komen dat de constant M_PI_2 niet gelijk is aan M_PI*2. En ik maar afvragen waarom mijn berekeningen met hoeken zo raar verliepen.
Stomme OpenGL met hun degrees ipv rads
Indien het eerste: Dat is de bijkomstigheid van floats
If money talks then I'm a mime
If time is money then I'm out of time
M_PI_2 betekent gewoon pi/2
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
* Matis wacht nog op een toffe aanbieding
If money talks then I'm a mime
If time is money then I'm out of time
M_TAU is gewoon M_PI*2 of vergis ik me nou?
Let op: Mijn post bevat meningen, aannames of onwaarheden
Verwijderd
Nee, M_PI is M_TAU/2.0Gamebuster schreef op dinsdag 24 mei 2011 @ 23:09:
[...]
M_TAU is gewoon M_PI*2 of vergis ik me nou?
Dit topic is gesloten.
Dit topic is niet de plaats om te lopen helpdesken. De Coffee Corner is primair bedoeld als uitlaatklep, niet als vraagbaak