Gtkmm-forge Digest, Vol 29, Issue 2
- From: gtkmm-forge-request lists sourceforge net
- To: gtkmm-forge lists sourceforge net
- Subject: Gtkmm-forge Digest, Vol 29, Issue 2
- Date: Sat, 04 Oct 2008 19:59:20 +0000
Send Gtkmm-forge mailing list submissions to
gtkmm-forge lists sourceforge net
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.sourceforge.net/lists/listinfo/gtkmm-forge
or, via email, send a message with subject or body 'help' to
gtkmm-forge-request lists sourceforge net
You can reach the person managing the list at
gtkmm-forge-owner lists sourceforge net
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Gtkmm-forge digest..."
gtkmm-forge is the mailing list that receives gtkmm bug reports from bugzilla. A daily digest is sent to gtkmm-main, to encourage people to help fixing the bugs. Do not try to unsubscribe gtkmm-forge from gtkmm-list.
Today's Topics:
1. [Bug 529496] Gio::Error::HOST_NOT_FOUND clashes with a
netdb.h #define (glibmm (bugzilla.gnome.org))
2. [Bug 554018] New: Inefficient implementation of
InputStream::read_async (glibmm (bugzilla.gnome.org))
3. [Bug 554018] Inefficient implementation of
InputStream::read_async (glibmm (bugzilla.gnome.org))
4. [Bug 529496] Gio::Error::HOST_NOT_FOUND clashes with a
netdb.h #define (glibmm (bugzilla.gnome.org))
5. [Bug 529496] Gio::Error::HOST_NOT_FOUND clashes with a
netdb.h #define (glibmm (bugzilla.gnome.org))
6. [Bug 537319] EntryCompletion not emitting
signal_match_selected () (gtkmm (bugzilla.gnome.org))
7. [Bug 554484] Patch to silence an 'unused parameter' warning
(gnomemm (bugzilla.gnome.org))
----------------------------------------------------------------------
Message: 1
Date: Fri, 26 Sep 2008 12:24:42 +0000 (UTC)
From: "glibmm (bugzilla.gnome.org)"
<bugzilla-daemon bugzilla gnome org>
Subject: [gtkmm bugzilla] [Bug 529496] Gio::Error::HOST_NOT_FOUND
clashes with a netdb.h #define
To: gtkmm-forge lists sourceforge net
Message-ID: <20080926122442 52F1523F512 label gnome org>
Content-Type: text/plain; charset=utf-8
If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
http://bugzilla.gnome.org/show_bug.cgi?id=529496
glibmm | io | Ver: 2.16.x
Szil?rd Pfeiffer changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |szilard pfeiffer gmail com
------- Comment #5 from Szil?rd Pfeiffer 2008-09-26 12:24 UTC -------
> I don't think we can just remove HOST_NOT_FOUND before deprecating it for at
> least one version.
>
I see, but you cannot compile the following code:
#include <netdb.h>
#include <giomm/file.h>
int
main()
{
Gio::File::create_for_path("");
return 0;
}
compilation command:
g++ `pkg-config --cflags --libs giomm-2.4` test.cc -o test
error message:
/usr/include/giomm-2.4/giomm/error.h:72: error: expected identifier before
numeric constant
/usr/include/giomm-2.4/giomm/error.h:72: error: expected `}' before numeric
constant
/usr/include/giomm-2.4/giomm/error.h:72: error: expected unqualified-id before
numeric constant
/usr/include/giomm-2.4/giomm/error.h:77: error: expected `)' before
?error_code?
/usr/include/giomm-2.4/giomm/error.h:78: error: expected `)' before ?*?
token
/usr/include/giomm-2.4/giomm/error.h:79: error: ?Code? does not name a type
/usr/include/giomm-2.4/giomm/error.h:82: error: expected unqualified-id before
?private?
/usr/include/giomm-2.4/giomm/error.h:85: error: ?friend? used outside of
class
/usr/include/giomm-2.4/giomm/error.h:96: error: expected declaration before
?}? token
Please consider, that an application which uses the stable version (2.18.x) of
glibmm cannot be compiled.
--
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.
You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=529496.
------------------------------
Message: 2
Date: Fri, 26 Sep 2008 21:18:38 +0000 (UTC)
From: "glibmm (bugzilla.gnome.org)"
<bugzilla-daemon bugzilla gnome org>
Subject: [gtkmm bugzilla] [Bug 554018] New: Inefficient implementation
of InputStream::read_async
To: gtkmm-forge lists sourceforge net
Message-ID: <bug-554018-5595 http bugzilla gnome org/>
Content-Type: text/plain; charset=utf-8
If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
http://bugzilla.gnome.org/show_bug.cgi?id=554018
glibmm | giomm | Ver: unspecified
Summary: Inefficient implementation of InputStream::read_async
Product: glibmm
Version: unspecified
Platform: Other
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: giomm
AssignedTo: gtkmm-forge lists sourceforge net
ReportedBy: carlo alinoe com
QAContact: gtkmm-forge lists sourceforge net
GNOME version: Unspecified
GNOME milestone: Unspecified
I wrote a benchmark program to measure the speed at which I could read data, as
function of used buffersize (the size that 'read(2)' would be called with) and
the used software API. It turned out that any implementation I could think of
was equally fast, even with buffer sizes as small as 4096 byte, they would read
at the maximum speed (110 MB/s for my RAID)... with the exception of one
implementation: where I used Gio::FileInputStream.
After a few hours of testing, profiling and debugging, I found the problem:
Inside InputStream::read_async, the call back slot is copied (which is a deep
copy, causing another call to new) "because it is deleted again in the
callback",
Gio::SignalProxy_async_callback.
These two calls to new (and their destruction) are expensive in a tight loop
that reads from disk. Surely it is possible to not copy the slot, and not
delete it in Gio::SignalProxy_async_callback? Both seem to be totally
unnecessary and I cannot think of a disadvantage to just remove the copy and
the delete.
--
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.
You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=554018.
------------------------------
Message: 3
Date: Sat, 27 Sep 2008 03:37:28 +0000 (UTC)
From: "glibmm (bugzilla.gnome.org)"
<bugzilla-daemon bugzilla gnome org>
Subject: [gtkmm bugzilla] [Bug 554018] Inefficient implementation of
InputStream::read_async
To: gtkmm-forge lists sourceforge net
Message-ID: <20080927033728 6067823F510 label gnome org>
Content-Type: text/plain; charset=utf-8
If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
http://bugzilla.gnome.org/show_bug.cgi?id=554018
glibmm | giomm | Ver: unspecified
------- Comment #3 from Carlo Wood 2008-09-27 03:37 UTC -------
Ok, it was false alarm... I waste 24 hours, but I finally really found what
caused the difference: a bug in my benchmark program :/.
In order to be able to read 1 GB repeatedly from disk, the program clears
the disk cache by writing "1" to /proc/sys/vm/drop_caches. Since that also
drops all disk caches of the shared libraries, it then continue with a
"warm up" by calling the benchmark function with some small file to read,
and subsequently even sleeps 1 second to let other applications that are
running to load their stuff into RAM again if needed... Now due to this
async callback stuff, I was confused about were to start the timer; and
in the case of InputStream::read_async the timer wasn't started at all,
which means it was running since the beginning of the warm-up! So... the
delay that I've been looking for existed mainly of that sleep(1)! lol
Sorry to have waste some of your time in the process as well!
--
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.
You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=554018.
------------------------------
Message: 4
Date: Mon, 29 Sep 2008 00:37:22 +0000 (UTC)
From: "glibmm (bugzilla.gnome.org)"
<bugzilla-daemon bugzilla gnome org>
Subject: [gtkmm bugzilla] [Bug 529496] Gio::Error::HOST_NOT_FOUND
clashes with a netdb.h #define
To: gtkmm-forge lists sourceforge net
Message-ID: <20080929003722 B60B523F52F label gnome org>
Content-Type: text/plain; charset=utf-8
If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
http://bugzilla.gnome.org/show_bug.cgi?id=529496
glibmm | io | Ver: 2.16.x
Jonathon Jongsma (jonner) changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jonathon quotidian org
------- Comment #8 from Jonathon Jongsma (jonner) 2008-09-29 00:37 UTC -------
well, I don't personally think that it's a good idea to apply that patch as-is
since that makes us responsible for keeping the value of netdb.h's
HOST_NOT_FOUND value up-to-date if they ever change it from 1 to some other
value...
I suppose we could work around that by doing something like:
#ifdef _NETDB_H
#define NETDB_HOST_NOT_FOUND HOST_NOT_FOUND
#undef HOST_NOT_FOUND
#endif
...
#ifdef _NETDB_H
#define HOST_NOT_FOUND NETDB_HOST_NOT_FOUND
#undef NETDB_HOST_NOT_FOUND
#endif
This would allow the simple example above to compile since it doesn't actually
use the HOST_NOT_FOUND enum value. But any code that does attempt to use this
value would still be broken. The user would need to explicitly #undef that
value. Perhaps we could provide a gentle reminder to the user if they include
a header that already defines HOST_NOT_FOUND like:
#ifdef HOST_NOT_FOUND
#warning HOST_NOT_FOUND is already defined by another header, your code may not
work unless you #undef HOST_NOT_FOUND
#endif
That also makes me think that in Szil?rd's patch above, we probably don't want
to be keying off of the netdb.h header include guards in case those change for
some reason. We should probably use:
#ifdef HOST_NOT_FOUND
instead of
#ifdef _NETDB_H
Thoughts?
--
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.
You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=529496.
------------------------------
Message: 5
Date: Mon, 29 Sep 2008 09:38:26 +0000 (UTC)
From: "glibmm (bugzilla.gnome.org)"
<bugzilla-daemon bugzilla gnome org>
Subject: [gtkmm bugzilla] [Bug 529496] Gio::Error::HOST_NOT_FOUND
clashes with a netdb.h #define
To: gtkmm-forge lists sourceforge net
Message-ID: <20080929093826 7438023F52F label gnome org>
Content-Type: text/plain; charset=utf-8
If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
http://bugzilla.gnome.org/show_bug.cgi?id=529496
glibmm | io | Ver: 2.16.x
------- Comment #9 from Murray Cumming 2008-09-29 09:38 UTC -------
Yes, of course. I was not reading the patch in enough detail.
--
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.
You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=529496.
------------------------------
Message: 6
Date: Tue, 30 Sep 2008 15:06:24 +0000 (UTC)
From: "gtkmm (bugzilla.gnome.org)"
<bugzilla-daemon bugzilla gnome org>
Subject: [gtkmm bugzilla] [Bug 537319] EntryCompletion not emitting
signal_match_selected ()
To: gtkmm-forge lists sourceforge net
Message-ID: <20080930150624 9622B23F58E label gnome org>
Content-Type: text/plain; charset=utf-8
If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
http://bugzilla.gnome.org/show_bug.cgi?id=537319
gtkmm | general | Ver: 2.13.x
Marko Anastasov changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
------- Comment #9 from Marko Anastasov 2008-09-30 15:06 UTC -------
Committed, with an explanation in the doc.
--
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.
You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=537319.
------------------------------
Message: 7
Date: Tue, 30 Sep 2008 19:00:53 +0000 (UTC)
From: "gnomemm (bugzilla.gnome.org)"
<bugzilla-daemon bugzilla gnome org>
Subject: [gtkmm bugzilla] [Bug 554484] Patch to silence an 'unused
parameter' warning
To: gtkmm-forge lists sourceforge net
Message-ID: <20080930190053 CD54A23F5A0 label gnome org>
Content-Type: text/plain; charset=utf-8
If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
http://bugzilla.gnome.org/show_bug.cgi?id=554484
gnomemm | libgdamm | Ver: unspecified
------- Comment #1 from Deng Xiyue 2008-09-30 18:57 UTC -------
Created an attachment (id=119671)
--> (http://bugzilla.gnome.org/attachment.cgi?id=119671&action=view)
libgdamm_unused_parameter_warning.patch
Proposed patch with ChangeLog modification.
--
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.
You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=554484.
------------------------------
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
------------------------------
_______________________________________________
Gtkmm-forge mailing list
Gtkmm-forge lists sourceforge net
https://lists.sourceforge.net/lists/listinfo/gtkmm-forge
End of Gtkmm-forge Digest, Vol 29, Issue 2
******************************************
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]