--- Log opened Sat Jul 30 00:00:52 2011 | ||
CIA-87 | shogun: Sergey Lisitsyn master * r518360d / src/shogun/mathematics/lapack.cpp : Added forgotten DGETRS define - https://github.com/shogun-toolbox/shogun/commit/518360dc4d92852aa2f31dd986f902f98b309ba4 | 00:59 |
---|---|---|
-!- blackburn [~blackburn@109.226.104.206] has quit [Quit: Leaving.] | 01:06 | |
-!- f-x [~user@117.192.206.212] has joined #shogun | 07:03 | |
-!- f-x [~user@117.192.206.212] has quit [Remote host closed the connection] | 08:22 | |
-!- gsomix [~gsomix@95.67.178.232] has joined #shogun | 10:07 | |
gsomix | hi | 10:07 |
-!- f-x [~user@117.192.206.212] has joined #shogun | 10:44 | |
-!- gsomix [~gsomix@95.67.178.232] has quit [Quit: Ухожу я от вас (xchat 2.4.5 или старше)] | 11:16 | |
-!- f-x [~user@117.192.206.212] has quit [Ping timeout: 260 seconds] | 11:45 | |
@sonney2k | alesis-novik, around? f-x has found a few bugs in your code that cause compile errors on newer gcc's. | 11:52 |
-!- f-x [~user@117.192.192.42] has joined #shogun | 12:23 | |
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun | 12:42 | |
-!- in3xes [~in3xes@180.149.49.227] has quit [Remote host closed the connection] | 12:43 | |
-!- in3xes_ is now known as in3xes | 12:43 | |
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun | 13:03 | |
-!- in3xes [~in3xes@180.149.49.227] has quit [Ping timeout: 240 seconds] | 13:06 | |
-!- in3xes_ is now known as in3xes | 13:10 | |
-!- f-x [~user@117.192.192.42] has quit [Remote host closed the connection] | 13:35 | |
serialhex | sonney2k: are you around? | 13:50 |
-!- blackburn [~blackburn@109.226.104.206] has joined #shogun | 13:50 | |
serialhex | hey blackburn, whats up? | 13:51 |
blackburn | serialhex: hi, just woke up hehe | 13:52 |
blackburn | how are you? | 13:52 |
serialhex | yeah, i need to strart getting ready for work | 13:52 |
serialhex | pretty good | 13:52 |
serialhex | trying to figure out why this isn't working and soeren isn't here apparently :( | 13:52 |
serialhex | ...and i think i just found the culprit... | 13:55 |
blackburn | ruby things? | 13:55 |
serialhex | no, configure things | 13:55 |
serialhex | that lead to ruby things :P | 13:55 |
blackburn | I guess I have to work on java examples today.. pheew | 13:55 |
serialhex | i'm trying to get the configure script to find my install of narray & play with everything nicely, and it hasn't been, but i think i've figured out why | 13:56 |
blackburn | what is narray? | 13:57 |
blackburn | some numpy analogue? | 13:57 |
serialhex | yes, exactly | 13:58 |
serialhex | and since apt-get installs it somewhere different from rubygems (the ruby package manager) i need to prepare for both cases :P | 13:58 |
blackburn | uh bad practice | 13:59 |
blackburn | I got some similar thing with atlas earlier | 13:59 |
blackburn | but it isn't here anymore | 13:59 |
serialhex | niiice :D | 14:00 |
blackburn | serialhex: is there any plotting library like matplotlib, for ruby? | 14:00 |
serialhex | not that i'm aware of unfortunately | 14:01 |
serialhex | there are a number of graphics libraries, but none for plotting i don't think :( | 14:01 |
blackburn | hehe and how ruby folks do some fancy graphics? | 14:01 |
blackburn | I see | 14:01 |
@bettyboo | :) | 14:01 |
serialhex | ok, this is stupid bizzare.... | 14:03 |
serialhex | ok, how do you get echo to evaluate a function instead of treating it like a string?? | 14:05 |
serialhex | blackburn ^? | 14:05 |
blackburn | eh? | 14:06 |
serialhex | in the configure script, i want to see what a function actually returns, and not simply return that i typed in | 14:06 |
blackburn | no idea | 14:07 |
serialhex | hmm... ok | 14:08 |
serialhex | well, i'm gonna get ready for work, i'll talk to ya later! | 14:08 |
blackburn | later | 14:11 |
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun | 15:10 | |
-!- in3xes [~in3xes@180.149.49.227] has quit [Ping timeout: 276 seconds] | 15:14 | |
CIA-87 | shogun: Sergey Lisitsyn master * r5f40ecc / (2 files): Improved ARPACK wrapper doc - https://github.com/shogun-toolbox/shogun/commit/5f40ecc94d7970081f9fa5da70cc58ba6fccb8e6 | 15:41 |
CIA-87 | shogun: Sergey Lisitsyn master * rcbb8d24 / (2 files): Fixed regularization in LLE null-space routine, added posdef option - https://github.com/shogun-toolbox/shogun/commit/cbb8d246c4ce604ad523f7f808257fed51b0f0fd | 15:41 |
alesis-novik | sonney2k, what are the bugs? | 16:19 |
alesis-novik | I found the issue on github. | 16:27 |
@sonney2k | alesis-novik, use vector_destroy()! | 16:30 |
alesis-novik | Yeah, when I was writing it I don't remember there being a vector_destroy. I'll check it out | 16:31 |
alesis-novik | The whole SGVector and SGMatrix thing is still a big issue with me, seeing how I can't really use destroy in destructors, because maybe something else is now pointing to the vector or matrix | 16:34 |
-!- in3xes__ [~in3xes@180.149.49.227] has joined #shogun | 17:22 | |
-!- in3xes_ [~in3xes@180.149.49.227] has quit [Ping timeout: 240 seconds] | 17:26 | |
-!- blackburn [~blackburn@109.226.104.206] has quit [Ping timeout: 255 seconds] | 17:33 | |
-!- blackburn [~blackburn@188.122.224.26] has joined #shogun | 17:48 | |
-!- in3xes__ is now known as in3xes | 17:56 | |
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun | 19:09 | |
-!- in3xes [~in3xes@180.149.49.227] has quit [Ping timeout: 258 seconds] | 19:13 | |
-!- in3xes_ is now known as in3xes | 19:25 | |
-!- f-x [~user@117.192.192.42] has joined #shogun | 19:35 | |
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun | 19:51 | |
-!- in3xes [~in3xes@180.149.49.227] has quit [Ping timeout: 240 seconds] | 19:54 | |
-!- in3xes_ is now known as in3xes | 19:55 | |
-!- blackburn [~blackburn@188.122.224.26] has quit [Ping timeout: 240 seconds] | 19:56 | |
-!- blackburn [~blackburn@188.122.224.26] has joined #shogun | 19:57 | |
@sonney2k | alesis-novik, still there? | 20:21 |
alesis-novik | I'm leaving in a sec for a while sonney2k | 20:50 |
@sonney2k | alesis-novik, about the SGVector stuff | 20:51 |
@sonney2k | you should assume that you 100% own the object | 20:51 |
@sonney2k | so you are the only one allowed to do destroy | 20:51 |
@sonney2k | all the others have too call free_vector that does a graceful free | 20:51 |
@sonney2k | so the do_free flag should *never* be set for objects that you are owning | 20:52 |
alesis-novik | So I should assume that if someone is going to use something from it, they will to free_vector or make copies | 20:52 |
blackburn | sonney2k: I use matrix with do_free and free_matrix, shouldn't I? | 20:52 |
@sonney2k | use do_free=true only when you are returning copies | 20:52 |
alesis-novik | sonney2k, I have to go now, but this is very useful and will fix some of the memory leaks I have | 20:52 |
@sonney2k | so workflow would like this | 20:53 |
@sonney2k | someone passes a SGMatrix/Vector to you | 20:53 |
@sonney2k | you take over ownership | 20:53 |
@sonney2k | and you destroy the object at the end | 20:53 |
@sonney2k | if you return the object to someone - just return it as is | 20:53 |
-!- f-x [~user@117.192.192.42] has quit [Remote host closed the connection] | 20:54 | |
@sonney2k | if you return a copy / set do_free to true | 20:54 |
@sonney2k | alesis-novik, ok in this case I will try to do some fixes for the compile errors at least | 20:54 |
@sonney2k | blackburn, does that make sense to you? | 21:04 |
blackburn | sonney2k: yeah why not | 21:04 |
blackburn | I will change my code to destroy things now | 21:05 |
blackburn | sonney2k: http://dl.dropbox.com/u/10139213/shogun/LocalTangentSpaceAlignment%28k%3D40%29.png another faces to show hehe | 21:05 |
@sonney2k | blackburn, only issue is that one has to clear the do_free flag when assigning this | 21:05 |
@sonney2k | blackburn, so maybe we need another own_object() | 21:06 |
blackburn | own_object()? | 21:07 |
@sonney2k | blackburn, there is the issue that when doing e.g. Label(SGVector x) | 21:07 |
@sonney2k | then this->labels=x will copy the do_free flag | 21:07 |
@sonney2k | that would cause trouble | 21:07 |
blackburn | won't it be copied in this case? | 21:08 |
@sonney2k | yes it will be copied | 21:08 |
@sonney2k | and that is a problem - because if we return an object do_free will be set too and free_vector will kill the beneath our feet | 21:09 |
blackburn | I see | 21:09 |
@sonney2k | blackburn, so should we have the following function to fix this: | 21:18 |
@sonney2k | static virtual SGVector get_owned_vector(SGVector &orig) | 21:18 |
@sonney2k | { | 21:18 |
@sonney2k | orig.do_free=false; | 21:18 |
@sonney2k | return SGVector(orig.vector, orig.vlen); | 21:18 |
@sonney2k | } | 21:18 |
blackburn | pwned_vector :D | 21:19 |
@sonney2k | blackburn, but seriously - should we do it this way? any other suggestions? | 21:23 |
blackburn | I have no idea.. | 21:23 |
@sonney2k | blackburn, ahh and btw - we should rename Labels -> Label | 21:23 |
blackburn | Label? | 21:23 |
blackburn | why? | 21:23 |
@sonney2k | singular | 21:24 |
blackburn | I think Labels is better name.. | 21:25 |
@sonney2k | ok then we keep this exception :D | 21:26 |
blackburn | I mean if it is Label but [-1,-1,....] ... | 21:27 |
blackburn | strange naming for me | 21:27 |
-!- blackburn [~blackburn@188.122.224.26] has left #shogun [] | 21:27 | |
-!- blackburn [~blackburn@188.122.224.26] has joined #shogun | 21:28 | |
blackburn | ehh | 21:28 |
blackburn | Alt+F4 hehe | 21:28 |
blackburn | oh sh I forgot about our trac.. | 21:30 |
@sonney2k | so back to SGVector... | 21:30 |
@bettyboo | hiho | 21:31 |
@sonney2k | the copy constructor copies everything | 21:31 |
@sonney2k | it has to becuas return SGVEctor(y,1,true) won't copy otherwise | 21:31 |
blackburn | I see | 21:32 |
CIA-87 | shogun: Sergey Lisitsyn master * r9a6e8ac / src/shogun/mathematics/arpack.cpp : Fixed wrong SG_FREE in ARPACK wrapper leading to segfault - https://github.com/shogun-toolbox/shogun/commit/9a6e8ac46f26965c4aa2dafad84053ad4e4a5e01 | 21:50 |
CIA-87 | shogun: Sergey Lisitsyn master * r6e05605 / src/shogun/preprocessor/ClassicMDS.cpp : Fixed ARPACK routine calling in ClassicMDS - https://github.com/shogun-toolbox/shogun/commit/6e05605bfa441ee3d86c5a5aa8fcb3d37f93bf78 | 21:50 |
CIA-87 | shogun: Sergey Lisitsyn master * r9ca6cc8 / (3 files): Transitioned HLLE, LTSA and LLE to destroy_matrix routine usage - https://github.com/shogun-toolbox/shogun/commit/9ca6cc8ef09665423ee823bdeb165f3ac3274d18 | 21:50 |
blackburn | boom | 21:50 |
@sonney2k | blackburn, how about | 21:50 |
@sonney2k | static virtual void own_vector(SGVector& dst, SGVector &src) | 21:50 |
@sonney2k | { | 21:50 |
@sonney2k | orig.do_free=false; | 21:50 |
@sonney2k | dst=SGVector(src.vector, src.vlen); | 21:50 |
@sonney2k | } | 21:50 |
@sonney2k | instead of the get* one | 21:50 |
blackburn | oh why & things? | 21:50 |
blackburn | ah | 21:51 |
blackburn | I see | 21:51 |
@sonney2k | so for examle in set_vector(SGVector x) one would do | 21:51 |
@sonney2k | SGVector::own_vector(labels, x); instead of labels=x; lables.do_free=false; | 21:52 |
@sonney2k | blackburn, problem is that the & stuff is not always helpful | 21:52 |
@sonney2k | becauce we always use SGVector x in the fucntions | 21:52 |
@sonney2k | so it would only change the local variable... not the one passe | 21:53 |
@sonney2k | d | 21:53 |
@sonney2k | or would the name store_vector() better? | 21:53 |
blackburn | no idea | 21:53 |
blackburn | sonney2k: just checked java regression - it seems all ok | 22:02 |
@sonney2k | blackburn, great | 22:02 |
@sonney2k | any memory leaks? | 22:02 |
blackburn | sonney2k: I'd like to ask you how to detect it :D | 22:02 |
blackburn | trace-mallocs enabled | 22:02 |
blackburn | it shows some information about allocation, but leaks..? | 22:03 |
@sonney2k | these are the leaks | 22:03 |
blackburn | so everything it shows is the leaks? | 22:03 |
@sonney2k | yes | 22:04 |
blackburn | https://gist.github.com/1115941 | 22:04 |
@sonney2k | not good... | 22:05 |
blackburn | regression_libsvr_modular.java | 22:05 |
blackburn | I guess everything is leaked | 22:05 |
@sonney2k | yeah | 22:06 |
@sonney2k | blackburn, can you check some more simple example? | 22:07 |
@sonney2k | like just some e.g. simple real features? | 22:08 |
@sonney2k | and if that works then kernel? | 22:08 |
blackburn | no, leaks are in features too | 22:08 |
blackburn | 15 Blocks are allocated: | 22:09 |
blackburn | Memory block at 0x7ce57968 of size 1472 bytes (allocated in modshogun_wrap.cxx line 191453) | 22:09 |
blackburn | SGObject 'SimpleFeatures' at 0x7ce5b120 of size 120 bytes with 1 ref's | 22:09 |
blackburn | Object at 0x7ce5b1a0 of size 28 bytes | 22:09 |
blackburn | Memory block at 0x7ce573a0 of size 4 bytes (allocated in ../shogun/base/DynArray.h line 49) | 22:09 |
blackburn | Object at 0x7ce55d30 of size 28 bytes | 22:09 |
blackburn | Memory block at 0x7ce575a8 of size 4 bytes (allocated in ../shogun/base/DynArray.h line 49) | 22:09 |
blackburn | Object at 0x7ce55d70 of size 32 bytes | 22:09 |
blackburn | Object at 0x7d5b6508 of size 32 bytes | 22:09 |
-!- blackburn was kicked from #shogun by bettyboo [flood] | 22:09 | |
-!- blackburn [~blackburn@188.122.224.26] has joined #shogun | 22:09 | |
blackburn | thanks bettyboo | 22:09 |
@bettyboo | blackburn: eh.. is it a good example? | 22:09 |
blackburn | bettyboo: yes it is a good example :D | 22:09 |
@bettyboo | blackburn: (that statement is missing - rest would be trivial) | 22:09 |
@sonney2k | blackburn, ok then try even less | 22:09 |
blackburn | init - exit? | 22:10 |
@sonney2k | blackburn, yes | 22:10 |
@sonney2k | and then do sth like | 22:10 |
@sonney2k | GaussianKernel x=new GaussianKernel() | 22:10 |
@sonney2k | ; | 22:10 |
blackburn | sonney2k: init - exit no leaks | 22:10 |
@sonney2k | ok good | 22:10 |
blackburn | 0 Blocks are allocated: | 22:10 |
@sonney2k | now with gaussiankernel | 22:10 |
blackburn | boom | 22:11 |
blackburn | 26 blocks | 22:11 |
@sonney2k | blackburn, how does java do GC? | 22:12 |
@sonney2k | can you forcefully trigger it? | 22:12 |
blackburn | sonney2k: one could 'recommend' to do gc now with System.gc() | 22:12 |
blackburn | but not forcefully realtime | 22:12 |
@sonney2k | blackburn, ok then how about new'ing the kernel | 22:12 |
@sonney2k | and then do x=NULL; | 22:13 |
@sonney2k | and then call System.gc() | 22:13 |
blackburn | nothing changed | 22:13 |
@sonney2k | ok and if you do x.unref() ? | 22:14 |
blackburn | success | 22:14 |
@sonney2k | hmmhh so how does the gc stuff work then? | 22:15 |
blackburn | what do you mean? | 22:16 |
blackburn | well in fact we can't be sure everything will be cleaned just right after exit | 22:16 |
blackburn | sonney2k: where is the deletion routine in java typemaps or so? | 22:18 |
@sonney2k | blackburn, can you try | 22:20 |
@sonney2k | System.gc(); | 22:20 |
@sonney2k | System.runFinalization(); | 22:20 |
@sonney2k | at the end and see if this helps? | 22:20 |
blackburn | may be vice versa? | 22:21 |
blackburn | sonney2k: didn't help | 22:22 |
@sonney2k | blackburn, ok then try x.finalize() | 22:22 |
blackburn | sonney2k: I just tried it with valgrind and it said no leaks | 22:22 |
@sonney2k | blackburn, how reliable is that with java? | 22:23 |
blackburn | yes, not really reliable | 22:23 |
blackburn | sonney2k: finalize is protected, we can't do it | 22:24 |
@sonney2k | ok then x.delete() | 22:24 |
blackburn | helped | 22:24 |
blackburn | what is delete? | 22:24 |
@sonney2k | blackburn, ohh and can you please print x.swigCMemOwn ? | 22:25 |
blackburn | sonney2k: are you sure in naming? not found | 22:26 |
@sonney2k | swigCMemOwn - yes | 22:26 |
@sonney2k | blackburn, how can one delete an object in java normally? | 22:27 |
blackburn | no way, you shouldn't delete java objects normally | 22:27 |
blackburn | it is deleted automagically when no reference to it | 22:28 |
@sonney2k | broken crap | 22:29 |
blackburn | sonney2k: I have an idea | 22:29 |
blackburn | hmm not | 22:30 |
blackburn | not helped | 22:30 |
blackburn | tried to place kernel stuff to some run() func | 22:31 |
@sonney2k | swigCMemOwn is protected... | 22:31 |
@sonney2k | blackburn, ok lets test if valgrind is correct | 22:34 |
@sonney2k | just do a while (true) { x = new GaussianKernel() } | 22:35 |
blackburn | how it will help? | 22:35 |
@sonney2k | if this doesn't kaboom at some point (memory wise) it is actually working but we jsut didn't observer the GC doing anything | 22:35 |
@sonney2k | it is just a test | 22:35 |
blackburn | hmm | 22:35 |
blackburn | ah yes | 22:35 |
blackburn | Isee | 22:35 |
@sonney2k | memory demands shouldn't grow (too much) | 22:36 |
@sonney2k | at least they should go down from time to time... | 22:36 |
blackburn | sonney2k: baad example :) | 22:37 |
@sonney2k | kaboom? | 22:37 |
blackburn | not, memory usage SLOWLY increases | 22:37 |
blackburn | I'm not sure I won't die before it reach some limit | 22:37 |
blackburn | maybe better to create it with some big matrices | 22:38 |
@sonney2k | It won't help to use a kernel cache of size 100MB | 22:38 |
@sonney2k | GaussianKernel(100, 1.0) | 22:38 |
blackburn | will or won't? | 22:39 |
blackburn | won't | 22:39 |
blackburn | :D | 22:39 |
@bettyboo | 8) | 22:39 |
@sonney2k | blackburn, wait memory demands don't grow fast? | 22:41 |
blackburn | sonney2k: with System.gc() it doesnt crash | 22:42 |
blackburn | still working | 22:42 |
@sonney2k | blackburn, and without? | 22:42 |
@sonney2k | I mean it is alloc'ing 100MB per iteration | 22:42 |
blackburn | swig crashed without | 22:42 |
blackburn | hmm I will add a counter | 22:43 |
@sonney2k | java exceptioN? | 22:43 |
blackburn | not java exception, sigserv from JRE | 22:43 |
@sonney2k | ahh great | 22:43 |
blackburn | 3k iterations so fat | 22:44 |
blackburn | far | 22:44 |
blackburn | :D | 22:44 |
@bettyboo | not bad | 22:44 |
blackburn | without gc | 22:44 |
blackburn | hmmm | 22:44 |
blackburn | too many open files?? | 22:44 |
blackburn | :D | 22:44 |
blackburn | I think we found a bug in blas :D | 22:45 |
blackburn | hahah | 22:45 |
blackburn | sonney2k: | 22:46 |
blackburn | public static void run() { | 22:46 |
blackburn | GaussianKernel kernel; | 22:46 |
blackburn | int i=0; | 22:46 |
blackburn | while (true) | 22:46 |
blackburn | { | 22:46 |
blackburn | //System.gc(); | 22:46 |
blackburn | RealFeatures feats = new RealFeatures(Load.load_numbers("../data/fm_train_real.dat")); | 22:46 |
blackburn | kernel = new GaussianKernel(100,1.0); | 22:46 |
blackburn | kernel.init(feats,feats); | 22:46 |
-!- blackburn was kicked from #shogun by bettyboo [flood] | 22:46 | |
-!- blackburn [~blackburn@188.122.224.26] has joined #shogun | 22:46 | |
blackburn | 3401 iterations passed and kaboom with too many open files with jblas load routine | 22:47 |
@sonney2k | blackburn, of course too many open files | 22:47 |
blackburn | sonney2k: it should close it | 22:47 |
@sonney2k | the load_numbers thing is from jblas? | 22:47 |
@sonney2k | I thought it is java code? | 22:47 |
blackburn | load_numbers is just a front-end to loadAsciiFile or so | 22:48 |
blackburn | from jblas | 22:48 |
@sonney2k | blackburn, ugh indeed | 22:48 |
@sonney2k | anyway why do you do this in the loop | 22:48 |
@sonney2k | just do DoubleMatrix x=Load* outside | 22:49 |
@sonney2k | and then new RealFeatures(x) within the loop | 22:49 |
blackburn | 2k | 22:51 |
blackburn | 3л | 22:52 |
blackburn | 3k | 22:52 |
@sonney2k | does memory requirement grow? | 22:52 |
blackburn | 1018m VIRT memory still | 22:52 |
blackburn | 67m res | 22:53 |
@sonney2k | and that stays constant now? | 22:53 |
blackburn | yes | 22:53 |
blackburn | hmm | 22:53 |
blackburn | RES memory grows | 22:53 |
blackburn | and VIRT too | 22:53 |
blackburn | but pretty slow | 22:54 |
@sonney2k | blackburn, ok then - what happens if you do kernel.delete() features.delete() | 22:54 |
@sonney2k | and do the loop? | 22:54 |
@sonney2k | then it won't leak? | 22:54 |
blackburn | sonney2k: much faster with delete() | 22:56 |
blackburn | 300k already | 22:56 |
blackburn | RES memory grows | 22:56 |
@sonney2k | why is it faster? | 22:56 |
blackburn | I'd say gc is slower | 22:57 |
@sonney2k | but gc on java objects still needs to be run | 22:57 |
blackburn | I mean if we delete it 'manually' - no need to run through all the objects | 22:57 |
@sonney2k | I mean it is not finalize() .... | 22:57 |
blackburn | what is delete? | 22:57 |
blackburn | swig? | 22:57 |
@sonney2k | some swig method to delete the object... | 22:58 |
blackburn | will it remove ref? | 22:58 |
blackburn | 1.6M already | 22:58 |
blackburn | RES decreased | 22:58 |
@sonney2k | blackburn, check the source code... I am not so sure | 22:58 |
@sonney2k | so it stabelized | 22:59 |
blackburn | sonney2k: btw with no delete it is 'slowering' | 22:59 |
blackburn | with 5k passed it is much slower than with 1k | 22:59 |
@sonney2k | blackburn, it becomes slower you mean/ | 22:59 |
@sonney2k | ? | 22:59 |
blackburn | :D yes exactly | 22:59 |
@sonney2k | ugh | 23:00 |
blackburn | 2.4 | 23:00 |
@sonney2k | no idea why would one ever use java... | 23:00 |
blackburn | so why did you want it? :D | 23:01 |
@sonney2k | I will have to program in java soon | 23:01 |
blackburn | why? | 23:01 |
@sonney2k | so it will also help me | 23:01 |
@sonney2k | :) | 23:01 |
@sonney2k | and actually many people asked for it | 23:01 |
@sonney2k | and it allows interaction with weka | 23:01 |
blackburn | well, java is pretty good thing to work with | 23:01 |
@sonney2k | except for the garbage collector | 23:02 |
@sonney2k | that seems like the worst idea ever... | 23:02 |
blackburn | hmm why do you think so? | 23:03 |
@sonney2k | look at your example above | 23:03 |
@sonney2k | you have no control over memory | 23:03 |
blackburn | I haven't have to have it normally | 23:03 |
blackburn | in my java EE experience I'd never ever think about memory control :) | 23:04 |
blackburn | sonney2k: seriously, in *normal* java (without C-java interaction) it works very well | 23:06 |
@sonney2k | blackburn, so if you allocate a huge java object in this while loop it would work? | 23:06 |
blackburn | yes of course it will | 23:07 |
@sonney2k | blackburn, try ... | 23:07 |
@sonney2k | I don't believe it | 23:07 |
blackburn | sonney2k: double[][] array = new double[100][100]? | 23:09 |
blackburn | 500k iterations passed | 23:10 |
blackburn | no gc or any delete | 23:10 |
@sonney2k | blackburn, and a *real* class? | 23:10 |
blackburn | 1M | 23:10 |
blackburn | hmm | 23:10 |
blackburn | okay some string | 23:10 |
@sonney2k | I mean a class that could have the double[][] ar = double[100][100] or so inside | 23:11 |
@sonney2k | ? | 23:11 |
blackburn | sonney2k: tried StringBuilder with 10000 capacity | 23:12 |
@sonney2k | and? | 23:12 |
blackburn | 1M so far | 23:13 |
blackburn | sonney2k: I would even try some Stream connecting to some site and it will work too | 23:13 |
@sonney2k | blackburn, but why are the shogun objects not finalized? | 23:14 |
blackburn | they are | 23:14 |
@sonney2k | blackburn, but why does it take so long then? | 23:15 |
blackburn | no idea | 23:15 |
blackburn | but I guess nobody will create 500k kernels hehe | 23:15 |
blackburn | 100k times connected to oracle.com | 23:16 |
blackburn | 300k | 23:16 |
blackburn | sonney2k: do you believe now? | 23:16 |
blackburn | 600k | 23:16 |
blackburn | 700k | 23:16 |
@sonney2k | blackburn, then swig & java is not working nicely or we have a bug | 23:17 |
blackburn | 1M | 23:17 |
blackburn | sonney2k: | 23:17 |
blackburn | int i=0; | 23:17 |
blackburn | while (true) | 23:17 |
blackburn | { | 23:17 |
blackburn | URL oracle = new URL("http://www.oracle.com/"); | 23:17 |
blackburn | BufferedReader reader = new BufferedReader(new InputStreamReader(oracle.openStream())); | 23:17 |
blackburn | reader.close(); | 23:17 |
blackburn | System.out.printf("Iteration %d\n",i++); | 23:17 |
blackburn | } | 23:17 |
-!- blackburn was kicked from #shogun by bettyboo [flood] | 23:17 | |
-!- blackburn [~blackburn@188.122.224.26] has joined #shogun | 23:17 | |
blackburn | no any leaks ;) | 23:17 |
blackburn | java GC is working well, I guess nobody is complaining | 23:18 |
blackburn | sonney2k: much faster without init()? | 23:23 |
blackburn | no ? | 23:23 |
@sonney2k | well just try a single object | 23:24 |
@sonney2k | not kernel too | 23:24 |
blackburn | which single object? | 23:24 |
blackburn | sonney2k: I think swig finalize routines is slow | 23:24 |
blackburn | sonney2k: so I guess finalize is called but *after* shogun_exit | 23:29 |
@sonney2k | blackburn, hmmhh finalize() is just calling delete() | 23:33 |
@sonney2k | and that is *ony* doing SG_UNREF | 23:33 |
@sonney2k | so el-cheapo ... | 23:33 |
blackburn | delete doing unref? | 23:33 |
@sonney2k | yes | 23:33 |
blackburn | delete thing work fast | 23:33 |
blackburn | no idea why it is slower than any other loo | 23:34 |
blackburn | p | 23:34 |
blackburn | even URL stream faster | 23:34 |
@sonney2k | blackburn, could only be because of --trace-memory-allocs overheads | 23:35 |
blackburn | sonney2k: i'll try without | 23:35 |
@sonney2k | and? | 23:57 |
@sonney2k | blackburn, ^ | 23:57 |
blackburn | sonney2k: still compiling | 23:57 |
blackburn | forgot to --disable-optimizations.. | 23:57 |
@sonney2k | 22 minutes already? | 23:57 |
@sonney2k | well it will be faster then :D | 23:57 |
@bettyboo | :*) | 23:57 |
blackburn | done | 23:57 |
blackburn | sonney2k: much faster | 23:58 |
blackburn | 300k done | 23:58 |
blackburn | 500k | 23:58 |
blackburn | eating memory.. | 23:58 |
blackburn | sonney2k: stabilized at 2g of memory usage | 23:59 |
blackburn | 2M passed | 23:59 |
@sonney2k | ok | 23:59 |
--- Log closed Sun Jul 31 00:00:59 2011 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!