IRC log for #brlcad on 20130306

04:50.47 brlcad does a happy code dance
04:51.27 brlcad new page allocation compiled clean and worked right on the first try, both counts
04:51.55 brlcad which by itself is meh, good, but with nuggets like this in there, pretty aweseom: &(heaps[sz-1][pages[sz-1]-1][used[sz-1][pages[sz-1]-1]++]);
04:53.57 brlcad now to put it to a real-world test
05:25.31 brlcad wow, richard's pool allocator is considerably worse than system malloc/free
05:29.13 brlcad hehe, and performance actually gets worse if we don't free memory ...
05:29.44 brlcad some metrics
05:31.46 brlcad ~52M mallocs: sys=5s pool=91s heap=3s
05:34.27 brlcad ~52M malloc+frees: sys=10s pool=73s heap=4s
08:15.17 brlcad welp, it's hooked into libbu now and running some numbers now ... will see where this might have a useful impast
08:15.29 brlcad calls it a night
08:28.48 *** join/#brlcad witness (uid10044@gateway/web/irccloud.com/x-obaiatmvbsvdcgkq)
08:38.38 *** join/#brlcad luca79 (~luca@net-2-34-220-10.cust.dsl.vodafone.it)
09:03.44 *** join/#brlcad Black_Rabbit (~Black_Rab@115.248.130.148)
09:19.52 *** join/#brlcad merzo (~merzo@94.45.58.138)
09:36.05 *** join/#brlcad merzo (~merzo@user-94-45-58-138-1.skif.com.ua)
12:49.12 *** join/#brlcad Black_Rabbit (~Black_Rab@115.248.130.148)
13:28.37 *** join/#brlcad Black_Rabbit (~Black_Rab@115.248.130.148)
13:41.02 brlcad preliminary numbers are in for conversion, it's giving about a 30% reduction in time
13:41.34 brlcad a 4 min conversion is reduced to 2 and a half min
13:49.27 *** join/#brlcad luca79 (~luca@net-2-34-220-10.cust.dsl.vodafone.it)
15:35.57 *** join/#brlcad merzo (~merzo@94.45.58.138)
15:41.54 *** join/#brlcad Black_Rabbit (~Black_Rab@115.248.130.148)
15:42.25 ``Erik nifty
16:15.44 *** join/#brlcad merzo (~merzo@user-94-45-58-138-1.skif.com.ua)
16:51.30 Notify 03BRL-CAD:brlcad * 54534 brlcad/trunk/src/other/tcl/CMakeLists.txt: shouldn't be compiling tclAppInit into libtcl -- it contains a main() intended for front end clients like tclsh
17:33.59 Notify 03BRL-CAD:carlmoore * 54535 brlcad/trunk/src/fb/bw-fb.c: insert space before a left parenthesis
19:55.15 Notify 03BRL-CAD:brlcad * 54536 (brlcad/trunk/src/librt/db5_io.c brlcad/trunk/src/librt/db5_scan.c): remove the pooling on geometry objects at the IO layer. testing of the pooling calls indicated performance was substantially slower than system malloc/free (by an order of magnitude).
20:47.59 Notify 03BRL-CAD:brlcad * 54537 brlcad/trunk/include/bu.h: examples should do what the api docs say, if we call BU_GET() then we should call BU_PUT() ... not bu_free().
20:49.34 Notify 03BRL-CAD:brlcad * 54538 brlcad/trunk/include/nmg.h: BU_PUT() to match BU_GET()
20:52.01 *** join/#brlcad merzo (~merzo@6-121-133-95.pool.ukrtel.net)
20:57.47 Notify 03BRL-CAD:brlcad * 54539 brlcad/trunk/src/libged/ged.c: match BU_PUT() to BU_GET() allocation
21:47.53 Notify 03BRL-CAD:carlmoore * 54540 brlcad/trunk/src/util/bw3-pix.c: use capital U
22:02.45 Notify 03BRL-CAD:brlcad * 54541 brlcad/trunk/include/nurb.h: call bu_calloc instead of BU_GET since we don't call the corresponding BU_PUT
22:02.55 Notify 03BRL-CAD:brlcad * 54542 brlcad/trunk/include/nmg.h: cast makes for an invalid lvalue, remove it
22:25.03 Notify 03BRL-CAD:brlcad * 54543 (brlcad/trunk/src/libbu/heap.c =================================================================== and 202 others): stub in an initial implementation of a really fast heap-based memory allocation capability for small allocation sizes. it allocates size-designated blocks of memory ('pages') in order to substantially reduce calls to system malloc. it has a nice property of being O(1) on alloc
22:25.05 Notify and profiles substantially faster than system malloc. from half to several orders of magnitude in testing (making the call cost near-zero). presently only implemented for byte sizes 1 through 64 (trivial to extend). implementation of free is stubbed empty, but intend to reuse free cells and reclaim memory on-demand. made to match BU_GET/BU_PUT so it can serve as the back-end implementation.
22:27.41 brlcad ``Erik: heh, "and 202 others" .. don't think that's right
22:27.44 Notify 03BRL-CAD:brlcad * 54544 (brlcad/trunk/src/libbu/CMakeLists.txt brlcad/trunk/src/libbu/Makefile.am): add new heap.c for compilation
22:33.10 Notify 03BRL-CAD:brlcad * 54545 brlcad/trunk/include/raytrace.h: the motivation for RT_GET_TREE()/RT_FREE_TREE() and keeping a free list in the resource structure may be moot or at least unnecessary now, but warrants performance testing
22:38.02 Notify 03BRL-CAD:brlcad * 54546 brlcad/trunk/CHANGES: deprecate RT_GET_TREE() and RT_FREE_TREE(). probably minimally impacting, but needs some review/testing so just scheduled
23:07.18 ``Erik the parser got confused, the ===== stuff shouldn't be there
23:57.00 ``Erik starseeker: zomfg real talking filibuster going on now O.o /. has it
23:57.33 ``Erik (or, going on today, anyway)

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.