Send Gtkmm-forge mailing list submissions to
        [EMAIL PROTECTED]

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
        [EMAIL PROTECTED]

You can reach the person managing the list at
        [EMAIL PROTECTED]

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)"
        <[EMAIL PROTECTED]>
Subject: [gtkmm bugzilla] [Bug 529496] Gio::Error::HOST_NOT_FOUND
        clashes with a netdb.h #define
To: [EMAIL PROTECTED]
Message-ID: <[EMAIL PROTECTED]>
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|                            |[EMAIL PROTECTED]




------- 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)"
        <[EMAIL PROTECTED]>
Subject: [gtkmm bugzilla] [Bug 554018] New: Inefficient implementation
        of      InputStream::read_async
To: [EMAIL PROTECTED]
Message-ID: <[EMAIL PROTECTED]/>
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: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]
         QAContact: [EMAIL PROTECTED]
     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)"
        <[EMAIL PROTECTED]>
Subject: [gtkmm bugzilla] [Bug 554018] Inefficient implementation of
        InputStream::read_async
To: [EMAIL PROTECTED]
Message-ID: <[EMAIL PROTECTED]>
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)"
        <[EMAIL PROTECTED]>
Subject: [gtkmm bugzilla] [Bug 529496] Gio::Error::HOST_NOT_FOUND
        clashes with a netdb.h #define
To: [EMAIL PROTECTED]
Message-ID: <[EMAIL PROTECTED]>
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|                            |[EMAIL PROTECTED]




------- 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)"
        <[EMAIL PROTECTED]>
Subject: [gtkmm bugzilla] [Bug 529496] Gio::Error::HOST_NOT_FOUND
        clashes with a netdb.h #define
To: [EMAIL PROTECTED]
Message-ID: <[EMAIL PROTECTED]>
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)"
        <[EMAIL PROTECTED]>
Subject: [gtkmm bugzilla] [Bug 537319] EntryCompletion not emitting
        signal_match_selected ()
To: [EMAIL PROTECTED]
Message-ID: <[EMAIL PROTECTED]>
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)"
        <[EMAIL PROTECTED]>
Subject: [gtkmm bugzilla] [Bug 554484] Patch to silence an 'unused
        parameter' warning
To: [EMAIL PROTECTED]
Message-ID: <[EMAIL PROTECTED]>
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
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/gtkmm-forge


End of Gtkmm-forge Digest, Vol 29, Issue 2
******************************************
_______________________________________________
gtkmm-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to