You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(9) |
Sep
(14) |
Oct
(19) |
Nov
(38) |
Dec
(77) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(31) |
Feb
(59) |
Mar
(56) |
Apr
(35) |
May
(79) |
Jun
(90) |
Jul
(50) |
Aug
(141) |
Sep
(56) |
Oct
(132) |
Nov
(78) |
Dec
(158) |
2005 |
Jan
(90) |
Feb
(71) |
Mar
(77) |
Apr
(159) |
May
(183) |
Jun
(127) |
Jul
(253) |
Aug
(104) |
Sep
(110) |
Oct
(207) |
Nov
(149) |
Dec
(102) |
2006 |
Jan
(92) |
Feb
(165) |
Mar
(214) |
Apr
(227) |
May
(130) |
Jun
(139) |
Jul
(74) |
Aug
(110) |
Sep
(136) |
Oct
(114) |
Nov
(112) |
Dec
(131) |
2007 |
Jan
(135) |
Feb
(212) |
Mar
(302) |
Apr
(239) |
May
(210) |
Jun
(163) |
Jul
(181) |
Aug
(288) |
Sep
(134) |
Oct
(228) |
Nov
(177) |
Dec
(106) |
2008 |
Jan
(113) |
Feb
(199) |
Mar
(131) |
Apr
(215) |
May
(105) |
Jun
(119) |
Jul
(140) |
Aug
(126) |
Sep
(139) |
Oct
(157) |
Nov
(105) |
Dec
(103) |
2009 |
Jan
(185) |
Feb
(181) |
Mar
(201) |
Apr
(221) |
May
(175) |
Jun
(172) |
Jul
(153) |
Aug
(108) |
Sep
(87) |
Oct
(24) |
Nov
(21) |
Dec
(27) |
2010 |
Jan
(10) |
Feb
(52) |
Mar
(75) |
Apr
(128) |
May
(150) |
Jun
(110) |
Jul
(71) |
Aug
(75) |
Sep
(65) |
Oct
(88) |
Nov
(95) |
Dec
(55) |
2011 |
Jan
(35) |
Feb
(54) |
Mar
(67) |
Apr
(75) |
May
(49) |
Jun
(57) |
Jul
(36) |
Aug
(30) |
Sep
(42) |
Oct
(10) |
Nov
(28) |
Dec
(39) |
2012 |
Jan
(70) |
Feb
(20) |
Mar
(32) |
Apr
(65) |
May
(29) |
Jun
(11) |
Jul
(13) |
Aug
(23) |
Sep
(22) |
Oct
(9) |
Nov
(13) |
Dec
(10) |
2013 |
Jan
(9) |
Feb
(9) |
Mar
(9) |
Apr
(7) |
May
(7) |
Jun
(2) |
Jul
(10) |
Aug
(2) |
Sep
(6) |
Oct
(5) |
Nov
(8) |
Dec
(3) |
2014 |
Jan
(17) |
Feb
(8) |
Mar
|
Apr
(3) |
May
|
Jun
(6) |
Jul
(6) |
Aug
|
Sep
(1) |
Oct
(2) |
Nov
(3) |
Dec
(2) |
2015 |
Jan
(1) |
Feb
(2) |
Mar
(1) |
Apr
(4) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
From: SourceForge.net <no...@so...> - 2012-11-12 21:59:43
|
The following forum message was posted by tomnelson at http://sourceforge.net/projects/jung/forums/forum/252062/topic/6163379: Our MultiViewDemo shows how to do this. Tom Nelson |
From: SourceForge.net <no...@so...> - 2012-11-12 21:39:19
|
The following forum message was posted by e-flat at http://sourceforge.net/projects/jung/forums/forum/252062/topic/6163379: Assuming the vertex objects are the same, then you can use the same state for both graphs to indicate which vertices are selected. E.g., use a shared Set of selected vertices (used by the code which cares about selected vertices), or set a bit in the vertex object itself indicating selected state. Joshua |
From: SourceForge.net <no...@so...> - 2012-11-12 10:25:00
|
The following forum message was posted by kpreetiaiyer at http://sourceforge.net/projects/jung/forums/forum/252062/topic/6163379: Hello, I have a custom visualizer class used to display my main graph in a JFrame. For a set of selected vertices, I generate a second type of graph using vertex selection menu and display it using a second visualizer in a new JFrame. My problem is I do not know how to highlight the vertices selected in the second visualizer in the first one. Is it possible? I am using Jung 2.0. I would appreciate any help. Thanks in advance. |
From: SourceForge.net <no...@so...> - 2012-11-02 10:47:02
|
The following forum message was posted by jinjhon at http://sourceforge.net/projects/jung/forums/forum/252062/topic/5149610: [url=http://www.forbeautifulbride.com/]beautiful bride[/url] I like it but at the end its not a great deal |
From: Joshua O'M. <jos...@gm...> - 2012-10-23 17:44:49
|
SourceForge is experiencing a general outage at the moment. Here's the page for more information: https://sourceforge.net/blog/various-sourceforge-services-down/ On Tue, Oct 23, 2012 at 10:03 AM, Zhang, Yifeng <yzh...@ui...> wrote: > It seems like the JUNG Web site is down. Anybody knows when it will be > back up? Thanks. **** > > ** ** > > Yifeng Zhang, PhD**** > > Associate Professor**** > > Department of Management Information Systems**** > > University of Illinois at Springfield**** > > Phone: 217-206-8252**** > > ** ** > > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_sfd2d_oct > _______________________________________________ > Jung-support mailing list > Jun...@li... > https://lists.sourceforge.net/lists/listinfo/jung-support > > -- jos...@gm.........sites.google.com/site/joshuaomadadhain/ Joshua O'Madadhain: Information Scientist, Musician, Philosopher-At-Tall It's that moment of dawning comprehension that I live for. -- Bill Watterson My opinions are too rational and insightful to be those of any organization. |
From: Zhang, Y. <yzh...@ui...> - 2012-10-23 17:03:36
|
It seems like the JUNG Web site is down. Anybody knows when it will be back up? Thanks. Yifeng Zhang, PhD Associate Professor Department of Management Information Systems University of Illinois at Springfield Phone: 217-206-8252 |
From: Joshua O'M. <jos...@gm...> - 2012-10-02 19:29:51
|
Let me rephrase: please cut-and-paste the complete stack trace. On Tue, Oct 2, 2012 at 1:31 AM, José Barbosa <jba...@ip...> wrote: > Says that the error is here... when I send the graph into a method in > other class. > > gui_conveyorSystem.displayGraph(Agraph); > > Thanks. > > Em 02-10-2012 02:29, Joshua O'Madadhain escreveu: > > Where does the stack trace say that the error is? > > On Mon, Oct 1, 2012 at 4:05 PM, José Barbosa <jba...@ip...> wrote: > >> Thnak you Joshua. >> I've print the stack trace, but with no success. >> I just don't understand why give this error because I print the graph >> just before and is OK. >> >> Thank you anyway. >> >> Em 01-10-2012 17:24, Joshua O'Madadhain escreveu: >> >> José, you're asking us about a NullPointerException inside your code, >> which we can't see, so there isn't anything we really can do to help. >> >> I suggest looking at the stack trace for the NPE; that should tell you >> precisely where the error is. >> >> Joshua >> >> On Mon, Oct 1, 2012 at 7:58 AM, José Barbosa <jba...@ip...> wrote: >> >>> Hello, >>> >>> I've 2 classes... I create, on the first one, the Jung graph. I want to >>> send this graph to another classe method where I create the visualizer. >>> The problem is that it gives me a Null Pointer Exception ... >>> >>> Code snap: >>> >>> Agraph = createGraph(); // creates a graph and returns the graph into >>> Agraph >>> >>> gui_conveyorSystem.displayGraph(Agraph); // sends the graph to a method >>> in other class... Gives error here... >>> >>> >>> Any idea why? What I've to do not to give error? >>> >>> Thanks in advance. >>> >>> José >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Got visibility? >>> Most devs has no idea what their production app looks like. >>> Find out how fast your code is with AppDynamics Lite. >>> http://ad.doubleclick.net/clk;262219671;13503038;y? >>> http://info.appdynamics.com/FreeJavaPerformanceDownload.html >>> _______________________________________________ >>> Jung-support mailing list >>> Jun...@li... >>> https://lists.sourceforge.net/lists/listinfo/jung-support >>> >>> >> >> >> -- >> jos...@gm.........sites.google.com/site/joshuaomadadhain/ >> Joshua O'Madadhain: Information Scientist, Musician, >> Philosopher-At-Tall >> It's that moment of dawning comprehension that I live for. -- Bill >> Watterson >> My opinions are too rational and insightful to be those of any >> organization. >> >> >> -- >> José Barbosa >> Polytechnic Institute of Bragança >> Quinta Sta Apolónia, Apartado 1134 >> 5301-857 Bragança >> Portugal >> [T]: +351-918985512 | [F]: +351-273313051 >> [www]: http://www.ipb.pt/~jbarbosa | [@]: jba...@ip... >> >> > > > -- > jos...@gm.........sites.google.com/site/joshuaomadadhain/ > Joshua O'Madadhain: Information Scientist, Musician, Philosopher-At-Tall > It's that moment of dawning comprehension that I live for. -- Bill > Watterson > My opinions are too rational and insightful to be those of any > organization. > > > -- > José Barbosa > Polytechnic Institute of Bragança > Quinta Sta Apolónia, Apartado 1134 > 5301-857 Bragança > Portugal > [T]: +351-918985512 | [F]: +351-273313051 > [www]: http://www.ipb.pt/~jbarbosa | [@]: jba...@ip... > > -- jos...@gm.........sites.google.com/site/joshuaomadadhain/ Joshua O'Madadhain: Information Scientist, Musician, Philosopher-At-Tall It's that moment of dawning comprehension that I live for. -- Bill Watterson My opinions are too rational and insightful to be those of any organization. |
From: José B. <jba...@ip...> - 2012-10-02 08:31:52
|
Says that the error is here... when I send the graph into a method in other class. gui_conveyorSystem.displayGraph(Agraph); Thanks. Em 02-10-2012 02:29, Joshua O'Madadhain escreveu: > Where does the stack trace say that the error is? > > On Mon, Oct 1, 2012 at 4:05 PM, José Barbosa <jba...@ip... > <mailto:jba...@ip...>> wrote: > > Thnak you Joshua. > I've print the stack trace, but with no success. > I just don't understand why give this error because I print the > graph just before and is OK. > > Thank you anyway. > > Em 01-10-2012 17:24, Joshua O'Madadhain escreveu: >> José, you're asking us about a NullPointerException inside your >> code, which we can't see, so there isn't anything we really can >> do to help. >> >> I suggest looking at the stack trace for the NPE; that should >> tell you precisely where the error is. >> >> Joshua >> >> On Mon, Oct 1, 2012 at 7:58 AM, José Barbosa <jba...@ip... >> <mailto:jba...@ip...>> wrote: >> >> Hello, >> >> I've 2 classes... I create, on the first one, the Jung graph. >> I want to send this graph to another classe method where I >> create the visualizer. >> The problem is that it gives me a Null Pointer Exception ... >> >> Code snap: >> >> Agraph = createGraph(); // creates a graph and returns the >> graph into Agraph >> >> gui_conveyorSystem.displayGraph(Agraph); // sends the graph >> to a method in other class... Gives error here... >> >> >> Any idea why? What I've to do not to give error? >> >> Thanks in advance. >> >> José >> >> >> ------------------------------------------------------------------------------ >> Got visibility? >> Most devs has no idea what their production app looks like. >> Find out how fast your code is with AppDynamics Lite. >> http://ad.doubleclick.net/clk;262219671;13503038;y? >> http://info.appdynamics.com/FreeJavaPerformanceDownload.html >> _______________________________________________ >> Jung-support mailing list >> Jun...@li... >> <mailto:Jun...@li...> >> https://lists.sourceforge.net/lists/listinfo/jung-support >> >> >> >> >> -- >> jos...@gm... >> <mailto:jos...@gm...>......sites.google.com/site/joshuaomadadhain/ >> <http://sites.google.com/site/joshuaomadadhain/> >> Joshua O'Madadhain: Information Scientist, Musician, >> Philosopher-At-Tall >> It's that moment of dawning comprehension that I live for. -- >> Bill Watterson >> My opinions are too rational and insightful to be those of any >> organization. >> > > -- > José Barbosa > Polytechnic Institute of Bragança > Quinta Sta Apolónia, Apartado 1134 > 5301-857 Bragança > Portugal > [T]:+351-918985512 <tel:%2B351-918985512> | [F]:+351-273313051 <tel:%2B351-273313051> > [www]:http://www.ipb.pt/~jbarbosa <http://www.ipb.pt/%7Ejbarbosa> | [@]:jba...@ip... <mailto:jba...@ip...> > > > > > -- > jos...@gm.........sites.google.com/site/joshuaomadadhain/ > <http://sites.google.com/site/joshuaomadadhain/> > Joshua O'Madadhain: Information Scientist, Musician, > Philosopher-At-Tall > It's that moment of dawning comprehension that I live for. -- Bill > Watterson > My opinions are too rational and insightful to be those of any > organization. > -- José Barbosa Polytechnic Institute of Bragança Quinta Sta Apolónia, Apartado 1134 5301-857 Bragança Portugal [T]: +351-918985512 | [F]: +351-273313051 [www]: http://www.ipb.pt/~jbarbosa | [@]: jba...@ip... |
From: Joshua O'M. <jos...@gm...> - 2012-10-02 01:29:11
|
Where does the stack trace say that the error is? On Mon, Oct 1, 2012 at 4:05 PM, José Barbosa <jba...@ip...> wrote: > Thnak you Joshua. > I've print the stack trace, but with no success. > I just don't understand why give this error because I print the graph just > before and is OK. > > Thank you anyway. > > Em 01-10-2012 17:24, Joshua O'Madadhain escreveu: > > José, you're asking us about a NullPointerException inside your code, > which we can't see, so there isn't anything we really can do to help. > > I suggest looking at the stack trace for the NPE; that should tell you > precisely where the error is. > > Joshua > > On Mon, Oct 1, 2012 at 7:58 AM, José Barbosa <jba...@ip...> wrote: > >> Hello, >> >> I've 2 classes... I create, on the first one, the Jung graph. I want to >> send this graph to another classe method where I create the visualizer. >> The problem is that it gives me a Null Pointer Exception ... >> >> Code snap: >> >> Agraph = createGraph(); // creates a graph and returns the graph into >> Agraph >> >> gui_conveyorSystem.displayGraph(Agraph); // sends the graph to a method >> in other class... Gives error here... >> >> >> Any idea why? What I've to do not to give error? >> >> Thanks in advance. >> >> José >> >> >> >> ------------------------------------------------------------------------------ >> Got visibility? >> Most devs has no idea what their production app looks like. >> Find out how fast your code is with AppDynamics Lite. >> http://ad.doubleclick.net/clk;262219671;13503038;y? >> http://info.appdynamics.com/FreeJavaPerformanceDownload.html >> _______________________________________________ >> Jung-support mailing list >> Jun...@li... >> https://lists.sourceforge.net/lists/listinfo/jung-support >> >> > > > -- > jos...@gm.........sites.google.com/site/joshuaomadadhain/ > Joshua O'Madadhain: Information Scientist, Musician, Philosopher-At-Tall > It's that moment of dawning comprehension that I live for. -- Bill > Watterson > My opinions are too rational and insightful to be those of any > organization. > > > -- > José Barbosa > Polytechnic Institute of Bragança > Quinta Sta Apolónia, Apartado 1134 > 5301-857 Bragança > Portugal > [T]: +351-918985512 | [F]: +351-273313051 > [www]: http://www.ipb.pt/~jbarbosa | [@]: jba...@ip... > > -- jos...@gm.........sites.google.com/site/joshuaomadadhain/ Joshua O'Madadhain: Information Scientist, Musician, Philosopher-At-Tall It's that moment of dawning comprehension that I live for. -- Bill Watterson My opinions are too rational and insightful to be those of any organization. |
From: José B. <jba...@ip...> - 2012-10-01 23:05:24
|
Thnak you Joshua. I've print the stack trace, but with no success. I just don't understand why give this error because I print the graph just before and is OK. Thank you anyway. Em 01-10-2012 17:24, Joshua O'Madadhain escreveu: > José, you're asking us about a NullPointerException inside your code, > which we can't see, so there isn't anything we really can do to help. > > I suggest looking at the stack trace for the NPE; that should tell you > precisely where the error is. > > Joshua > > On Mon, Oct 1, 2012 at 7:58 AM, José Barbosa <jba...@ip... > <mailto:jba...@ip...>> wrote: > > Hello, > > I've 2 classes... I create, on the first one, the Jung graph. I > want to send this graph to another classe method where I create > the visualizer. > The problem is that it gives me a Null Pointer Exception ... > > Code snap: > > Agraph = createGraph(); // creates a graph and returns the > graph into Agraph > > gui_conveyorSystem.displayGraph(Agraph); // sends the graph to a > method in other class... Gives error here... > > > Any idea why? What I've to do not to give error? > > Thanks in advance. > > José > > > ------------------------------------------------------------------------------ > Got visibility? > Most devs has no idea what their production app looks like. > Find out how fast your code is with AppDynamics Lite. > http://ad.doubleclick.net/clk;262219671;13503038;y? > http://info.appdynamics.com/FreeJavaPerformanceDownload.html > _______________________________________________ > Jung-support mailing list > Jun...@li... > <mailto:Jun...@li...> > https://lists.sourceforge.net/lists/listinfo/jung-support > > > > > -- > jos...@gm.........sites.google.com/site/joshuaomadadhain/ > <http://sites.google.com/site/joshuaomadadhain/> > Joshua O'Madadhain: Information Scientist, Musician, > Philosopher-At-Tall > It's that moment of dawning comprehension that I live for. -- Bill > Watterson > My opinions are too rational and insightful to be those of any > organization. > -- José Barbosa Polytechnic Institute of Bragança Quinta Sta Apolónia, Apartado 1134 5301-857 Bragança Portugal [T]: +351-918985512 | [F]: +351-273313051 [www]: http://www.ipb.pt/~jbarbosa | [@]: jba...@ip... |
From: Joshua O'M. <jos...@gm...> - 2012-10-01 16:24:34
|
José, you're asking us about a NullPointerException inside your code, which we can't see, so there isn't anything we really can do to help. I suggest looking at the stack trace for the NPE; that should tell you precisely where the error is. Joshua On Mon, Oct 1, 2012 at 7:58 AM, José Barbosa <jba...@ip...> wrote: > Hello, > > I've 2 classes... I create, on the first one, the Jung graph. I want to > send this graph to another classe method where I create the visualizer. > The problem is that it gives me a Null Pointer Exception ... > > Code snap: > > Agraph = createGraph(); // creates a graph and returns the graph into > Agraph > > gui_conveyorSystem.displayGraph(Agraph); // sends the graph to a method in > other class... Gives error here... > > > Any idea why? What I've to do not to give error? > > Thanks in advance. > > José > > > > ------------------------------------------------------------------------------ > Got visibility? > Most devs has no idea what their production app looks like. > Find out how fast your code is with AppDynamics Lite. > http://ad.doubleclick.net/clk;262219671;13503038;y? > http://info.appdynamics.com/FreeJavaPerformanceDownload.html > _______________________________________________ > Jung-support mailing list > Jun...@li... > https://lists.sourceforge.net/lists/listinfo/jung-support > > -- jos...@gm.........sites.google.com/site/joshuaomadadhain/ Joshua O'Madadhain: Information Scientist, Musician, Philosopher-At-Tall It's that moment of dawning comprehension that I live for. -- Bill Watterson My opinions are too rational and insightful to be those of any organization. |
From: Joshua O'M. <jos...@gm...> - 2012-10-01 16:22:17
|
The classes you're using, probably not. To create a synchronized wrapper of a graph, use Graph.synchronized[graph_type](graph): http://jung.sourceforge.net/doc/api/edu/uci/ics/jung/graph/util/Graphs.html On Sun, Sep 30, 2012 at 7:13 AM, Bing Li <lb...@gm...> wrote: > Dear all, > > In my system, it is possible that multiple threads read and write the > graph of edu.uci.ics.jung.graph.Graph. > > I wonder if the read/write methods, such as addEdge or removeVertex, are > thread-safe? > > Thanks so much! > > Best regards, > Bing > > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://ad.doubleclick.net/clk;258768047;13503038;j? > http://info.appdynamics.com/FreeJavaPerformanceDownload.html > _______________________________________________ > Jung-support mailing list > Jun...@li... > https://lists.sourceforge.net/lists/listinfo/jung-support > > -- jos...@gm.........sites.google.com/site/joshuaomadadhain/ Joshua O'Madadhain: Information Scientist, Musician, Philosopher-At-Tall It's that moment of dawning comprehension that I live for. -- Bill Watterson My opinions are too rational and insightful to be those of any organization. |
From: José B. <jba...@ip...> - 2012-10-01 15:16:25
|
Hello, I've 2 classes... I create, on the first one, the Jung graph. I want to send this graph to another classe method where I create the visualizer. The problem is that it gives me a Null Pointer Exception ... Code snap: Agraph = createGraph(); // creates a graph and returns the graph into Agraph gui_conveyorSystem.displayGraph(Agraph); // sends the graph to a method in other class... Gives error here... Any idea why? What I've to do not to give error? Thanks in advance. José |
From: Bing Li <lb...@gm...> - 2012-09-30 14:13:48
|
Dear all, In my system, it is possible that multiple threads read and write the graph of edu.uci.ics.jung.graph.Graph. I wonder if the read/write methods, such as addEdge or removeVertex, are thread-safe? Thanks so much! Best regards, Bing |
From: SourceForge.net <no...@so...> - 2012-09-29 21:33:58
|
The following forum message was posted by e-flat at http://sourceforge.net/projects/jung/forums/forum/252062/topic/5897299: You're not really giving enough detail about what you're doing to be sure. Are you retaining the same Graph object? Are you updating the layout? Generally, I recommend looking at the AddNodeDemo for tips on how to update the visualization as you're updating the graph. Joshua |
From: SourceForge.net <no...@so...> - 2012-09-28 21:52:35
|
The following forum message was posted by yuruani at http://sourceforge.net/projects/jung/forums/forum/252062/topic/5897299: Hi. I am creating a network with Jung using FRLayout and a DirectedSparseGraph. The network first appears fine. Then I want to draw another network on pressing a button. The action is done like this: Edges and vertices from the graph are removed from the graph, new vertices and edges are created and added to it, the container gets revalidated and the main content pane gets updated. Once that happens, a new network appears, but this time there is really no layout, everything is spread randomly. What am I doing wrong? Thanks |
From: Bing Li <lb...@gm...> - 2012-09-28 06:10:10
|
Joshua, I see. I appreciate so much for your help! Best regards, Bing On Fri, Sep 28, 2012 at 2:07 PM, Joshua O'Madadhain < jos...@gm...> wrote: > On Thu, Sep 27, 2012 at 7:35 PM, Bing Li <lb...@gm...> wrote: > >> Dear Joshua, >> >> Before executing the method, Rank(), listed previously, edgeSet is set as >> follows. >> >> ... >> this.edgeSet.add(new Edge<String>(this.GetVertex(hostKey), this.GetVertex(neighborKey), >> weight)); >> ... >> >> The weight is calculated according to the specific scenarios in my >> system. All of edges are saved in the set before invoking the method of >> Rank(). >> >> Is it not required? It costs more memory? >> > > You don't need this. Unless there's more to an Edge than you describe > here--it looks like it's defined by its source, destination, and > weight--then you can just do this: > > graph.addEdge(new Edge(weight), this.GetVertex(hostkey), > this.GetVertex(neighborKey)); > > If edge weights are guaranteed unique, then it's even easier, just let the > edge type itself be the weight. > > The graph holds the relationship between the vertices, the Edge doesn't > need to do that. > Skipping building the edgeSet will save you both memory and time. > > Joshua > > >> >> Your help is highly appreciated. >> >> Best regards, >> Bing >> >> On Fri, Sep 28, 2012 at 12:33 AM, Joshua O'Madadhain < >> jos...@gm...> wrote: >> >>> On Wed, Sep 26, 2012 at 10:54 PM, Bing Li <lb...@gm...> wrote: >>> >>>> Dear Joshua, >>>> >>>> Thanks so much for your reply! >>>> >>>> In my system, there are a lot of graphs. To speed the ranking, >>>> concurrency solution is designed. But the memory is costed a lot. >>>> >>> >>> So decrease the amount of Java heap available, and GC will happen more >>> aggressively. At some point, obviously, you'll run out of memory if you >>> decrease it enough, and the less memory you have the more time you'll spend >>> doing garbage collection, so you'll have to decide what tradeoff you're >>> willing to accept. >>> >>> >>>> >>>> For the edgeSet, the reason is that I need to set weights for each >>>> edge. The weights depend on my system's application tightly. May I have >>>> other way to set the weights and save the memory? >>>> >>> >>> That doesn't really answer the question as to why you need the edge set. >>> For PageRank, you need to supply (as you are) a Transformer from edges to >>> weights. JUNG does not care how your Transformer works, so there are >>> several different ways you can implement it, as discussed here: >>> https://sourceforge.net/apps/trac/jung/wiki/JUNGManual#UserData >>> >>> Good luck! >>> >>> Joshua >>> >>> >>>> >>>> Best regards, >>>> Bing >>>> >>>> On Thu, Sep 27, 2012 at 12:48 AM, Joshua O'Madadhain < >>>> jos...@gm...> wrote: >>>> >>>>> Bing: >>>>> >>>>> You're creating a lot of objects, so the memory usage is going to go >>>>> up. Since you're not actually running out of memory, it sounds like the >>>>> Java garbage collector is doing its job; as soon as the graph and ranker go >>>>> out of scope (i.e., when the rank() method returns) they are eligible for >>>>> GC and will be collected when the space is needed. It's not clear that you >>>>> have an actual problem here. >>>>> >>>>> I would point out that there's not necessarily a lot of point to >>>>> building an edgeSet, i.e., the Graph encodes this information itself so >>>>> there's no need for you to do it again. That is, just build the Graph >>>>> instead of the edge set and you'll save some space (and time) right there. >>>>> >>>>> Joshua >>>>> >>>>> On Wed, Sep 26, 2012 at 8:50 AM, Bing Li <lb...@gm...> wrote: >>>>> >>>>>> Dear all, >>>>>> >>>>>> It is found that a large amount of memory is taken when ranking with >>>>>> PageRank, from JUNG 2.0.1. When starting to rank, the memory consumption >>>>>> goes high and when the ranking is done, it memory usage gets low. >>>>>> >>>>>> According to jconsole, the memory usage jumps with a large range, >>>>>> such as 200M ~1.2G. Is it normal? >>>>>> >>>>>> I am still not sure if it is caused by PageRank. However, I notice >>>>>> one problem that I have to initialize an instance of PageRank and Graph >>>>>> each time when ranking a group. >>>>>> >>>>>> I think it must be better if the PageRank or Graph can be reused. >>>>>> When a new graph is available, PageRank or Graph can be reset or cleared. >>>>>> But no such methods are available, right? Any other ways to solve the >>>>>> potential problem? >>>>>> >>>>>> The code is listed as follows. The method is invoked many times >>>>>> because there are a lot of graphs in my systems and each of them must be >>>>>> ranked periodically. So the memory usage goes up and down in a large range >>>>>> periodically. >>>>>> >>>>>> public Map<T, Double> Rank(HashMap<T, Vertex<T>> vertexMap, >>>>>> Set<Edge<T>> edgeSet) >>>>>> { >>>>>> HashMap<T, Double> finalRankMap = new HashMap<T, >>>>>> Double>(); >>>>>> PageRank<Vertex<T>, Edge<T>> ranker; >>>>>> Graph<Vertex<T>, Edge<T>> graph = new >>>>>> DirectedSparseMultigraph<Vertex<T>, Edge<T>>(); >>>>>> for (Edge<T> edge : edgeSet) >>>>>> { >>>>>> graph.addEdge(edge, edge.GetSourceVertex(), >>>>>> edge.GetDestinationVertex(), EdgeType.DIRECTED); >>>>>> } >>>>>> ranker = new PageRank<Vertex<T>, Edge<T>>(graph, >>>>>> this.weightTransformer, RankingConfig.RANDOM_JUMP_PROPABILITY); >>>>>> ranker.evaluate(); >>>>>> >>>>>> for (Vertex<T> vertex : vertexMap.values()) >>>>>> { >>>>>> try >>>>>> { >>>>>> finalRankMap.put(vertex.GetKey(), >>>>>> ranker.getVertexScore(vertex)); >>>>>> } >>>>>> catch (IllegalArgumentException e) >>>>>> { >>>>>> e.printStackTrace(); >>>>>> } >>>>>> } >>>>>> return finalRankMap; >>>>>> } >>>>>> >>>>>> I appreciates so much for your help! >>>>>> >>>>>> Best regards, >>>>>> Bing >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> How fast is your code? >>>>>> 3 out of 4 devs don\\\'t know how their code performs in production. >>>>>> Find out how slow your code is with AppDynamics Lite. >>>>>> http://ad.doubleclick.net/clk;262219672;13503038;z? >>>>>> http://info.appdynamics.com/FreeJavaPerformanceDownload.html >>>>>> _______________________________________________ >>>>>> Jung-support mailing list >>>>>> Jun...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/jung-support >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> jos...@gm......... >>>>> sites.google.com/site/joshuaomadadhain/ >>>>> Joshua O'Madadhain: Information Scientist, Musician, >>>>> Philosopher-At-Tall >>>>> It's that moment of dawning comprehension that I live for. -- Bill >>>>> Watterson >>>>> My opinions are too rational and insightful to be those of any >>>>> organization. >>>>> >>>>> >>>> >>> >>> >>> -- >>> jos...@gm.........sites.google.com/site/joshuaomadadhain/ >>> Joshua O'Madadhain: Information Scientist, Musician, >>> Philosopher-At-Tall >>> It's that moment of dawning comprehension that I live for. -- Bill >>> Watterson >>> My opinions are too rational and insightful to be those of any >>> organization. >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Everyone hates slow websites. So do we. >>> Make your web apps faster with AppDynamics >>> Download AppDynamics Lite for free today: >>> http://ad.doubleclick.net/clk;258768047;13503038;j? >>> >>> http://info.appdynamics.com/FreeJavaPerformanceDownload.html >>> _______________________________________________ >>> Jung-support mailing list >>> Jun...@li... >>> https://lists.sourceforge.net/lists/listinfo/jung-support >>> >>> >> > > > -- > jos...@gm.........sites.google.com/site/joshuaomadadhain/ > Joshua O'Madadhain: Information Scientist, Musician, Philosopher-At-Tall > It's that moment of dawning comprehension that I live for. -- Bill > Watterson > My opinions are too rational and insightful to be those of any > organization. > > > > ------------------------------------------------------------------------------ > Got visibility? > Most devs has no idea what their production app looks like. > Find out how fast your code is with AppDynamics Lite. > http://ad.doubleclick.net/clk;262219671;13503038;y? > http://info.appdynamics.com/FreeJavaPerformanceDownload.html > _______________________________________________ > Jung-support mailing list > Jun...@li... > https://lists.sourceforge.net/lists/listinfo/jung-support > > |
From: Joshua O'M. <jos...@gm...> - 2012-09-28 06:07:35
|
On Thu, Sep 27, 2012 at 7:35 PM, Bing Li <lb...@gm...> wrote: > Dear Joshua, > > Before executing the method, Rank(), listed previously, edgeSet is set as > follows. > > ... > this.edgeSet.add(new Edge<String>(this.GetVertex(hostKey), this.GetVertex(neighborKey), > weight)); > ... > > The weight is calculated according to the specific scenarios in my system. > All of edges are saved in the set before invoking the method of Rank(). > > Is it not required? It costs more memory? > You don't need this. Unless there's more to an Edge than you describe here--it looks like it's defined by its source, destination, and weight--then you can just do this: graph.addEdge(new Edge(weight), this.GetVertex(hostkey), this.GetVertex(neighborKey)); If edge weights are guaranteed unique, then it's even easier, just let the edge type itself be the weight. The graph holds the relationship between the vertices, the Edge doesn't need to do that. Skipping building the edgeSet will save you both memory and time. Joshua > > Your help is highly appreciated. > > Best regards, > Bing > > On Fri, Sep 28, 2012 at 12:33 AM, Joshua O'Madadhain < > jos...@gm...> wrote: > >> On Wed, Sep 26, 2012 at 10:54 PM, Bing Li <lb...@gm...> wrote: >> >>> Dear Joshua, >>> >>> Thanks so much for your reply! >>> >>> In my system, there are a lot of graphs. To speed the ranking, >>> concurrency solution is designed. But the memory is costed a lot. >>> >> >> So decrease the amount of Java heap available, and GC will happen more >> aggressively. At some point, obviously, you'll run out of memory if you >> decrease it enough, and the less memory you have the more time you'll spend >> doing garbage collection, so you'll have to decide what tradeoff you're >> willing to accept. >> >> >>> >>> For the edgeSet, the reason is that I need to set weights for each edge. >>> The weights depend on my system's application tightly. May I have other way >>> to set the weights and save the memory? >>> >> >> That doesn't really answer the question as to why you need the edge set. >> For PageRank, you need to supply (as you are) a Transformer from edges to >> weights. JUNG does not care how your Transformer works, so there are >> several different ways you can implement it, as discussed here: >> https://sourceforge.net/apps/trac/jung/wiki/JUNGManual#UserData >> >> Good luck! >> >> Joshua >> >> >>> >>> Best regards, >>> Bing >>> >>> On Thu, Sep 27, 2012 at 12:48 AM, Joshua O'Madadhain < >>> jos...@gm...> wrote: >>> >>>> Bing: >>>> >>>> You're creating a lot of objects, so the memory usage is going to go >>>> up. Since you're not actually running out of memory, it sounds like the >>>> Java garbage collector is doing its job; as soon as the graph and ranker go >>>> out of scope (i.e., when the rank() method returns) they are eligible for >>>> GC and will be collected when the space is needed. It's not clear that you >>>> have an actual problem here. >>>> >>>> I would point out that there's not necessarily a lot of point to >>>> building an edgeSet, i.e., the Graph encodes this information itself so >>>> there's no need for you to do it again. That is, just build the Graph >>>> instead of the edge set and you'll save some space (and time) right there. >>>> >>>> Joshua >>>> >>>> On Wed, Sep 26, 2012 at 8:50 AM, Bing Li <lb...@gm...> wrote: >>>> >>>>> Dear all, >>>>> >>>>> It is found that a large amount of memory is taken when ranking with >>>>> PageRank, from JUNG 2.0.1. When starting to rank, the memory consumption >>>>> goes high and when the ranking is done, it memory usage gets low. >>>>> >>>>> According to jconsole, the memory usage jumps with a large range, such >>>>> as 200M ~1.2G. Is it normal? >>>>> >>>>> I am still not sure if it is caused by PageRank. However, I notice one >>>>> problem that I have to initialize an instance of PageRank and Graph each >>>>> time when ranking a group. >>>>> >>>>> I think it must be better if the PageRank or Graph can be reused. When >>>>> a new graph is available, PageRank or Graph can be reset or cleared. But no >>>>> such methods are available, right? Any other ways to solve the potential >>>>> problem? >>>>> >>>>> The code is listed as follows. The method is invoked many times >>>>> because there are a lot of graphs in my systems and each of them must be >>>>> ranked periodically. So the memory usage goes up and down in a large range >>>>> periodically. >>>>> >>>>> public Map<T, Double> Rank(HashMap<T, Vertex<T>> vertexMap, >>>>> Set<Edge<T>> edgeSet) >>>>> { >>>>> HashMap<T, Double> finalRankMap = new HashMap<T, >>>>> Double>(); >>>>> PageRank<Vertex<T>, Edge<T>> ranker; >>>>> Graph<Vertex<T>, Edge<T>> graph = new >>>>> DirectedSparseMultigraph<Vertex<T>, Edge<T>>(); >>>>> for (Edge<T> edge : edgeSet) >>>>> { >>>>> graph.addEdge(edge, edge.GetSourceVertex(), >>>>> edge.GetDestinationVertex(), EdgeType.DIRECTED); >>>>> } >>>>> ranker = new PageRank<Vertex<T>, Edge<T>>(graph, >>>>> this.weightTransformer, RankingConfig.RANDOM_JUMP_PROPABILITY); >>>>> ranker.evaluate(); >>>>> >>>>> for (Vertex<T> vertex : vertexMap.values()) >>>>> { >>>>> try >>>>> { >>>>> finalRankMap.put(vertex.GetKey(), >>>>> ranker.getVertexScore(vertex)); >>>>> } >>>>> catch (IllegalArgumentException e) >>>>> { >>>>> e.printStackTrace(); >>>>> } >>>>> } >>>>> return finalRankMap; >>>>> } >>>>> >>>>> I appreciates so much for your help! >>>>> >>>>> Best regards, >>>>> Bing >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> How fast is your code? >>>>> 3 out of 4 devs don\\\'t know how their code performs in production. >>>>> Find out how slow your code is with AppDynamics Lite. >>>>> http://ad.doubleclick.net/clk;262219672;13503038;z? >>>>> http://info.appdynamics.com/FreeJavaPerformanceDownload.html >>>>> _______________________________________________ >>>>> Jung-support mailing list >>>>> Jun...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/jung-support >>>>> >>>>> >>>> >>>> >>>> -- >>>> jos...@gm......... >>>> sites.google.com/site/joshuaomadadhain/ >>>> Joshua O'Madadhain: Information Scientist, Musician, >>>> Philosopher-At-Tall >>>> It's that moment of dawning comprehension that I live for. -- Bill >>>> Watterson >>>> My opinions are too rational and insightful to be those of any >>>> organization. >>>> >>>> >>> >> >> >> -- >> jos...@gm.........sites.google.com/site/joshuaomadadhain/ >> Joshua O'Madadhain: Information Scientist, Musician, >> Philosopher-At-Tall >> It's that moment of dawning comprehension that I live for. -- Bill >> Watterson >> My opinions are too rational and insightful to be those of any >> organization. >> >> >> >> ------------------------------------------------------------------------------ >> Everyone hates slow websites. So do we. >> Make your web apps faster with AppDynamics >> Download AppDynamics Lite for free today: >> http://ad.doubleclick.net/clk;258768047;13503038;j? >> >> http://info.appdynamics.com/FreeJavaPerformanceDownload.html >> _______________________________________________ >> Jung-support mailing list >> Jun...@li... >> https://lists.sourceforge.net/lists/listinfo/jung-support >> >> > -- jos...@gm.........sites.google.com/site/joshuaomadadhain/ Joshua O'Madadhain: Information Scientist, Musician, Philosopher-At-Tall It's that moment of dawning comprehension that I live for. -- Bill Watterson My opinions are too rational and insightful to be those of any organization. |
From: Bing Li <lb...@gm...> - 2012-09-28 02:35:21
|
Dear Joshua, Before executing the method, Rank(), listed previously, edgeSet is set as follows. ... this.edgeSet.add(new Edge<String>(this.GetVertex(hostKey), this.GetVertex(neighborKey), weight)); ... The weight is calculated according to the specific scenarios in my system. All of edges are saved in the set before invoking the method of Rank(). Is it not required? It costs more memory? Your help is highly appreciated. Best regards, Bing On Fri, Sep 28, 2012 at 12:33 AM, Joshua O'Madadhain < jos...@gm...> wrote: > On Wed, Sep 26, 2012 at 10:54 PM, Bing Li <lb...@gm...> wrote: > >> Dear Joshua, >> >> Thanks so much for your reply! >> >> In my system, there are a lot of graphs. To speed the ranking, >> concurrency solution is designed. But the memory is costed a lot. >> > > So decrease the amount of Java heap available, and GC will happen more > aggressively. At some point, obviously, you'll run out of memory if you > decrease it enough, and the less memory you have the more time you'll spend > doing garbage collection, so you'll have to decide what tradeoff you're > willing to accept. > > >> >> For the edgeSet, the reason is that I need to set weights for each edge. >> The weights depend on my system's application tightly. May I have other way >> to set the weights and save the memory? >> > > That doesn't really answer the question as to why you need the edge set. > For PageRank, you need to supply (as you are) a Transformer from edges to > weights. JUNG does not care how your Transformer works, so there are > several different ways you can implement it, as discussed here: > https://sourceforge.net/apps/trac/jung/wiki/JUNGManual#UserData > > Good luck! > > Joshua > > >> >> Best regards, >> Bing >> >> On Thu, Sep 27, 2012 at 12:48 AM, Joshua O'Madadhain < >> jos...@gm...> wrote: >> >>> Bing: >>> >>> You're creating a lot of objects, so the memory usage is going to go up. >>> Since you're not actually running out of memory, it sounds like the Java >>> garbage collector is doing its job; as soon as the graph and ranker go out >>> of scope (i.e., when the rank() method returns) they are eligible for GC >>> and will be collected when the space is needed. It's not clear that you >>> have an actual problem here. >>> >>> I would point out that there's not necessarily a lot of point to >>> building an edgeSet, i.e., the Graph encodes this information itself so >>> there's no need for you to do it again. That is, just build the Graph >>> instead of the edge set and you'll save some space (and time) right there. >>> >>> Joshua >>> >>> On Wed, Sep 26, 2012 at 8:50 AM, Bing Li <lb...@gm...> wrote: >>> >>>> Dear all, >>>> >>>> It is found that a large amount of memory is taken when ranking with >>>> PageRank, from JUNG 2.0.1. When starting to rank, the memory consumption >>>> goes high and when the ranking is done, it memory usage gets low. >>>> >>>> According to jconsole, the memory usage jumps with a large range, such >>>> as 200M ~1.2G. Is it normal? >>>> >>>> I am still not sure if it is caused by PageRank. However, I notice one >>>> problem that I have to initialize an instance of PageRank and Graph each >>>> time when ranking a group. >>>> >>>> I think it must be better if the PageRank or Graph can be reused. When >>>> a new graph is available, PageRank or Graph can be reset or cleared. But no >>>> such methods are available, right? Any other ways to solve the potential >>>> problem? >>>> >>>> The code is listed as follows. The method is invoked many times because >>>> there are a lot of graphs in my systems and each of them must be ranked >>>> periodically. So the memory usage goes up and down in a large range >>>> periodically. >>>> >>>> public Map<T, Double> Rank(HashMap<T, Vertex<T>> vertexMap, >>>> Set<Edge<T>> edgeSet) >>>> { >>>> HashMap<T, Double> finalRankMap = new HashMap<T, >>>> Double>(); >>>> PageRank<Vertex<T>, Edge<T>> ranker; >>>> Graph<Vertex<T>, Edge<T>> graph = new >>>> DirectedSparseMultigraph<Vertex<T>, Edge<T>>(); >>>> for (Edge<T> edge : edgeSet) >>>> { >>>> graph.addEdge(edge, edge.GetSourceVertex(), >>>> edge.GetDestinationVertex(), EdgeType.DIRECTED); >>>> } >>>> ranker = new PageRank<Vertex<T>, Edge<T>>(graph, >>>> this.weightTransformer, RankingConfig.RANDOM_JUMP_PROPABILITY); >>>> ranker.evaluate(); >>>> >>>> for (Vertex<T> vertex : vertexMap.values()) >>>> { >>>> try >>>> { >>>> finalRankMap.put(vertex.GetKey(), >>>> ranker.getVertexScore(vertex)); >>>> } >>>> catch (IllegalArgumentException e) >>>> { >>>> e.printStackTrace(); >>>> } >>>> } >>>> return finalRankMap; >>>> } >>>> >>>> I appreciates so much for your help! >>>> >>>> Best regards, >>>> Bing >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> How fast is your code? >>>> 3 out of 4 devs don\\\'t know how their code performs in production. >>>> Find out how slow your code is with AppDynamics Lite. >>>> http://ad.doubleclick.net/clk;262219672;13503038;z? >>>> http://info.appdynamics.com/FreeJavaPerformanceDownload.html >>>> _______________________________________________ >>>> Jung-support mailing list >>>> Jun...@li... >>>> https://lists.sourceforge.net/lists/listinfo/jung-support >>>> >>>> >>> >>> >>> -- >>> jos...@gm.........sites.google.com/site/joshuaomadadhain/ >>> Joshua O'Madadhain: Information Scientist, Musician, >>> Philosopher-At-Tall >>> It's that moment of dawning comprehension that I live for. -- Bill >>> Watterson >>> My opinions are too rational and insightful to be those of any >>> organization. >>> >>> >> > > > -- > jos...@gm.........sites.google.com/site/joshuaomadadhain/ > Joshua O'Madadhain: Information Scientist, Musician, Philosopher-At-Tall > It's that moment of dawning comprehension that I live for. -- Bill > Watterson > My opinions are too rational and insightful to be those of any > organization. > > > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://ad.doubleclick.net/clk;258768047;13503038;j? > http://info.appdynamics.com/FreeJavaPerformanceDownload.html > _______________________________________________ > Jung-support mailing list > Jun...@li... > https://lists.sourceforge.net/lists/listinfo/jung-support > > |
From: Joshua O'M. <jos...@gm...> - 2012-09-27 16:33:35
|
On Wed, Sep 26, 2012 at 10:54 PM, Bing Li <lb...@gm...> wrote: > Dear Joshua, > > Thanks so much for your reply! > > In my system, there are a lot of graphs. To speed the ranking, concurrency > solution is designed. But the memory is costed a lot. > So decrease the amount of Java heap available, and GC will happen more aggressively. At some point, obviously, you'll run out of memory if you decrease it enough, and the less memory you have the more time you'll spend doing garbage collection, so you'll have to decide what tradeoff you're willing to accept. > > For the edgeSet, the reason is that I need to set weights for each edge. > The weights depend on my system's application tightly. May I have other way > to set the weights and save the memory? > That doesn't really answer the question as to why you need the edge set. For PageRank, you need to supply (as you are) a Transformer from edges to weights. JUNG does not care how your Transformer works, so there are several different ways you can implement it, as discussed here: https://sourceforge.net/apps/trac/jung/wiki/JUNGManual#UserData Good luck! Joshua > > Best regards, > Bing > > On Thu, Sep 27, 2012 at 12:48 AM, Joshua O'Madadhain < > jos...@gm...> wrote: > >> Bing: >> >> You're creating a lot of objects, so the memory usage is going to go up. >> Since you're not actually running out of memory, it sounds like the Java >> garbage collector is doing its job; as soon as the graph and ranker go out >> of scope (i.e., when the rank() method returns) they are eligible for GC >> and will be collected when the space is needed. It's not clear that you >> have an actual problem here. >> >> I would point out that there's not necessarily a lot of point to building >> an edgeSet, i.e., the Graph encodes this information itself so there's no >> need for you to do it again. That is, just build the Graph instead of the >> edge set and you'll save some space (and time) right there. >> >> Joshua >> >> On Wed, Sep 26, 2012 at 8:50 AM, Bing Li <lb...@gm...> wrote: >> >>> Dear all, >>> >>> It is found that a large amount of memory is taken when ranking with >>> PageRank, from JUNG 2.0.1. When starting to rank, the memory consumption >>> goes high and when the ranking is done, it memory usage gets low. >>> >>> According to jconsole, the memory usage jumps with a large range, such >>> as 200M ~1.2G. Is it normal? >>> >>> I am still not sure if it is caused by PageRank. However, I notice one >>> problem that I have to initialize an instance of PageRank and Graph each >>> time when ranking a group. >>> >>> I think it must be better if the PageRank or Graph can be reused. When a >>> new graph is available, PageRank or Graph can be reset or cleared. But no >>> such methods are available, right? Any other ways to solve the potential >>> problem? >>> >>> The code is listed as follows. The method is invoked many times because >>> there are a lot of graphs in my systems and each of them must be ranked >>> periodically. So the memory usage goes up and down in a large range >>> periodically. >>> >>> public Map<T, Double> Rank(HashMap<T, Vertex<T>> vertexMap, >>> Set<Edge<T>> edgeSet) >>> { >>> HashMap<T, Double> finalRankMap = new HashMap<T, >>> Double>(); >>> PageRank<Vertex<T>, Edge<T>> ranker; >>> Graph<Vertex<T>, Edge<T>> graph = new >>> DirectedSparseMultigraph<Vertex<T>, Edge<T>>(); >>> for (Edge<T> edge : edgeSet) >>> { >>> graph.addEdge(edge, edge.GetSourceVertex(), >>> edge.GetDestinationVertex(), EdgeType.DIRECTED); >>> } >>> ranker = new PageRank<Vertex<T>, Edge<T>>(graph, >>> this.weightTransformer, RankingConfig.RANDOM_JUMP_PROPABILITY); >>> ranker.evaluate(); >>> >>> for (Vertex<T> vertex : vertexMap.values()) >>> { >>> try >>> { >>> finalRankMap.put(vertex.GetKey(), >>> ranker.getVertexScore(vertex)); >>> } >>> catch (IllegalArgumentException e) >>> { >>> e.printStackTrace(); >>> } >>> } >>> return finalRankMap; >>> } >>> >>> I appreciates so much for your help! >>> >>> Best regards, >>> Bing >>> >>> >>> ------------------------------------------------------------------------------ >>> How fast is your code? >>> 3 out of 4 devs don\\\'t know how their code performs in production. >>> Find out how slow your code is with AppDynamics Lite. >>> http://ad.doubleclick.net/clk;262219672;13503038;z? >>> http://info.appdynamics.com/FreeJavaPerformanceDownload.html >>> _______________________________________________ >>> Jung-support mailing list >>> Jun...@li... >>> https://lists.sourceforge.net/lists/listinfo/jung-support >>> >>> >> >> >> -- >> jos...@gm.........sites.google.com/site/joshuaomadadhain/ >> Joshua O'Madadhain: Information Scientist, Musician, >> Philosopher-At-Tall >> It's that moment of dawning comprehension that I live for. -- Bill >> Watterson >> My opinions are too rational and insightful to be those of any >> organization. >> >> > -- jos...@gm.........sites.google.com/site/joshuaomadadhain/ Joshua O'Madadhain: Information Scientist, Musician, Philosopher-At-Tall It's that moment of dawning comprehension that I live for. -- Bill Watterson My opinions are too rational and insightful to be those of any organization. |
From: Bing Li <lb...@gm...> - 2012-09-27 05:54:23
|
Dear Joshua, Thanks so much for your reply! In my system, there are a lot of graphs. To speed the ranking, concurrency solution is designed. But the memory is costed a lot. For the edgeSet, the reason is that I need to set weights for each edge. The weights depend on my system's application tightly. May I have other way to set the weights and save the memory? Best regards, Bing On Thu, Sep 27, 2012 at 12:48 AM, Joshua O'Madadhain < jos...@gm...> wrote: > Bing: > > You're creating a lot of objects, so the memory usage is going to go up. > Since you're not actually running out of memory, it sounds like the Java > garbage collector is doing its job; as soon as the graph and ranker go out > of scope (i.e., when the rank() method returns) they are eligible for GC > and will be collected when the space is needed. It's not clear that you > have an actual problem here. > > I would point out that there's not necessarily a lot of point to building > an edgeSet, i.e., the Graph encodes this information itself so there's no > need for you to do it again. That is, just build the Graph instead of the > edge set and you'll save some space (and time) right there. > > Joshua > > On Wed, Sep 26, 2012 at 8:50 AM, Bing Li <lb...@gm...> wrote: > >> Dear all, >> >> It is found that a large amount of memory is taken when ranking with >> PageRank, from JUNG 2.0.1. When starting to rank, the memory consumption >> goes high and when the ranking is done, it memory usage gets low. >> >> According to jconsole, the memory usage jumps with a large range, such as >> 200M ~1.2G. Is it normal? >> >> I am still not sure if it is caused by PageRank. However, I notice one >> problem that I have to initialize an instance of PageRank and Graph each >> time when ranking a group. >> >> I think it must be better if the PageRank or Graph can be reused. When a >> new graph is available, PageRank or Graph can be reset or cleared. But no >> such methods are available, right? Any other ways to solve the potential >> problem? >> >> The code is listed as follows. The method is invoked many times because >> there are a lot of graphs in my systems and each of them must be ranked >> periodically. So the memory usage goes up and down in a large range >> periodically. >> >> public Map<T, Double> Rank(HashMap<T, Vertex<T>> vertexMap, >> Set<Edge<T>> edgeSet) >> { >> HashMap<T, Double> finalRankMap = new HashMap<T, >> Double>(); >> PageRank<Vertex<T>, Edge<T>> ranker; >> Graph<Vertex<T>, Edge<T>> graph = new >> DirectedSparseMultigraph<Vertex<T>, Edge<T>>(); >> for (Edge<T> edge : edgeSet) >> { >> graph.addEdge(edge, edge.GetSourceVertex(), >> edge.GetDestinationVertex(), EdgeType.DIRECTED); >> } >> ranker = new PageRank<Vertex<T>, Edge<T>>(graph, >> this.weightTransformer, RankingConfig.RANDOM_JUMP_PROPABILITY); >> ranker.evaluate(); >> >> for (Vertex<T> vertex : vertexMap.values()) >> { >> try >> { >> finalRankMap.put(vertex.GetKey(), >> ranker.getVertexScore(vertex)); >> } >> catch (IllegalArgumentException e) >> { >> e.printStackTrace(); >> } >> } >> return finalRankMap; >> } >> >> I appreciates so much for your help! >> >> Best regards, >> Bing >> >> >> ------------------------------------------------------------------------------ >> How fast is your code? >> 3 out of 4 devs don\\\'t know how their code performs in production. >> Find out how slow your code is with AppDynamics Lite. >> http://ad.doubleclick.net/clk;262219672;13503038;z? >> http://info.appdynamics.com/FreeJavaPerformanceDownload.html >> _______________________________________________ >> Jung-support mailing list >> Jun...@li... >> https://lists.sourceforge.net/lists/listinfo/jung-support >> >> > > > -- > jos...@gm.........sites.google.com/site/joshuaomadadhain/ > Joshua O'Madadhain: Information Scientist, Musician, Philosopher-At-Tall > It's that moment of dawning comprehension that I live for. -- Bill > Watterson > My opinions are too rational and insightful to be those of any > organization. > > |
From: Joshua O'M. <jos...@gm...> - 2012-09-26 16:48:55
|
Bing: You're creating a lot of objects, so the memory usage is going to go up. Since you're not actually running out of memory, it sounds like the Java garbage collector is doing its job; as soon as the graph and ranker go out of scope (i.e., when the rank() method returns) they are eligible for GC and will be collected when the space is needed. It's not clear that you have an actual problem here. I would point out that there's not necessarily a lot of point to building an edgeSet, i.e., the Graph encodes this information itself so there's no need for you to do it again. That is, just build the Graph instead of the edge set and you'll save some space (and time) right there. Joshua On Wed, Sep 26, 2012 at 8:50 AM, Bing Li <lb...@gm...> wrote: > Dear all, > > It is found that a large amount of memory is taken when ranking with > PageRank, from JUNG 2.0.1. When starting to rank, the memory consumption > goes high and when the ranking is done, it memory usage gets low. > > According to jconsole, the memory usage jumps with a large range, such as > 200M ~1.2G. Is it normal? > > I am still not sure if it is caused by PageRank. However, I notice one > problem that I have to initialize an instance of PageRank and Graph each > time when ranking a group. > > I think it must be better if the PageRank or Graph can be reused. When a > new graph is available, PageRank or Graph can be reset or cleared. But no > such methods are available, right? Any other ways to solve the potential > problem? > > The code is listed as follows. The method is invoked many times because > there are a lot of graphs in my systems and each of them must be ranked > periodically. So the memory usage goes up and down in a large range > periodically. > > public Map<T, Double> Rank(HashMap<T, Vertex<T>> vertexMap, > Set<Edge<T>> edgeSet) > { > HashMap<T, Double> finalRankMap = new HashMap<T, Double>(); > PageRank<Vertex<T>, Edge<T>> ranker; > Graph<Vertex<T>, Edge<T>> graph = new > DirectedSparseMultigraph<Vertex<T>, Edge<T>>(); > for (Edge<T> edge : edgeSet) > { > graph.addEdge(edge, edge.GetSourceVertex(), > edge.GetDestinationVertex(), EdgeType.DIRECTED); > } > ranker = new PageRank<Vertex<T>, Edge<T>>(graph, > this.weightTransformer, RankingConfig.RANDOM_JUMP_PROPABILITY); > ranker.evaluate(); > > for (Vertex<T> vertex : vertexMap.values()) > { > try > { > finalRankMap.put(vertex.GetKey(), > ranker.getVertexScore(vertex)); > } > catch (IllegalArgumentException e) > { > e.printStackTrace(); > } > } > return finalRankMap; > } > > I appreciates so much for your help! > > Best regards, > Bing > > > ------------------------------------------------------------------------------ > How fast is your code? > 3 out of 4 devs don\\\'t know how their code performs in production. > Find out how slow your code is with AppDynamics Lite. > http://ad.doubleclick.net/clk;262219672;13503038;z? > http://info.appdynamics.com/FreeJavaPerformanceDownload.html > _______________________________________________ > Jung-support mailing list > Jun...@li... > https://lists.sourceforge.net/lists/listinfo/jung-support > > -- jos...@gm.........sites.google.com/site/joshuaomadadhain/ Joshua O'Madadhain: Information Scientist, Musician, Philosopher-At-Tall It's that moment of dawning comprehension that I live for. -- Bill Watterson My opinions are too rational and insightful to be those of any organization. |
From: Bing Li <lb...@gm...> - 2012-09-26 15:50:21
|
Dear all, It is found that a large amount of memory is taken when ranking with PageRank, from JUNG 2.0.1. When starting to rank, the memory consumption goes high and when the ranking is done, it memory usage gets low. According to jconsole, the memory usage jumps with a large range, such as 200M ~1.2G. Is it normal? I am still not sure if it is caused by PageRank. However, I notice one problem that I have to initialize an instance of PageRank and Graph each time when ranking a group. I think it must be better if the PageRank or Graph can be reused. When a new graph is available, PageRank or Graph can be reset or cleared. But no such methods are available, right? Any other ways to solve the potential problem? The code is listed as follows. The method is invoked many times because there are a lot of graphs in my systems and each of them must be ranked periodically. So the memory usage goes up and down in a large range periodically. public Map<T, Double> Rank(HashMap<T, Vertex<T>> vertexMap, Set<Edge<T>> edgeSet) { HashMap<T, Double> finalRankMap = new HashMap<T, Double>(); PageRank<Vertex<T>, Edge<T>> ranker; Graph<Vertex<T>, Edge<T>> graph = new DirectedSparseMultigraph<Vertex<T>, Edge<T>>(); for (Edge<T> edge : edgeSet) { graph.addEdge(edge, edge.GetSourceVertex(), edge.GetDestinationVertex(), EdgeType.DIRECTED); } ranker = new PageRank<Vertex<T>, Edge<T>>(graph, this.weightTransformer, RankingConfig.RANDOM_JUMP_PROPABILITY); ranker.evaluate(); for (Vertex<T> vertex : vertexMap.values()) { try { finalRankMap.put(vertex.GetKey(), ranker.getVertexScore(vertex)); } catch (IllegalArgumentException e) { e.printStackTrace(); } } return finalRankMap; } I appreciates so much for your help! Best regards, Bing |
From: Bing Li <lb...@gm...> - 2012-09-24 23:33:29
|
Joshua, The JUNG version is 2.0.1. The edu.uci.ics.jung.algorithms.scoring.PageRank is what I used. Now the null rank value is gone although I did nothing on that. If it appears again, I will let you know. Thanks so much! Bing On Tue, Sep 25, 2012 at 4:03 AM, Joshua O'Madadhain < jos...@gm...> wrote: > Bing: > > What ranking algorithm are you using? What version of JUNG? Can you > provide a self-contained code snippet that demonstrates the problem? > > Joshua > > On Fri, Sep 21, 2012 at 7:18 PM, Bing Li <lb...@gm...> wrote: > >> Dear all, >> >> I am still a beginner to use JUNG. I noticed that sometimes some items >> got ranking value, null, after ranking. What does it mean? In my program, >> the value type should be double. Why is a null value assigned? >> >> Thanks so much! >> >> Best regards, >> Bing >> >> >> ------------------------------------------------------------------------------ >> How fast is your code? >> 3 out of 4 devs don\\\'t know how their code performs in production. >> Find out how slow your code is with AppDynamics Lite. >> http://ad.doubleclick.net/clk;262219672;13503038;z? >> http://info.appdynamics.com/FreeJavaPerformanceDownload.html >> _______________________________________________ >> Jung-support mailing list >> Jun...@li... >> https://lists.sourceforge.net/lists/listinfo/jung-support >> >> > > > -- > jos...@gm.........sites.google.com/site/joshuaomadadhain/ > Joshua O'Madadhain: Information Scientist, Musician, Philosopher-At-Tall > It's that moment of dawning comprehension that I live for. -- Bill > Watterson > My opinions are too rational and insightful to be those of any > organization. > > |
From: Joshua O'M. <jos...@gm...> - 2012-09-24 20:03:26
|
Bing: What ranking algorithm are you using? What version of JUNG? Can you provide a self-contained code snippet that demonstrates the problem? Joshua On Fri, Sep 21, 2012 at 7:18 PM, Bing Li <lb...@gm...> wrote: > Dear all, > > I am still a beginner to use JUNG. I noticed that sometimes some items got > ranking value, null, after ranking. What does it mean? In my program, the > value type should be double. Why is a null value assigned? > > Thanks so much! > > Best regards, > Bing > > > ------------------------------------------------------------------------------ > How fast is your code? > 3 out of 4 devs don\\\'t know how their code performs in production. > Find out how slow your code is with AppDynamics Lite. > http://ad.doubleclick.net/clk;262219672;13503038;z? > http://info.appdynamics.com/FreeJavaPerformanceDownload.html > _______________________________________________ > Jung-support mailing list > Jun...@li... > https://lists.sourceforge.net/lists/listinfo/jung-support > > -- jos...@gm.........sites.google.com/site/joshuaomadadhain/ Joshua O'Madadhain: Information Scientist, Musician, Philosopher-At-Tall It's that moment of dawning comprehension that I live for. -- Bill Watterson My opinions are too rational and insightful to be those of any organization. |