[racket-dev] Memory consumption of Racket

From: Nevo (sakur.deagod at gmail.com)
Date: Mon Apr 25 22:55:30 EDT 2011

Sure. I'd very glad to share. Here' s my git repo which is a fork from the
upstream of plt (probably out of sync for a couple of weeks).
https://github.com/nevo/racket-hack

If you'd want me to prepare standalone patches, please let me know.
I'd be much appreciated for your contribution. Thanks!

Nevo

On 26 April 2011 10:22, Kevin Tew <tewk at cs.utah.edu> wrote:

>  If your willing, we would like to see your code changes/patches get
> integrated back into the project.
> This is the best way to get more developers interested and willing to work
> on Racket for iOS.
>
> Are you willing to share your changes?
> We are willing to take them in any form, clean them up, and get them
> committed.
>
> Kevin
>
>
>
> On 04/25/2011 06:15 PM, Nevo wrote:
>
> hi Kevin:
>   I've successfully enabled places with a few in-code fix to be compiler
> happy, mostly are implement atomic operations using OSAtomicXXX provided by
> Apple and emit arm instruction instead of thumb. It just run without low
> memory crashes (at least per my recent runs), although still getting a level
> 1 memory warning which is common for most of complicated softwares in iOS I
> think. But I would be rather appreciated if you have something else which I
> can look into by myself to further reduce memory consumption. Thanks!
>
>  Cheers
> Nevo
>
> On 23 April 2011 21:24, Nevo <sakur.deagod at gmail.com> wrote:
>
>> hi Kevin:
>>   Thanks for your help here. I'm trying to enable "place" first then I
>> think I can apply your patch. Is there still a way to reduce unused memory
>> as in your patch, but without the need of "place"?
>>
>>  Nevo
>>
>>
>> On 23 April 2011 21:16, Kevin Tew <tewk at cs.utah.edu> wrote:
>>
>>> Here is another patch you can try to reduce caching of unused memory.
>>>
>>> diff --git a/src/racket/gc2/alloc_cache.c b/src/racket/gc2/alloc_cache.c
>>> index 44895af..d1f1c03 100644
>>> --- a/src/racket/gc2/alloc_cache.c
>>> +++ b/src/racket/gc2/alloc_cache.c
>>> @@ -10,7 +10,7 @@
>>>  */
>>>
>>>  /* Controls how often freed pages are actually returned to OS: */
>>> -#define BLOCKFREE_UNMAP_AGE 3
>>> +#define BLOCKFREE_UNMAP_AGE 0
>>>
>>>  /* Controls size of the cache */
>>>  #define BLOCKFREE_CACHE_SIZE 3000
>>>
>>>
>>>
>>> On 04/23/2011 05:14 AM, Jens Axel Søgaard wrote:
>>>
>>>> 2011/4/22 Nevo<sakur.deagod at gmail.com>:
>>>>
>>>>> hi
>>>>>   My attempt on porting Racket interpreter to iOS has been for a while
>>>>> and
>>>>> I've been able to run interpreter on both iOS device as well iOS
>>>>> simulator.
>>>>>
>>>> Great news.
>>>>
>>>>  Right now, it runs perfectly on iOS simulator, but lack of satisfaction
>>>>> on
>>>>> device. The reason is for those devices like iPad/iPhone or Android,
>>>>> the
>>>>> memory for standalone application is always constrained, and even a
>>>>> single
>>>>> "hello world" evaluation would easily put the whole app runtime to
>>>>> death,
>>>>> per my test.
>>>>>
>>>> I am curious which iPhone and which iPad?
>>>>
>>>> For the non-iPad owners here are a few (unofficial) specs, so you
>>>> have a rough idea of how much memory the iDevices have:
>>>>
>>>> Internal RAM for:
>>>>   iPad 2            512MB
>>>>   iPad 1            256MB
>>>>
>>>>   iPhone 4         512MB
>>>>   iPhone 3GS    256MB
>>>>   iPhone 3G      128MB
>>>>   iPhone           128MB
>>>>
>>>>
>>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20110426/9b3c2d3b/attachment-0001.html>

Posted on the dev mailing list.