[00:39] Join: datagram joined #corewars [05:57] Join: fiveop joined #corewars [07:11] so, 4.3 million warrior gone through and only crap remains [07:11] but its yace, so it is forgiven [07:35] MSG: Read error: Operation timed out [07:49] I am tired [07:58] Join: pak21 joined #corewars [10:45] MSG: Read error: Operation timed out [11:46] Join: Core29 joined #corewars [13:27] MSG: Quit: Trillian (http://www.ceruleanstudios.com [13:32] Join: fiveop joined #corewars [13:50] Join: deckar joined #corewars [13:55] hi [13:55] hi [14:00] Join: Roy joined #corewars [14:01] bvowk: Got to hand it to you, the nano hill is much much thougher now, can't get evolved warriors on at all now :) [14:10] hrm, missed brx again, his log is offline too [14:10] Roy, Hi. [14:10] heh [14:10] why do you have to hand it to me.. if you listen to sf, I'm a cute chocolatey frosting on the hill [14:11] ohw btw guys, I completely finished school now! [14:12] congrats [14:12] now you can get down to some serious corewars work right? :) [14:13] Not really, now I have to do a 9-17 job.. [14:14] hrm [14:14] sounds like you just don't want to face the new nano hill [14:14] Not much to complain actualy, pays well and I get a laptop/phone and a car... but I will become some burocratic slave [14:14] hrm. [14:14] * bvowk wonders about the wisdom of giving roy a car [14:15] Too far away to cause you damage ;) [14:15] Haha [14:15] 9-17 cracks me up [14:15] ..? [14:15] In USA we call it 9-5 [14:15] 9-17 sounds so long [14:16] datagram isn't from the land of iso time [14:16] Typical Americans... bending things so it sounds much better then it actualy is [14:17] its all part of a rampant plot for consumerism [14:17] wait.. its all part of a plot for rampant consumerism [14:17] So yeah [14:17] Spring Tournament [14:17] Sound good? [14:18] Marxism!! [14:18] Commie! [14:18] uh [14:19] So what? What do you wanna do? Send a army?? Like Vietnam? That really did wonders :P [14:19] roy, datagrams people are fascists, not marxists [14:19] * bvowk runs and hides [14:19] so whats the plan for the tourny datagram? [14:19] I'm not if that's cause I'm italian or american : / [14:20] bvowk, Get people. Play corewars. And such. Punch and pie. Also, boobies. [14:20] I did not call him that, I just shouted it because I demand a revolution against the consumerism [14:20] actually, if you could get boobies involved in a corewars competition somehow, I would be shocked and amazed at your leet skillz [14:21] mov.i 0,0 ;<- nerd boobies [14:24] I might get some male boobies involved... but thats probably not desireable :) [14:25] (fat nerdie friend of mine wants to learn CW) [14:25] no ideas on the rules tho datagram? [14:25] I'll get boobies. [14:25] You bet your ass [14:25] bvowk, As far as? [14:25] Each round would be different, like normal [14:26] Boobies as price..? [14:26] Roy, I usually don't have to pay [14:26] The only problem is that I need webspace to put up the rules/ladder/etc [14:26] You can always use www.redcode.nl [14:27] Fizmo says his shell sucks balls and he can't give me a shell with limited access or anything [14:27] Maybe I can do that, I'll have a look sometime [14:28] And I don't need boobies anyway, I have a luverly girlfriend [14:28] Haha, well you won't win anyways [14:28] OHHHHHHHHHHH! [14:29] Join: Fluffy joined #corewars [14:29] :) [14:30] Hello [14:31] I hate computers [14:31] hey fluf [14:31] you do not! take that back! [14:32] bvowk: Not really, but I really hate GCC [14:32] Roy, Let me know about the shell...I'll get more situated in a few weeks and start everything up [14:32] bvowk: The code, that it generates, is too slow :( [14:32] yeah.. [14:33] gcc is good in thats its everywhere, and it works on a huge wad of processors.. but its bad because it doesn't really do anything well.. [14:34] at the moment I already have 4 different versions of PyCorewar, each "optimized" for a different CPU [14:35] And there is no way, that this is the end [14:35] fluffy: does this mean you'll be admitting fmars is the fastest mars can be? [14:35] NO [14:36] alright then [14:36] :) [14:37] YOU GET IN THERE PRIVATE FLUFFY AND YOU KICK THAT CODES ASS!! [14:37] :) [14:37] [14:37] Fortunately I've never been in the army (or sth. similar) [14:38] actually, that came from a family guy episode I watched a while back.. [14:38] bvowk: Don't get me wrong, it is quite a lot of fun to optimize PyCorewar, but it is quite hard to create only one (!) optimized version. There are too many differences in cpu design to consider [14:39] The worst problem are those crappy Pentium IV [14:39] yeah.. [14:39] If you start to use much memory they become dead slow [14:40] Sascha and I already managed to outperm it with a much slower Sempron [14:40] *outperform [14:40] they're absolute crap unless you hand assemble their code while wearing velvet gloves and spoonfeed them out of a tiny gold, silver and platinum spoon (encrusted in diamonds and rubies) [14:42] bvowk, what about newest pentiums? Still the same? [14:42] Since there is not much code involved in calculting effective addressed and executing the opcodes we already thinking of writing a script, which generates cpu-specific assembler [14:43] well.. the new ones are based on the p4m, which is based on the p3, which didn't suck anywhere near as badly.. so no, they're much better, and they'll eat much more unp4 optimized code before crying [14:43] but they're not nearly as good as the AMD chips [14:44] All I need is a CPU with about 512 KiB L1-data-cache (data) and about 64 KiB L1-insn-cache. Then there would be no need to create and FPGA version :) [14:45] you need an opteron! [14:45] bvowk: I don't need an opteron. I need money to buy two or four of them [14:46] * datagram is currently porting fractal rendering code to verilog for use with FPGAs <_< [14:46] buy and amd64x2 [14:46] buy the 3800x2 and get some nice high end overclocker memory, and overclock the snot out of it :) [14:46] I've got 2, and they run at 2.5Ghz and 2.6Ghz [14:46] and they were cheap cheap ceahp. [14:47] I'm all "blah" about my job, I could always give someone a shell and they could use a shitload of processing power : P [14:47] 300-320e around here [14:51] Then point of writing PyCorewar is not to buy a new computer, but to make it as fast as possible on current cpus [14:52] (Altough I could use a new computer ;-) [14:58] Okido, datagram > mail for the login etc! [14:58] Tournament info is going to be on datagram.redcode.nl [15:01] Time to cook some dinner, this evening I'm going greek! [15:01] * Roy waves [15:01] * Fluffy waves [15:02] Nick Change: Roy changed nick to RoyAway [15:04] Does anybody know a way to get rid off the IF iin "if (++x == coresize) (x) = 0;" [15:04] x is a 32-bit value [15:15] Not quite the same thing, but ++x %= coresize ? [15:15] would work, but is too slow [15:17] Let's see .. I've learned, that I can no longer trust my intuition [15:17] I'll benchmark tht [15:18] Very processor dependent, I expect. I know SPARCs have a very slow modulus operation (relatively). [15:19] Performance drops from 8.3 MIPS to 7.5 MIPS on my computer [15:20] actually x is an unsigned long [15:21] hmm ... I could always subtract coresize [15:22] if that value is below zero, I have lots of set bits in the upper part [15:22] hmm [15:27] nothing works :( [15:53] Join: pkhuong joined #corewars [15:53] Hi pkhuong! [15:53] hi [15:53] You are the person, that I need right now [15:53] Erhm, ok. [15:53] Fire away :) [15:54] I need to simplify "if (++(x) == coresize) (x) = 0" [15:54] x is an unsigned long [15:54] I know, that we've talked about that a while ago, but your suggestion didn't work [15:54] oh, yeah, I think i found the problem and the forgot about it. [15:55] let's do if (x == coresize) x = 0 [15:55] int y = x - coresize; [15:56] x -= coresize & (y >> 31); [15:56] y needs to be signed. [15:57] Since we want an SAR to extend the negativity bit. [15:57] * int y = x - coresize - 1; [15:57] :) [15:57] Any way to get rid of the y? [15:57] and the if [15:57] there's no if [15:58] well, that was for clarity, you can just cast the substraction [15:58] k [15:58] will try and benchmark [15:58] x -= coresize & ((int)(x - coresize - 1) >> 31); [15:59] I benchmarked my mod for nigh-arbitrary input, and it's usually a bit slower than straight mod through shift & sub [15:59] (which the compiler'll do for constant modulos) [16:00] * Fluffy is compiling PyCorewar [16:00] and of course it segfaults :( [16:00] It is never easy [16:02] hehe ... now it works, but I get wrong results [16:02] testing [16:03] x is usually sth like bAddr->b [16:04] hrm. [16:04] yes [16:04] shouldn't you be studying pk? :) [16:04] wtf? [16:05] heh [16:05] mm.. [16:05] bv, does gcc on mitzi compile to 64 bits by default now? [16:05] wow, that was a dumb bug [16:05] sorry, I've just been conditioned with must study.. going to study <-- studying I'm off to study I'm leaving to study [16:06] :p [16:06] pk: I think it should... Its running a native sparc64 build [16:07] I don't know why, but your version does not work here. [16:07] return x - (CORESIZE & ((int) (CORESIZE - x - 1) >> 31)); [16:07] yeah, I had reversed the order of the arguments in the substraction ;) [16:07] tested working :) [16:08] * Fluffy is trying again [16:08] also, your longs should probably be ints if you want to be 64-bit clean :p [16:08] bvowk: nope, doesn't. [16:08] oh wait... [16:09] nope, sizeof(long) = 4. [16:09] pk: $ which gcc [16:10] /usr/local/bin/gcc [16:11] erg? [16:11] * bvowk goes looking for his 4.1 [16:12] pkhuong: Call me stupid, but I don't see how your version should work. [16:13] ok, basically the idea is [16:13] (CORESIZE - x - 1) is negative iff x >= coresize [16:13] you mean, that I have to execute x++ before that? [16:13] yes [16:13] oh heh. [16:14] no wonder, it doesn't work :) [16:14] * Fluffy is trying again [16:14] works [16:14] * Fluffy is benchmarking it [16:16] Join: Sylv-- joined #corewars [16:16] Nick Change: Sylv-- changed nick to pkhuong- [16:17] hmm ... unfortunately it isn't faster [16:17] heh [16:17] do you have the disassembly for your code? [16:17] also, what platform? [16:17] x86 [16:17] p4? [16:17] no celeron [16:17] m... [16:17] 500 MHz :) [16:18] heh, its pipeline is more decent ;) [16:18] MSG: Ping timeout: 252 seconds [16:18] Nick Change: pkhuong- changed nick to pkhuong [16:19] Seems, that there is really no way but to use assembler [16:19] try return (x + 1) - (CORESIZE & ((int) (CORESIZE - x - 2) >> 31)) [16:19] k [16:20] but given the width (or lack thereof) of cellys, i doubt it'll make any difference [16:20] that's for x++ mod 8000 [16:22] slower [16:22] 9.0 MIPS -> 8.9 MIPS [16:23] heh. [16:23] you're branching? [16:23] I do what? [16:23] if your baseline. [16:24] you do an if (compare)? [16:24] huh? [16:24] You've lost me [16:24] erhm, the original code [16:24] how does it do it? [16:24] if foo, etc? [16:24] if (++(x) == coresize) x = 0 [16:26] heh, well, it would predict very well. [16:26] I think, I've taken it from exhaust's code [16:26] and the celly doesn't pay a huge penalty on mispredictions either. [16:27] I'll benchmark your version on other cpus later today [16:27] you'd have to check on something indecent like a p4 ;) [16:27] yes, I'll do that. Sascha works on PyCorewar, too and he has one [16:28] Our main problem is, that the L1-cache is always too small. [16:28] try it on an opteron :) [16:28] we've already built several versions for different cache-sizes [16:28] yeah... [16:28] But if the warriors don't use the code, it's not too bad [16:28] I expect it would haul ass in a way that you've only wet dreamed of previously [16:29] bvowk: Let's see... how many opterons do own [16:29] you or bv? [16:29] bvowk: 0 ... 0 ... 0000 . 0x00 [16:29] :p [16:38] MSG: [16:38] man... I'm really stressing out here. Meeting the potential director in 2h :) [16:39] erh. 2.6 [16:39] dude.. [16:39] what did you score on the exams again? [16:39] :p [16:39] you've got no worries. [16:45] I'm not feeling the OR final though. [16:45] It's not science any more than CS is. [16:45] heh [16:45] you worry too much pk [16:46] Seriously, there's stuff in there that's arbitrarily presented as The Truth, while it clearly isn't. [16:46] Nick Change: RoyAway changed nick to Roy [16:46] * Roy back [16:46] Say, dynamic programming. It's just DFS w/ memoisation! Don't ask me to twist and make a random problem fit in your defn of dynamic prog :/ [16:48] or simulation... Is there anything more ad hoc than sims? ;) [16:49] heh [16:50] no, all simulations are always perfectly valid and comparable.. remember the circle contest? [16:50] yes [16:50] but it's just really ad hoc [16:50] Give me a problem, I'll write a program. [16:51] I've a whole chapter devoted to describing simulations at large pretty much like they describe good algos like simplex :/ [16:51] no, you'll write something in lisp, I'll rewrite it, we'll compare notes, and then he who must not be mentioned will do it better, in less time, faster, and with more leet options.. [16:51] :( [16:52] how's that working out for you fluffy? [16:52] ;) [16:54] CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ (2002.57-MHz 686-class CPU) [16:54] Origin = "AuthenticAMD" Id = 0x20fb1 Stepping = 1 [16:54] Features=0x178bfbff MOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT> [16:54] Hyperthreading: 2 logical CPUs [16:54] AMD Features=0xe0500000 [16:54] HT AMD, heh? :p [16:54] ...CMOV, if you only you were worth shit on intel [16:59] Grr.. I hate IE.. [17:00] When I download a *.tar.bz2 file it always renames it to .tar.tar (which confuses WinRAR and then I can't open it until I manually rename it back) [17:00] hehe [17:26] Now I know what I want to have for my next birthday [17:26] The X2 of you, bvowk, is nice :) [17:27] Heh, I'll be downgrading to an ULV or my next laptop. [17:37] time to go [17:37] * Fluffy waves [17:37] MSG: Quit: dat.f < 1, # 0 [17:49] Join: sf joined #corewars [17:49] Hello [17:50] ih sf [17:50] hi sf :) [17:51] ih Ro [17:52] Not much luck on the nano hill for you yet :( [17:52] :) not really... [17:54] Now wrestling with DLL's, if I get one of those installed I might have a working Windows PyCorewar version! [17:54] :) [17:55] I hope Neo is coming here soon :) [17:55] Yeah, your warrior does very well [17:56] :) [17:57] You'd be very surprised if you knew what it is [17:57] More surprising than when qscans first appeared [17:57] I've heard that before :P [17:57] So what do you think it might be? [17:58] A paper [17:58] Or a stone :) [17:59] someone finally found the time to evolve a scanner/paper :p [18:00] in nano :P [18:01] ;) [18:11] Join: Mizcu joined #corewars [18:11] Hi Mizcu [18:15] In 5 challenges you will pass on-speeds age Roy [18:16] Cool, send something! quickly! [18:16] Nothing to send [18:17] Argh! this dll is killing me! [18:18] You must have about a billion Yace warriors available by now Roy [18:20] blogspot blogs seem to disappear quickly [18:26] It's Lukasz's birthday today [18:36] yesss! I found the error (the cause) now I can fix it! :D [18:36] Hurry up Roy! [18:36] No, can't fix it today.. have to go training now :( [18:36] But tomorrow...maybe! [18:39] MSG: [18:40] Join: Roy joined #corewars [18:41] Forgot to say: Fluffy, the problem was .NET framework 2.0 isn't very Python compatible, so .NET SDK 1.1 should work (downloading now) so you don't have to look into that anymore! [18:41] * Roy waves [18:41] MSG: Client Quit [18:41] woah, woah [18:41] why are you guys using .net? [18:43] What's .net? [18:44] c# thingy [19:00] MSG: Quit: I was using TinyIRC! Visit http://www.tinyirc.net/ for more information. [19:06] good god. [19:06] * bvowk melts [19:10] MSG: Ping timeout: 252 seconds [19:39] MSG: Quit: 12• IRcap [7.51] 12• http://www.ircap.com 12• [20:00] Join: pkhuong joined #corewars [20:22] MSG: Quit: humhum [20:24] MSG: [23:23] Join: deckar joined #corewars