#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2014-02-14

Timestamps are in GMT/BST.

00:54:30kaen has joined
00:57:08raptorok, heading home
00:57:12raptorlater!
00:57:17raptor Quit ()
01:06:31Watusimoto Quit (Ping timeout: 260 seconds)
01:33:15HylianSavior has joined
01:48:14Flynnn Quit (Quit: This computer has gone to sleep)
01:54:25Flynnn has joined
02:14:44raptor has joined
02:14:44ChanServ sets mode +o
02:24:37Flynnn Quit (Quit: This computer has gone to sleep)
02:30:42kaen Quit (Ping timeout: 260 seconds)
02:51:15fordcars has joined
02:54:19HylianSavior Quit (Quit: Leaving)
02:56:32kaen has joined
02:57:43fordcars Quit (Ping timeout: 245 seconds)
03:42:56koda has joined
03:54:46destroyerimo has joined
03:56:26Flynnn has joined
03:58:50destroyerimo_ has joined
04:00:09destroyerimo Quit (Ping timeout: 272 seconds)
04:13:46fordcars has joined
04:14:05fordcars has left #bitfighter
04:14:15fordcars has joined
04:32:47kaen Quit (Ping timeout: 260 seconds)
05:04:47fordcarsHi
05:05:10raptorluajit is about 3x faster than lua-vec with my clunky implementation
05:05:18raptoron levelgen Carnival
05:07:01fordcarsNice!
05:54:39koda Quit (Quit: koda)
06:15:38raptor Quit (Ping timeout: 260 seconds)
06:17:44HylianSavior has joined
07:30:30fordcarsNight!
07:30:32fordcars Quit (Quit: Page closed)
08:19:51Flynnn Quit (Quit: This computer has gone to sleep)
08:40:22Flynnn has joined
08:42:07Invisible has joined
08:44:15Flynnn Quit (Client Quit)
09:06:30watusimoto has joined
09:06:31ChanServ sets mode +o
09:15:02Invisible Quit (Ping timeout: 246 seconds)
09:21:37Platskies has joined
09:23:50Platskies Quit (Client Quit)
09:25:24koda has joined
09:43:41Platskies has joined
09:44:06Platskies Quit (Client Quit)
09:44:22Platskies has joined
09:48:49Platskies__ has joined
09:56:37Platskies Quit (Read error: Connection reset by peer)
09:56:38Platskies__ Quit (Read error: Connection reset by peer)
09:59:31Platskies__ has joined
09:59:31Platskies has joined
10:12:40Platskies__ Quit (Quit: Leaving)
10:46:12Nothing_Much Quit (Remote host closed the connection)
10:52:40Nothing_Much has joined
11:40:28Invisible has joined
11:40:39Platskies Quit (Quit: Leaving)
11:55:27Platskies has joined
12:08:15Nothing_Much Quit (Remote host closed the connection)
12:20:12Nothing_Much has joined
12:32:11koda Quit (Quit: koda)
12:56:10Nothing_Much Quit (Remote host closed the connection)
12:57:13Nothing_Much has joined
12:57:46Invisible Quit (Ping timeout: 245 seconds)
13:12:12Invisible has joined
13:18:59destroyerimo_ Quit (Ping timeout: 246 seconds)
13:23:48Nothing_Much Quit (Remote host closed the connection)
13:30:49destroyerimo has joined
13:31:22Platskies Quit (Read error: Connection reset by peer)
13:46:11Nothing_Much has joined
13:49:20LordDVG has joined
14:34:31Invisible Quit (Remote host closed the connection)
14:36:15Nothing_Much Quit (Remote host closed the connection)
14:41:17Nothing_Much has joined
15:35:10raptor has joined
15:35:10ChanServ sets mode +o
15:45:01raptorgood day!
15:51:53Nothing_Much Quit (Remote host closed the connection)
15:51:56bobdaduck has joined
16:04:46Nothing_Much has joined
16:20:52bobdaduckOkay so this is a weird question
16:21:05bobdaduckbut can I have a way to disable self-hurting-ness on bursts?
16:21:42raptorgood morning
16:22:13raptorthat part of the code is very hard-coded
16:24:07bobdaduckI tried making it in DnD so that bursts owners get set as well
16:24:16bobdaduckbut then it was hurting the person for whacking people
16:24:25raptorah yes
16:24:50raptornot sure how to get around that at the moment..
16:24:59raptorneutral burst hurts everyone?
16:25:10bobdaduckyeah
16:25:35bobdaduckWell, I could make three phaser bullets instead of a burst, add a spybug, and then detonate the spybug somehow!
16:25:49raptorhaha
16:25:59raptorgood thinking out of the box...
16:26:05raptorspybugs have decent kickback..
16:28:59bobdaducknot sure how to detonate it though
16:29:24raptorCarnival stress test complete
16:30:05raptorLuaJIT can complete on average 3x as many idle loops in the same amount of time
16:31:50bobdaduckAMAZING
16:31:53bobdaduckHOW DOES IT DO IT?
16:32:51bobdaduckAm I likely to even notice a difference?
16:32:59bobdaduckI didn't realize levelgen carnival was even laggy
16:33:18raptori think on large enough levels (like DnD) you will probably will
16:33:31raptorthis might let people host 150 bots instead of 50...
16:33:45raptorbecause, you know... the game is completely playable with 50 bots...
16:33:51bobdaducklol
16:34:10bobdaduckWell, if fordcars ever gets around to finishing the DnD bot...
16:34:52raptorok great
16:35:26raptorwith 200000 iterations, lua-vec (old system) took 36 milliseconds to create a point.new()
16:35:35raptorLuaJIT took 0 millliseconds
16:35:57bobdaduckThat's not very many milliseconds!
16:36:13raptoroops, that time it took 1 millisecond
16:36:29raptorso yeah, it's waaay faster with pure Lua stuff
16:36:43watusimotobut that does not count garbage collection, does it?
16:36:48watusimotothat's what cost us in the past
16:36:53raptorhi watusimoto
16:36:57raptorhow would i test that?
16:37:03watusimotoI'm not sure
16:37:03raptori'm doing it in a levelgen main() method
16:37:09watusimotoyou can manually trigger gc somehow
16:37:23watusimotowe might already do it every tick, not sure
16:37:31bobdaduckWhat's garbage collection?
16:38:01raptorit what prevents you from creating too many memory leaks
16:38:59bobdaduckWHAT
16:39:07bobdaduckBut what if I want to create memory leaks?
16:39:14bobdaduckTHIS SYSTEM IS OPPRESSIVE
16:39:24bobdaduckAND RESTRICTIVE OF MY ABILITY TO CREATE DUNGEONS
16:41:02watusimotoraptor: it's likely with 2M iteratonst aht GC was triggered
16:41:21watusimotoyou can also watch to see if memory use grows... if it stablizes, it must be collecting
16:41:29watusimotoif it keeps growing it might not be
16:41:36raptorLuaJIT has a completely rewritten garbage collector
16:41:38raptorand
16:41:58raptorand you can turn off the 'JIT' part to have a faster-than-normal standard interpreter
16:42:20raptorthe standard interpreter is 2-3x faster than stock Lua interpreter
16:43:26watusimotook, my resistance is dropping
16:43:35raptoralso
16:43:55raptorthe hold-up now seems to be the C API binding overhead -
16:44:11raptorI had to rewrite the methods luaIsPoint() in LuaBase.cpp
16:44:36watusimotointeresting
16:44:40raptorto somehow determine if the 'point' table on the stack is a point - which has more overhead than the lua-vec lua_ispoint() method
16:45:00raptorso i'm open to suggestions on how to improve it
16:46:19watusimotoI'm not sure I understand the issue -- we have a value on the stack, in C++ we need to decide if it is a point?
16:47:06raptorso you understand lua-vec added a 'type' to the Lua engine
16:47:31watusimotoI think I know
16:47:34raptorand was accessible in the C API with lua_ispoint() - because it was a standard type in the type enum
16:47:43raptortypes are like LUA_TSTRING, LUA_TBOOL
16:47:44watusimotoadd a type like number or string
16:47:48watusimotoyes
16:47:48raptoryes
16:47:52watusimotook, I knew that
16:48:30raptorso... that doesn't exist in standard Lua and I rewrote luavec to a pure Lua implementation, this: http://pastie.org/pastes/8733813/text
16:49:01watusimotook
16:49:03raptorhaving a pure Lua implementation of the 'point' type now requires me to write my own lua_ispoint()
16:49:24raptorhere it is: http://pastie.org/pastes/8733819/text
16:49:42watusimotowhat if you had a metatable entry that specified type
16:49:47raptorand I think using the C API bindings is slowing it down
16:50:04raptorthat's what i do
16:50:11watusimotook... I'm not going to be able to look at this too closely at the moment...
16:50:15watusimotomy train is in < 1hr
16:50:19raptori added a __point entry in the MT with a boolean of true
16:50:25watusimotoso you can explain it to me when I get back :-)
16:50:45raptori figured that was the quickest way to tell if the Lua table was a point in c++
16:51:13raptorbut having the Lua -> c++ -> Lua overhead is slowing down the JIT part, I think
16:51:23raptorok
16:53:29raptorI'm open to suggestions on how to tell if a particular Lua table is a point, within c++
16:54:08watusimotoisn't there a metatable method for determining type?
16:54:12raptorno
16:54:39watusimotowell, if it existed, I'd use that
16:55:14raptorI did patch the Lua 'type()' to return "point" within Lua
16:56:23raptoranyways, doing 200,000 iterations of randomly moving a testitem around using :setPos() yielded ~900ms with lua-vec, but ~600 with LuaJIT
16:56:47raptorand the :setPos() method uses the that luaIsPoint() method
16:56:51raptorwith it's args check
16:57:09raptorbut granted the overhead could also be our c++ with args checking and error checking, etc.
16:59:34raptorit's kind of funny to think that with LuaJIT our c++ bindings are the slow part...
17:09:24watusimotowe could tighten the argument restrictions
17:12:11raptoroh, i need to do an s_bot stress test...
17:19:21raptor2000 onTick iterations took 18-25 ms with LuaJIT
17:19:53raptorsame on lua-vec took 58-65 ms
17:20:13raptorso still about 3x faster
17:20:26watusimotothat's a representative test
17:20:37raptorlet me do 20000
17:21:10raptorLuaJIT: 346-251ms
17:21:21raptor(I did 5 tests)
17:21:24watusimotothink big.... S32_MAX
17:21:34raptorha
17:25:23raptori'm not sure i'm willing to tie up my CPU for that long..
17:27:58raptorlua-vec: 1171 - 1479ms
17:28:12watusimotook, I'm warming
17:29:07raptorso yeah, so far it has beaten lua-vec in every vector usage with/without c api usage
17:29:50raptorit's seems to be lightning fast when comparing pure Lua stuff vs interacting with our API
17:31:09watusimotook, I'm outta here
17:31:12watusimotosee you in a week!
17:31:51raptorlater!
17:33:37watusimoto Quit (Read error: Operation timed out)
17:35:40kaen has joined
17:46:07destroyerimo Quit (Ping timeout: 252 seconds)
17:46:32destroyerimo has joined
17:48:12kaen Quit (Remote host closed the connection)
18:19:21bobdaduckDANGIT
18:19:22bobdaduckI forgot
18:19:28bobdaduckEvents for lua
18:19:33bobdaduckonShipEnteredTeleporter
18:33:29raptorsorry...
18:34:34bobdaduckIts okay
18:34:38bobdaduckI don't need it very bad
18:34:54bobdaduckIt could very seriously clean up DnD.levelgen though
18:43:27raptorI you may need an extra developer to be able to clean up DnD...
18:43:31raptor*I think
18:44:10bobdaducklol
18:44:20bobdaduckBUT WHO WOULD TAKE THAT JOB?
18:44:31bobdaduckMaybe when Unknown gets back.
18:56:18Teh_Bucket has joined
18:56:47bobdaduckITS TEH BUCKET
18:57:04bobdaduckRUN FOR YOUR LIVES
18:57:07bobdaduckAlso hi
18:57:47Teh_BucketD:
18:57:48Teh_Bucket runs
18:57:54Teh_Buckethi
18:58:13Flynnn has joined
18:58:14bobdaduckWho are you?
18:58:15Teh_Bucketfigured i'd hang out here so i could actually get in when people are playing
18:58:20Teh_Bucketjust a player
18:58:24Flynnn Quit (Remote host closed the connection)
18:59:09bobdaduckAh okey
19:02:02Flynnn has joined
19:27:19Flynnn Quit (Quit: This computer has gone to sleep)
19:32:34Flynnn has joined
19:44:50Flynnn Quit (Quit: This computer has gone to sleep)
19:55:15bobdaduckAlso someone should make it so turret w=mine works
20:03:01raptorIt does work
20:03:08raptorI think
20:03:54LordDVG Quit (Remote host closed the connection)
20:29:35bobdaduckThe turret will point around but nothing will ever happen if I remember right
20:32:12raptori thought it placed neutral mines
20:32:21raptorso you didn't see them very well
20:39:29YoshiSmb has joined
20:44:15bobdaduckyeah no
20:44:19bobdaduckit just doesn't shoot anything at all
20:44:36bobdaduckactually doesn't even track you
20:48:13raptorhuh
21:10:34raptorback later!
21:10:36raptor Quit ()
21:27:04Flynnn has joined
22:08:58YoshiSmb Quit (Ping timeout: 245 seconds)
22:33:36Flynnn Quit (Quit: This computer has gone to sleep)
22:37:38Flynnn has joined
22:40:18bobdaduck Quit (Remote host closed the connection)
22:43:35YoshiSmb has joined
23:02:26YoshiSmbsomebody is online?
23:06:53YoshiSmb Quit (Ping timeout: 245 seconds)
23:54:07Flynnn Quit (Quit: This computer has gone to sleep)

Index Search ←Prev date Next date→

These logs were automatically created by BFLogBot on irc.freenode.net.