Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #24405

Re: Memory & Pixel Usage Etc: As Number of JTable Rows & Columns Increases

From Eric Sosman <esosman@comcast-dot-net.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: Memory & Pixel Usage Etc: As Number of JTable Rows & Columns Increases
Date 2013-06-14 10:37 -0400
Organization A noiseless patient Spider
Message-ID <kpf9i0$p3l$1@dont-email.me> (permalink)
References (2 earlier) <572d9ee8-aa0c-4275-a41c-e9bebccfbc21@googlegroups.com> <kpa3dh$5jo$1@dont-email.me> <a9e35bca-b530-49a0-94c4-fc920069e120@n13g2000yqj.googlegroups.com> <kpaash$j0h$1@dont-email.me> <429cccb8-27fb-4544-b560-461770aafb2c@v2g2000yqa.googlegroups.com>

Show all headers | View raw


On 6/14/2013 8:47 AM, Haircuts Are Important wrote:
> Disregarding garbage collection, what do you think about "ever" using
> freeMemory() as an approximation for memory useage:
>
>      Runtime.getRuntime().gc();
>      long before = Runtime.getRuntime().freeMemory();
>      long after = Runtime.getRuntime().freeMemory();

     "Disregarding garbage collection," freeMemory() is a reliable
way to measure a meaningless quantity.  Disregarding gravity, how
high can you jump?

     It's possible to use totalMemory() and freeMemory() and a lot
of care (calling gc() "suggests" garbage collection and promises
only a "best effort") to estimate the sizes of simple objects like
Integers, fixed-length Strings or arrays, and so on.  But with more
complex objects containing references to other complex objects it
becomes much more difficult.  You seem to be concerned about how
much memory a JTable uses -- well, does that include the TableModel?
The data in the TableModel?  The TableColumnModel, the internal
HashTables that store editors and renderers, the editors and
renderers themselves, ...?  You've got a fairly thorny definitional
problem before you can even get started.

     Ah, the heck with it.  Here's the output of a micro-benchmark
I wrote some time ago, estimating the size of a `new JTable()' by
fitting least-squares lines relating "instance count" to "heap used:"

	500 instances: 5247.664 bytes each
	1000 instances: 5248.128 bytes each
	1500 instances: 5220.9584 bytes each
	2000 instances: 5220.9328 bytes each
	2500 instances: 5224.7922285714285 bytes each
	3000 instances: 5228.693142857142 bytes each
	3500 instances: 5231.899428571429 bytes each
	4000 instances: 5234.469066666667 bytes each
	4500 instances: 5236.533624242425 bytes each
	5000 instances: 5238.165672727273 bytes each
	BUILD SUCCESSFUL (total time: 14 seconds)

There you have it -- but *what* do you have?

-- 
Eric Sosman
esosman@comcast-dot-net.invalid

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Memory & Pixel Usage Etc: As Number of JTable Rows & Columns Increases Haircuts Are Important <clusardi2k@aol.com> - 2013-06-11 12:42 -0700
  Re: Memory & Pixel Usage Etc: As Number of JTable Rows & Columns Increases Knute Johnson <nospam@knutejohnson.com> - 2013-06-11 15:56 -0700
    Re: Memory & Pixel Usage Etc: As Number of JTable Rows & Columns Increases "John B. Matthews" <nospam@nospam.invalid> - 2013-06-11 22:51 -0400
    Re: Memory & Pixel Usage Etc: As Number of JTable Rows & Columns Increases clusardi2k@aol.com - 2013-06-11 23:29 -0700
    Re: Memory & Pixel Usage Etc: As Number of JTable Rows & Columns Increases clusardi2k@aol.com - 2013-06-11 23:35 -0700
      Re: Memory & Pixel Usage Etc: As Number of JTable Rows & Columns Increases Haircuts Are Important <clusardi2k@aol.com> - 2013-06-12 05:11 -0700
        Re: Memory & Pixel Usage Etc: As Number of JTable Rows & Columns Increases Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2013-06-12 09:12 -0700
      Re: Memory & Pixel Usage Etc: As Number of JTable Rows & Columns Increases Knute Johnson <nospam@knutejohnson.com> - 2013-06-12 08:21 -0700
        Re: Memory & Pixel Usage Etc: As Number of JTable Rows & Columns Increases Haircuts Are Important <clusardi2k@aol.com> - 2013-06-12 09:13 -0700
          Re: Memory & Pixel Usage Etc: As Number of JTable Rows & Columns Increases Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-06-12 13:29 -0400
            Re: Memory & Pixel Usage Etc: As Number of JTable Rows & Columns Increases Haircuts Are Important <clusardi2k@aol.com> - 2013-06-14 05:47 -0700
              Re: Memory & Pixel Usage Etc: As Number of JTable Rows & Columns Increases Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-06-14 10:37 -0400
                Re: Memory & Pixel Usage Etc: As Number of JTable Rows & Columns Increases Lew <lewbloch@gmail.com> - 2013-06-14 10:42 -0700

csiph-web