From: <fab...@go...> - 2007-05-31 14:21:27
|
Johannes, I think I found a mistake in GeodesicGrid which caused many invalid memory read and also descresed perfomances: in GeodesicGrid::visitTriangles() line 270, I think this: if (lev <= max_visit_level) should be replaced by this: if (lev < max_visit_level) otherwise the code iterates one level too far. Could you confirm? Fabien |
From: <fab...@go...> - 2007-05-31 15:15:24
|
In fact when I apply the change, the soft becomes very slow when zoomed in, so i don't really know anymore.. But if the code stays like that, there are many invalid memory reads detected by valgrind. Fabien On 5/31/07, Fabien Ch=E9reau <fab...@go...> wrote: > > Johannes, > > I think I found a mistake in GeodesicGrid which caused many invalid memor= y > read and also descresed perfomances: > in GeodesicGrid::visitTriangles() line 270, I think this: > if (lev <=3D max_visit_level) > should be replaced by this: > if (lev < max_visit_level) > > otherwise the code iterates one level too far. > > Could you confirm? > > Fabien > |
From: Johannes G. <joh...@gm...> - 2007-05-31 19:31:40
|
I see no reason for changing my implementation: lev <= max_visit_level is good. Because "max_visit_level" is short for "maximum visit level" (do you need a doxygen-comment for this?) which means, that lev=max_visit_level shall be visited. When you detect any particular misbehaviour of the code, or an error, please tell me. Perhaps the valgrind will even help you to find such an error and reproduce it, who knows. Johannes On 2007.05.31 17:15:16 CEST, Fabien Chéreau wrote: > In fact when I apply the change, the soft becomes very slow when zoomed in, > so i don't really know anymore.. > But if the code stays like that, there are many invalid memory reads > detected by valgrind. > > Fabien > > On 5/31/07, Fabien Chéreau <fab...@go...> wrote: > > > > Johannes, > > > > I think I found a mistake in GeodesicGrid which caused many invalid memory > > read and also descresed perfomances: > > in GeodesicGrid::visitTriangles() line 270, I think this: > > if (lev <= max_visit_level) > > should be replaced by this: > > if (lev < max_visit_level) > > > > otherwise the code iterates one level too far. > > > > Could you confirm? > > > > Fabien > > > > In fact when I apply the change, the soft becomes very slow when zoomed > in, so i don't really know anymore.. > But if the code stays like that, there are many invalid memory reads > detected by valgrind. > > Fabien > > On 5/31/07, Fabien Ch?eau <fab...@go...> wrote: > > Johannes, > > I think I found a mistake in GeodesicGrid which caused many > invalid memory read and also descresed perfomances: > in GeodesicGrid::visitTriangles() line 270, I think this: > if (lev <= max_visit_level) > should be replaced by this: > if (lev < max_visit_level) > > otherwise the code iterates one level too far. > > Could you confirm? > > Fabien > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Stellarium-pubdevel mailing list > Ste...@li... > https://lists.sourceforge.net/lists/listinfo/stellarium-pubdevel > |
From: <fab...@go...> - 2007-06-01 11:26:46
|
On 5/31/07, Johannes Gajdosik <joh...@gm...> wrote: > > I see no reason for changing my implementation: lev <=3D max_visit_level = is > good. > Because "max_visit_level" is short for "maximum visit level" (do you need > a doxygen-comment for this?) which means, that lev=3Dmax_visit_level shal= l > be visited. > When you detect any particular misbehaviour of the code, or an error, > please tell me. > Perhaps the valgrind will even help you to find such an error and > reproduce it, who knows. OK, in this case it is then the memory allocation which is too small. line 100 should be triangles =3D new Triangle*[max_level+1]; instead of triangles =3D new Triangle*[max_level]; Fabien > Johannes > > > On 2007.05.31 17:15:16 CEST, Fabien Ch=E9reau wrote: > > In fact when I apply the change, the soft becomes very slow when zoomed > in, > > so i don't really know anymore.. > > But if the code stays like that, there are many invalid memory reads > > detected by valgrind. > > > > Fabien > > > > On 5/31/07, Fabien Ch=E9reau <fab...@go...> wrote: > > > > > > Johannes, > > > > > > I think I found a mistake in GeodesicGrid which caused many invalid > memory > > > read and also descresed perfomances: > > > in GeodesicGrid::visitTriangles() line 270, I think this: > > > if (lev <=3D max_visit_level) > > > should be replaced by this: > > > if (lev < max_visit_level) > > > > > > otherwise the code iterates one level too far. > > > > > > Could you confirm? > > > > > > Fabien > > > > > > > > In fact when I apply the change, the soft becomes very slow when zoomed > > in, so i don't really know anymore.. > > But if the code stays like that, there are many invalid memory reads > > detected by valgrind. > > > > Fabien > > > > On 5/31/07, Fabien Ch?eau <fab...@go...> wrote: > > > > Johannes, > > > > I think I found a mistake in GeodesicGrid which caused many > > invalid memory read and also descresed perfomances: > > in GeodesicGrid::visitTriangles() line 270, I think this: > > if (lev <=3D max_visit_level) > > should be replaced by this: > > if (lev < max_visit_level) > > > > otherwise the code iterates one level too far. > > > > Could you confirm? > > > > Fabien > > > > > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by DB2 Express > > Download DB2 Express C - the FREE version of DB2 express and take > > control of your XML. No limits. Just data. Click to get it now. > > http://sourceforge.net/powerbar/db2/ > > > _______________________________________________ > > Stellarium-pubdevel mailing list > > Ste...@li... > > https://lists.sourceforge.net/lists/listinfo/stellarium-pubdevel > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Stellarium-pubdevel mailing list > Ste...@li... > https://lists.sourceforge.net/lists/listinfo/stellarium-pubdevel > |
From: Johannes G. <joh...@gm...> - 2007-06-01 20:51:56
|
Dear Fabien, Thanks for your interest in my GeodesicGrid library. Please rest assured that triangles = new Triangle*[max_level]; is ok. The destructor is the same: There are only max_level instances of the Triangle arrays. This is good, because each Triangle struct contains not the corners of the given Triangle, but the middle-points of the sides of this triangle. So for accessing the triangles of lev=max_level, triangles[max_level-1] is sufficient. With triangles[max_level] you could access the triangles of level max_level+1, which is not wanted. Do not hesitate to ask again when something in the GeodesicGrid library is unclear to you. By the way, I have noticed that you (or someone else) has changed the indentation style and formatting, and maybe even other things in my library, which is not part of stellarium. I do not like this. As you can see in the file header, the GeodesicGrid library is not part of stellarium, stellarium just links against it. When you want to make a derived library, you are encouraged to do so, but then please write a new header, which references the original library. (Saying something like "...this library is derived from the GeodesicGrid library by Johannes Gajdosik..."). The advantage of having the original library is of coure that you can have support from the author. When you do not respect my indentation style you cannot expect that I respect yours. Yours, Johannes On 2007.06.01 13:26:43 CEST, Fabien Chéreau wrote: > On 5/31/07, Johannes Gajdosik <joh...@gm...> wrote: > > > > I see no reason for changing my implementation: lev <= max_visit_level is > > good. > > Because "max_visit_level" is short for "maximum visit level" (do you need > > a doxygen-comment for this?) which means, that lev=max_visit_level shall > > be visited. > > When you detect any particular misbehaviour of the code, or an error, > > please tell me. > > Perhaps the valgrind will even help you to find such an error and > > reproduce it, who knows. > > > OK, in this case it is then the memory allocation which is too small. > line 100 should be > triangles = new Triangle*[max_level+1]; > instead of > triangles = new Triangle*[max_level]; > > Fabien > > > Johannes > > > > > > On 2007.05.31 17:15:16 CEST, Fabien Chéreau wrote: > > > In fact when I apply the change, the soft becomes very slow when zoomed > > in, > > > so i don't really know anymore.. > > > But if the code stays like that, there are many invalid memory reads > > > detected by valgrind. > > > > > > Fabien > > > > > > On 5/31/07, Fabien Chéreau <fab...@go...> wrote: > > > > > > > > Johannes, > > > > > > > > I think I found a mistake in GeodesicGrid which caused many invalid > > memory > > > > read and also descresed perfomances: > > > > in GeodesicGrid::visitTriangles() line 270, I think this: > > > > if (lev <= max_visit_level) > > > > should be replaced by this: > > > > if (lev < max_visit_level) > > > > > > > > otherwise the code iterates one level too far. > > > > > > > > Could you confirm? > > > > > > > > Fabien > > > > > > > > > > > > In fact when I apply the change, the soft becomes very slow when zoomed > > > in, so i don't really know anymore.. > > > But if the code stays like that, there are many invalid memory reads > > > detected by valgrind. > > > > > > Fabien > > > > > > On 5/31/07, Fabien Ch?eau <fab...@go...> wrote: > > > > > > Johannes, > > > > > > I think I found a mistake in GeodesicGrid which caused many > > > invalid memory read and also descresed perfomances: > > > in GeodesicGrid::visitTriangles() line 270, I think this: > > > if (lev <= max_visit_level) > > > should be replaced by this: > > > if (lev < max_visit_level) > > > > > > otherwise the code iterates one level too far. > > > > > > Could you confirm? > > > > > > Fabien > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > This SF.net email is sponsored by DB2 Express > > > Download DB2 Express C - the FREE version of DB2 express and take > > > control of your XML. No limits. Just data. Click to get it now. > > > http://sourceforge.net/powerbar/db2/ > > > > > _______________________________________________ > > > Stellarium-pubdevel mailing list > > > Ste...@li... > > > https://lists.sourceforge.net/lists/listinfo/stellarium-pubdevel > > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by DB2 Express > > Download DB2 Express C - the FREE version of DB2 express and take > > control of your XML. No limits. Just data. Click to get it now. > > http://sourceforge.net/powerbar/db2/ > > _______________________________________________ > > Stellarium-pubdevel mailing list > > Ste...@li... > > https://lists.sourceforge.net/lists/listinfo/stellarium-pubdevel > > > > > > On 5/31/07, Johannes Gajdosik <joh...@gm...> wrote: > > I see no reason for changing my implementation: lev <= > max_visit_level is good. > Because "max_visit_level" is short for "maximum visit level" (do > you need > a doxygen-comment for this?) which means, that > lev=max_visit_level shall be visited. > When you detect any particular misbehaviour of the code, or an > error, please tell me. > Perhaps the valgrind will even help you to find such an error > and reproduce it, who knows. > > > OK, in this case it is then the memory allocation which is too small. > line 100 should be > triangles = new Triangle*[max_level+1]; > instead of > triangles = new Triangle*[max_level]; > > Fabien > > Johannes > > > On 2007.05.31 17:15:16 CEST, Fabien Ch?eau wrote: > > In fact when I apply the change, the soft becomes very slow > when zoomed in, > > so i don't really know anymore.. > > But if the code stays like that, there are many invalid memory > reads > > detected by valgrind. > > > > Fabien > > > > On 5/31/07, Fabien Ch?eau <fab...@go...> > wrote: > > > > > > Johannes, > > > > > > I think I found a mistake in GeodesicGrid which caused many > invalid memory > > > read and also descresed perfomances: > > > in GeodesicGrid::visitTriangles() line 270, I think this: > > > if (lev <= max_visit_level) > > > should be replaced by this: > > > if (lev < max_visit_level) > > > > > > otherwise the code iterates one level too far. > > > > > > Could you confirm? > > > > > > Fabien > > > > > > > > In fact when I apply the change, the soft becomes very slow > when zoomed > > in, so i don't really know anymore.. > > But if the code stays like that, there are many invalid memory > reads > > detected by valgrind. > > > > Fabien > > > > On 5/31/07, Fabien Ch?eau < fab...@go...> > wrote: > > > > Johannes, > > > > I think I found a mistake in GeodesicGrid which caused > many > > invalid memory read and also descresed perfomances: > > in GeodesicGrid::visitTriangles() line 270, I think > this: > > if (lev <= max_visit_level) > > should be replaced by this: > > if (lev < max_visit_level) > > > > otherwise the code iterates one level too far. > > > > Could you confirm? > > > > Fabien > > > > > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by DB2 Express > > Download DB2 Express C - the FREE version of DB2 express and > take > > control of your XML. No limits. Just data. Click to get it > now. > > http://sourceforge.net/powerbar/db2/ > > > _______________________________________________ > > Stellarium-pubdevel mailing list > > Ste...@li... > > > https://lists.sourceforge.net/lists/listinfo/stellarium-pubdevel > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and > take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Stellarium-pubdevel mailing list > Ste...@li... > https://lists.sourceforge.net/lists/listinfo/stellarium-pubdevel > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Stellarium-pubdevel mailing list > Ste...@li... > https://lists.sourceforge.net/lists/listinfo/stellarium-pubdevel > |