[racket-dev] Memory consumption of Racket

From: Nevo (sakur.deagod at gmail.com)
Date: Sat Apr 23 09:12:10 EDT 2011

>
> 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
>
> --
>

I'm testing on both iPad1 and iPad2.  Although virtual memory system is
supported in iOS, it doesn't have back store which is similar to "swap area"
in Linux. So each thirdparty application is allowed to use only limited RAM.
Based on my experience, running out of 30MB will put application in a
ready-to-be-killed state. I just cannot instrument the entire memory usage
through Apple's "Instrument" tool because my port uses "mmap"  to allocate
Racket pages. I only turned on some commented out log to show some rough GC
statistics, as below :

>>>----- begin cut -----<<<

*Collection 0 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 1 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 2 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 3 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 4 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 5 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 6 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 7 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 8 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 9 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 10 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 11 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 12 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 13 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 14 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 15 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 16 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 17 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 18 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 19 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 20 (full = 0): 0 / 0 / 0 / 0  20971520*

*Collection 21 (full = 1): 1 / 0 / 0 / 0  20971520*

*Collection 22 (full = 0): 0 / 0 / 0 / 0  9413736*

*Collection 23 (full = 0): 0 / 0 / 0 / 0  9413736*

*Collection 24 (full = 0): 0 / 0 / 0 / 0  9413736*

*Collection 25 (full = 0): 0 / 0 / 0 / 0  9413736*

*Collection 26 (full = 0): 0 / 0 / 0 / 0  9413736*

*Collection 27 (full = 0): 0 / 0 / 0 / 0  9413736*

*Collection 28 (full = 0): 0 / 0 / 0 / 0  9413736*

*Collection 29 (full = 1): 0 / 0 / 0 / 1  9413736*

*Collection 30 (full = 0): 0 / 0 / 0 / 0  7900148*

*Collection 31 (full = 0): 0 / 0 / 0 / 0  7900148*

*Collection 32 (full = 0): 0 / 0 / 0 / 0  7900148*

*Collection 33 (full = 0): 0 / 0 / 0 / 0  7900148*

*Collection 34 (full = 0): 0 / 0 / 0 / 0  7900148*

*Collection 35 (full = 0): 0 / 0 / 0 / 0  7900148*

*Collection 36 (full = 0): 0 / 0 / 0 / 0  7900148*

*Collection 37 (full = 1): 0 / 0 / 0 / 1  7900148*

*Collection 38 (full = 0): 0 / 0 / 0 / 0  14335268*

*Collection 39 (full = 0): 0 / 0 / 0 / 0  14335268*

*Collection 40 (full = 1): 1 / 0 / 0 / 0  14335268*

*Collection 41 (full = 0): 0 / 0 / 0 / 0  13440512*

*Collection 42 (full = 0): 0 / 0 / 0 / 0  13440512*

*Collection 43 (full = 1): 1 / 0 / 0 / 0  13440512*

*Collection 44 (full = 0): 0 / 0 / 0 / 0  13527152*

*Collection 45 (full = 0): 0 / 0 / 0 / 0  13527152*

*Collection 46 (full = 0): 0 / 0 / 0 / 0  13527152*

*Collection 47 (full = 0): 0 / 0 / 0 / 0  13527152*

*Collection 48 (full = 0): 0 / 0 / 0 / 0  13527152*

*Collection 49 (full = 0): 0 / 0 / 0 / 0  13527152*

*Collection 50 (full = 0): 0 / 0 / 0 / 0  13527152*

*Collection 51 (full = 0): 0 / 0 / 0 / 0  13527152*

*Collection 52 (full = 0): 0 / 0 / 0 / 0  13527152*

*Collection 53 (full = 0): 0 / 0 / 0 / 0  13527152*

*Collection 54 (full = 1): 1 / 0 / 0 / 0  13527152*

*Collection 55 (full = 0): 0 / 0 / 0 / 0  14846644*

*Collection 56 (full = 0): 0 / 0 / 0 / 0  14846644*

*Collection 57 (full = 0): 0 / 0 / 0 / 0  14846644*

*Collection 58 (full = 0): 0 / 0 / 0 / 0  14846644*

*Collection 59 (full = 0): 0 / 0 / 0 / 0  14846644*

*Collection 60 (full = 0): 0 / 0 / 0 / 0  14846644*

*Collection 61 (full = 0): 0 / 0 / 0 / 0  14846644*

*Collection 62 (full = 0): 0 / 0 / 0 / 0  14846644*

*Collection 63 (full = 1): 0 / 0 / 0 / 1  14846644*

*Collection 64 (full = 0): 0 / 0 / 0 / 0  22116532*

*Collection 65 (full = 0): 0 / 0 / 0 / 0  22116532*

*Collection 66 (full = 0): 0 / 0 / 0 / 0  22116532*

*Collection 67 (full = 0): 0 / 0 / 0 / 0  22116532*

*Collection 68 (full = 0): 0 / 0 / 0 / 0  22116532*

*Collection 69 (full = 0): 0 / 0 / 0 / 0  22116532*

*Collection 70 (full = 0): 0 / 0 / 0 / 0  22116532*

*Collection 71 (full = 0): 0 / 0 / 0 / 0  22116532*

*Collection 72 (full = 0): 0 / 0 / 0 / 0  22116532*

*Collection 73 (full = 0): 0 / 0 / 0 / 0  22116532*

*Collection 74 (full = 1): 1 / 0 / 0 / 0  22116532*

*Collection 75 (full = 0): 0 / 0 / 0 / 0  18949764*

*Collection 76 (full = 0): 0 / 0 / 0 / 0  18949764*

*Collection 77 (full = 0): 0 / 0 / 0 / 0  18949764*

*Collection 78 (full = 0): 0 / 0 / 0 / 0  18949764*

*Collection 79 (full = 0): 0 / 0 / 0 / 0  18949764*

*Collection 80 (full = 0): 0 / 0 / 0 / 0  18949764*

*Collection 81 (full = 1): 1 / 0 / 0 / 0  18949764*

*Collection 82 (full = 0): 0 / 0 / 0 / 0  25615792*

*Collection 83 (full = 0): 0 / 0 / 0 / 0  25615792*

*Collection 84 (full = 0): 0 / 0 / 0 / 0  25615792*

*Collection 85 (full = 1): 1 / 0 / 0 / 0  25615792*

*Collection 86 (full = 0): 0 / 0 / 0 / 0  26515772*

*Collection 87 (full = 0): 0 / 0 / 0 / 0  26515772*

*Collection 88 (full = 0): 0 / 0 / 0 / 0  26515772*

*Collection 89 (full = 0): 0 / 0 / 0 / 0  26515772*

*Collection 90 (full = 0): 0 / 0 / 0 / 0  26515772*

*Collection 91 (full = 1): 1 / 0 / 0 / 0  26515772*

*Collection 92 (full = 0): 0 / 0 / 0 / 0  32964540*

*Collection 93 (full = 0): 0 / 0 / 0 / 0  32964540*

*Collection 94 (full = 0): 0 / 0 / 0 / 0  32964540*

*Collection 95 (full = 0): 0 / 0 / 0 / 0  32964540*

*Collection 96 (full = 0): 0 / 0 / 0 / 0  32964540*

*Collection 97 (full = 1): 1 / 0 / 0 / 0  32964540*

*Collection 98 (full = 0): 0 / 0 / 0 / 0  25365440*

*Collection 99 (full = 0): 0 / 0 / 0 / 0  25365440*

*Collection 100 (full = 0): 0 / 0 / 0 / 0  25365440*

*Collection 101 (full = 0): 0 / 0 / 0 / 0  25365440*

*Collection 102 (full = 0): 0 / 0 / 0 / 0  25365440*

*Collection 103 (full = 0): 0 / 0 / 0 / 0  25365440*

*Collection 104 (full = 0): 0 / 0 / 0 / 0  25365440*

*Collection 105 (full = 1): 0 / 0 / 0 / 1  25365440*

*Collection 106 (full = 0): 0 / 0 / 0 / 0  36634108*

*Collection 107 (full = 0): 0 / 0 / 0 / 0  36634108*

*Collection 108 (full = 0): 0 / 0 / 0 / 0  36634108*

*Collection 109 (full = 0): 0 / 0 / 0 / 0  36634108*

*Collection 110 (full = 0): 0 / 0 / 0 / 0  36634108*

*Collection 111 (full = 0): 0 / 0 / 0 / 0  36634108*

Program received signal:  “0”.

Data Formatters temporarily unavailable, will re-try after a 'continue'.
(Unknown error loading shared library
"/Developer/usr/lib/libXcodeDebuggerSupport.dylib")

>>>----- end cut -----<<<
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20110423/96e04299/attachment-0001.html>

Posted on the dev mailing list.