Page 2 of 17 FirstFirst 12345612 ... LastLast
Results 11 to 20 of 168

  Click here to go to the first Developer post in this thread.  

Thread: Custom Memory Allocator for engine since b85869

  1.   Click here to go to the next Developer post in this thread.   #11
    BI Developer Suma's Avatar
    Join Date
    Jun 27 2001
    Location
    Czech Republic
    Posts
    3,708
    Quote Originally Posted by DBGB View Post
    Just tested with the winhoard.dll x64 downloaded from here : http://plasma.cs.umass.edu/emery/download-hoard

    I just made a backup of the dll folder (with tbb3malloc_bi and tbb4malloc_bi) only kept the winhoard.dll file there.

    Is this the correct way to do test - or do I still need to specify the malloc option in the command line ?
    This will not work, because the winhoard.dll does not conform to the interface needed for a custom allocator as specified in the Wiki, and therefore it will not be used. It should be possible to create a custom allocator based on Hoard, but it involves a bit more work.
    Ondrej Spanel, BIS Lead Programmer

  2. #12

    Just a little work needed

    Quote Originally Posted by Suma View Post
    This will not work, because the winhoard.dll does not conform to the interface needed for a custom allocator as specified in the Wiki, and therefore it will not be used. It should be possible to create a custom allocator based on Hoard, but it involves a bit more work.
    ok - Downloaded the windows source for winhoard -> hoard-38.zip

    Looking into the BI wikipage : http://community.bistudio.com/wiki/A...mory_Allocator

    Take the 'MemTotalReserved()'

    - Total memory reserved by the allocator (should correspond to VirtualAlloc with MEM_RESERVE)

    I find this function call in the hoard source in the two header files:

    mmapheap.h
    mmapwrapper.h

    And in a c file - sbrk.c

    Since I'm such a novice at programming (anything) I'd like the community to help modify the hoard38.zip source to conform to the DLL Interface required by the game engine.

    I have Visual Studio so I should be able to figure out how to make/build/compile from the sources.

    But atm - it's too much work for me to figure this out on my own...I think ;-)

  3. #13
    One thing you might want to consider: it's not possible to call a 64bit DLL from a 32bit executable.
    Get Arma2 OA Beta Notifications via e-mail | RSS | Twitter

    Gigabyte P67X-UD3-B3 Motherboard | Intel Core i7 2600k @ 4.0GHz | NVidia GeForce GTX560 TI
    16GB Corsair XMS3 1600Mhz RAM | Kingston HyperX SSD | ASUS Xonar D2X
    sound | be Quiet! 700W PSU | Windows 7 x64


  4. #14
    A few questions:
    • Should we test tbb4malloc_bi.dll?
    • What is different to tbb3malloc_bi.dll?
    • Should we test some other, like the open source ones - which ones?
    • How to test? What to look for in testing?
    • Prio is stability, performance and then memory usage?


    Thanks

  5. #15
    Would be easier if people can try it with a good test/benchmark mission where they can see or feel the differences. Something simple and userfriendly.

  6. #16
    First Lieutenant PuFu's Avatar
    Join Date
    Feb 17 2007
    Location
    unallocated
    Posts
    5,392
    Quote Originally Posted by MadDogX View Post
    One thing you might want to consider: it's not possible to call a 64bit DLL from a 32bit executable.
    That is what got me interested when i read the title first time (which limited knowledge about memory allocators that is).

    props for BIS for making this move, but some more information and guidelines would be appreciated (see kju's post). even with a lot of very knowledgeable guys around here...

    Spoiler:

  7. #17
    After some googling I've discovered that the "TBB" in TBB3/4 stands for Thread Building Blocks. Never heard of that before.

    TBB4 seems to be quite new (available since the beginning of September).

  8. #18

    Ttb4

    Quote Originally Posted by MadDogX View Post
    After some googling I've discovered that the "TBB" in TBB3/4 stands for Thread Building Blocks. Never heard of that before.

    TBB4 seems to be quite new (available since the beginning of September).
    TTB4 http://threadingbuildingblocks.org/whatsnew.php

    I guess BI may or may not have a license for the commercial version (Intel resource link http://software.intel.com/en-us/articles/intel-tbb/

    But apparently BI can distribute a version of TTB3+4 under GPLv2 + RE or maybe they have a license for the 'commercial' TTB.

    Anyway - OS or not - I'm quite interested in (alternative) implementations that are focused on optimizing code-paths for multicore - Numa systems.

    Dreaming again : Would be snazzy to have the core engine compiled specifically for the code-path that will give the optimal (parallel) execution flow - by the press of a button ;-) and a fallback default codepath.

    Update - Maybe nedmalloc should be my focus point instead of hoard

    http://www.nedprod.com/programs/portable/nedmalloc/

    ArmA_2:_Custom_Memory_Allocator

    tbb3malloc_bi - based on Intel TBB 3, distributed under GPL v2 + RE
    tbb4malloc_bi - based on Intel TBB 4, distributed under GPL v2 + RE
    jemalloc_bi - not available yet, based on JEMalloc, distributed under BSD-derived license
    tcmalloc_bi - not available yet, based on TCMalloc, distributed under New BSD license
    nedmalloc_bi - not available yet, based on NedMalloc, distributed under Boost Software License
    customMalloc_bi - not provided, feel free to plug-in your own
    It looks like BI will provide the above list, execpt for the last of course....

    :-D So maybe I should just be patient.....
    Last edited by DBGB; Oct 28 2011 at 12:25. Reason: Forget about hoard if nedmalloc claim is true

  9. #19
    Dunno if its related to those memor allocators, but performance dropped significantly with the latest beta. Im on Win7 x64.
    Marek Spanel: [...] Every single element is well taught so that it fits together. So this is a significant change, because with ArmA 1 it was just random, really.
    We made some units because we had to. There wasn't much passion from our side with the first ArmA, to be honest. This time it's different. (Videogamer.com Interview

    Please BIS: Arma2 must become a TRUE MASTERPIECE - Not a middle-heavy catastrophe!

  10. #20
    Quote Originally Posted by mr.g-c View Post
    Dunno if its related to those memor allocators, but performance dropped significantly with the latest beta. Im on Win7 x64.
    Perhaps add some useful details? http://dev-heaven.net/projects/cis/w...o-report-a-bug

    Like what is significantly?
    Like where/when/how do you notice this?
    Like what are your startup parameters?
    Like what are the mods?
    ...
    Half of that is available by simply attaching your RPT file.
    Last edited by Sickboy; Oct 28 2011 at 14:54.
    A.C.E. Advanced Combat Environment

    Dev-Heaven.net Free Project Hosting | A2 Community Issue Tracker Help BIS, Help yourself!

Page 2 of 17 FirstFirst 12345612 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •