You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Ryan Bloom <rb...@covalent.net> on 2001/12/07 17:22:01 UTC

Re: cvs commit: httpd-2.0 ROADMAP

>   +    * Add a string "class" that combines a char* with a length
>   +      and a reference count.  This will help reduce the number
>   +      of strlen and strdup operations during request processing.

This doesn't belong in Apache, if anything it is an APR class.  BTW,
this has come up multiple times, and everybody seems to be in favor
or if.

Ryan

______________________________________________________________
Ryan Bloom				rbb@apache.org
Covalent Technologies			rbb@covalent.net
--------------------------------------------------------------

Re: cvs commit: httpd-2.0 ROADMAP

Posted by "William A. Rowe, Jr." <wr...@covalent.net>.
From: "Brian Pane" <br...@cnet.com>
Sent: Friday, December 07, 2001 12:54 PM


> Ian Holsman wrote:
> 
> >On Fri, 2001-12-07 at 10:39, Sander Striker wrote:
> >
> ...
> 
> >>In subversion svn_string_t was introduced, because it wasn't in APR.
> >>It does (AFAIK) exactly what brian describes.
> >>
> >is there any reason NOT to introduce this into the APR now?
> >we could then slowly migrate strings to this
> >
> 
> I'm in favor of including it in APR, but opposed to trying to
> retrofit it into Apache before 2.0 GA.  My rationale for this
> is that, even with a reference-counted string class, we'll have
> to be extremely careful not to make performance worse when doing
> a major change in the string handling.  (And we're close to having
> all the really significant strlen and strdup inefficiencies fixed
> in httpd-2.0 already.)

+1 ... a STRINGS branch in apr would be good while we experiment.


Re: cvs commit: httpd-2.0 ROADMAP

Posted by "William A. Rowe, Jr." <wr...@covalent.net>.
From: "Brian Pane" <br...@cnet.com>
Sent: Friday, December 07, 2001 12:54 PM


> Ian Holsman wrote:
> 
> >On Fri, 2001-12-07 at 10:39, Sander Striker wrote:
> >
> ...
> 
> >>In subversion svn_string_t was introduced, because it wasn't in APR.
> >>It does (AFAIK) exactly what brian describes.
> >>
> >is there any reason NOT to introduce this into the APR now?
> >we could then slowly migrate strings to this
> >
> 
> I'm in favor of including it in APR, but opposed to trying to
> retrofit it into Apache before 2.0 GA.  My rationale for this
> is that, even with a reference-counted string class, we'll have
> to be extremely careful not to make performance worse when doing
> a major change in the string handling.  (And we're close to having
> all the really significant strlen and strdup inefficiencies fixed
> in httpd-2.0 already.)

+1 ... a STRINGS branch in apr would be good while we experiment.


Re: cvs commit: httpd-2.0 ROADMAP

Posted by Brian Pane <br...@cnet.com>.
Ian Holsman wrote:

>On Fri, 2001-12-07 at 10:39, Sander Striker wrote:
>
...

>>In subversion svn_string_t was introduced, because it wasn't in APR.
>>It does (AFAIK) exactly what brian describes.
>>
>is there any reason NOT to introduce this into the APR now?
>we could then slowly migrate strings to this
>

I'm in favor of including it in APR, but opposed to trying to
retrofit it into Apache before 2.0 GA.  My rationale for this
is that, even with a reference-counted string class, we'll have
to be extremely careful not to make performance worse when doing
a major change in the string handling.  (And we're close to having
all the really significant strlen and strdup inefficiencies fixed
in httpd-2.0 already.)

--Brian



Re: cvs commit: httpd-2.0 ROADMAP

Posted by Brian Pane <br...@cnet.com>.
Ian Holsman wrote:

>On Fri, 2001-12-07 at 10:39, Sander Striker wrote:
>
...

>>In subversion svn_string_t was introduced, because it wasn't in APR.
>>It does (AFAIK) exactly what brian describes.
>>
>is there any reason NOT to introduce this into the APR now?
>we could then slowly migrate strings to this
>

I'm in favor of including it in APR, but opposed to trying to
retrofit it into Apache before 2.0 GA.  My rationale for this
is that, even with a reference-counted string class, we'll have
to be extremely careful not to make performance worse when doing
a major change in the string handling.  (And we're close to having
all the really significant strlen and strdup inefficiencies fixed
in httpd-2.0 already.)

--Brian



Re: cvs commit: httpd-2.0 ROADMAP

Posted by "William A. Rowe, Jr." <wr...@covalent.net>.
From: "Aaron Bannert" <aa...@clove.org>
Sent: Friday, December 07, 2001 12:46 PM


> [narrowing down the to: list back to APR]
> 
> On Fri, Dec 07, 2001 at 10:44:14AM -0800, Ian Holsman wrote:
> > On Fri, 2001-12-07 at 10:39, Sander Striker wrote:
> > > In subversion svn_string_t was introduced, because it wasn't in APR.
> > > It does (AFAIK) exactly what brian describes.
> > > 
> > is there any reason NOT to introduce this into the APR now?
> > we could then slowly migrate strings to this
> 
> +1
> I see no reason not to start adding this, as long as it's marked
> in some way to be experimental/incomplete while we're working on it.

'marked in some way' == branch.

> I assume we'll have to start duping some of our string functions to
> be able to use the new type?

But of course ... and provide the a complete set of ISO C string functions?


Re: cvs commit: httpd-2.0 ROADMAP

Posted by Aaron Bannert <aa...@clove.org>.
[narrowing down the to: list back to APR]

On Fri, Dec 07, 2001 at 10:44:14AM -0800, Ian Holsman wrote:
> On Fri, 2001-12-07 at 10:39, Sander Striker wrote:
> > In subversion svn_string_t was introduced, because it wasn't in APR.
> > It does (AFAIK) exactly what brian describes.
> > 
> is there any reason NOT to introduce this into the APR now?
> we could then slowly migrate strings to this

+1
I see no reason not to start adding this, as long as it's marked
in some way to be experimental/incomplete while we're working on it.

I assume we'll have to start duping some of our string functions to
be able to use the new type?

-aaron


RE: cvs commit: httpd-2.0 ROADMAP

Posted by Ian Holsman <ia...@apache.org>.
On Fri, 2001-12-07 at 10:39, Sander Striker wrote:
> > From: Ryan Bloom [mailto:rbb@covalent.net]
> > Sent: 07 December 2001 17:22
> > To: dev@httpd.apache.org; brianp@apache.org; httpd-2.0-cvs@apache.org
> > Subject: Re: cvs commit: httpd-2.0 ROADMAP
> > 
> > 
> > 
> > >   +    * Add a string "class" that combines a char* with a length
> > >   +      and a reference count.  This will help reduce the number
> > >   +      of strlen and strdup operations during request processing.
> > 
> > This doesn't belong in Apache, if anything it is an APR class.  BTW,
> > this has come up multiple times, and everybody seems to be in favor
> > or if.
> > 
> > Ryan
> 
> In subversion svn_string_t was introduced, because it wasn't in APR.
> It does (AFAIK) exactly what brian describes.
> 
is there any reason NOT to introduce this into the APR now?
we could then slowly migrate strings to this
> Sander



RE: cvs commit: httpd-2.0 ROADMAP

Posted by Sander Striker <st...@apache.org>.
> From: Karl Fogel [mailto:kfogel@newton.ch.collab.net]
> Sent: 07 December 2001 19:42

> "Sander Striker" <st...@apache.org> writes:
> > > >   +    * Add a string "class" that combines a char* with a length
> > > >   +      and a reference count.  This will help reduce the number
> > > >   +      of strlen and strdup operations during request processing.
> > > 
> > > This doesn't belong in Apache, if anything it is an APR class.  BTW,
> > > this has come up multiple times, and everybody seems to be in favor
> > > or if.
> > > 
> > > Ryan
> > 
> > In subversion svn_string_t was introduced, because it wasn't in APR.
> > It does (AFAIK) exactly what brian describes.
> 
> Subversion's `svn_string_t' and `svn_stringbuf_t' don't have reference
> counts...
> 
> -Karl

True, and having a refcount would mean they would need to come out of some
global 'pool'.  The pool passed in for creation/duplication of the string
merely bumps the refcount and registers a 'string refcount decrease [delete
when zero]' cleanup.  At least, that is what pops in my mind at first thought.

Refcounts and pools are hairy... :)

Caching the strlen is a good start though.

Sander


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

RE: cvs commit: httpd-2.0 ROADMAP

Posted by Sander Striker <st...@apache.org>.
> From: Karl Fogel [mailto:kfogel@newton.ch.collab.net]
> Sent: 07 December 2001 19:42

> "Sander Striker" <st...@apache.org> writes:
> > > >   +    * Add a string "class" that combines a char* with a length
> > > >   +      and a reference count.  This will help reduce the number
> > > >   +      of strlen and strdup operations during request processing.
> > > 
> > > This doesn't belong in Apache, if anything it is an APR class.  BTW,
> > > this has come up multiple times, and everybody seems to be in favor
> > > or if.
> > > 
> > > Ryan
> > 
> > In subversion svn_string_t was introduced, because it wasn't in APR.
> > It does (AFAIK) exactly what brian describes.
> 
> Subversion's `svn_string_t' and `svn_stringbuf_t' don't have reference
> counts...
> 
> -Karl

True, and having a refcount would mean they would need to come out of some
global 'pool'.  The pool passed in for creation/duplication of the string
merely bumps the refcount and registers a 'string refcount decrease [delete
when zero]' cleanup.  At least, that is what pops in my mind at first thought.

Refcounts and pools are hairy... :)

Caching the strlen is a good start though.

Sander


RE: cvs commit: httpd-2.0 ROADMAP

Posted by Sander Striker <st...@apache.org>.
> From: Karl Fogel [mailto:kfogel@newton.ch.collab.net]
> Sent: 07 December 2001 19:42

> "Sander Striker" <st...@apache.org> writes:
> > > >   +    * Add a string "class" that combines a char* with a length
> > > >   +      and a reference count.  This will help reduce the number
> > > >   +      of strlen and strdup operations during request processing.
> > > 
> > > This doesn't belong in Apache, if anything it is an APR class.  BTW,
> > > this has come up multiple times, and everybody seems to be in favor
> > > or if.
> > > 
> > > Ryan
> > 
> > In subversion svn_string_t was introduced, because it wasn't in APR.
> > It does (AFAIK) exactly what brian describes.
> 
> Subversion's `svn_string_t' and `svn_stringbuf_t' don't have reference
> counts...
> 
> -Karl

True, and having a refcount would mean they would need to come out of some
global 'pool'.  The pool passed in for creation/duplication of the string
merely bumps the refcount and registers a 'string refcount decrease [delete
when zero]' cleanup.  At least, that is what pops in my mind at first thought.

Refcounts and pools are hairy... :)

Caching the strlen is a good start though.

Sander


Re: cvs commit: httpd-2.0 ROADMAP

Posted by Karl Fogel <kf...@newton.ch.collab.net>.
"Sander Striker" <st...@apache.org> writes:
> > >   +    * Add a string "class" that combines a char* with a length
> > >   +      and a reference count.  This will help reduce the number
> > >   +      of strlen and strdup operations during request processing.
> > 
> > This doesn't belong in Apache, if anything it is an APR class.  BTW,
> > this has come up multiple times, and everybody seems to be in favor
> > or if.
> > 
> > Ryan
> 
> In subversion svn_string_t was introduced, because it wasn't in APR.
> It does (AFAIK) exactly what brian describes.

Subversion's `svn_string_t' and `svn_stringbuf_t' don't have reference
counts...

-Karl

Re: cvs commit: httpd-2.0 ROADMAP

Posted by Karl Fogel <kf...@newton.ch.collab.net>.
"Sander Striker" <st...@apache.org> writes:
> > >   +    * Add a string "class" that combines a char* with a length
> > >   +      and a reference count.  This will help reduce the number
> > >   +      of strlen and strdup operations during request processing.
> > 
> > This doesn't belong in Apache, if anything it is an APR class.  BTW,
> > this has come up multiple times, and everybody seems to be in favor
> > or if.
> > 
> > Ryan
> 
> In subversion svn_string_t was introduced, because it wasn't in APR.
> It does (AFAIK) exactly what brian describes.

Subversion's `svn_string_t' and `svn_stringbuf_t' don't have reference
counts...

-Karl

RE: cvs commit: httpd-2.0 ROADMAP

Posted by Ian Holsman <ia...@apache.org>.
On Fri, 2001-12-07 at 10:39, Sander Striker wrote:
> > From: Ryan Bloom [mailto:rbb@covalent.net]
> > Sent: 07 December 2001 17:22
> > To: dev@httpd.apache.org; brianp@apache.org; httpd-2.0-cvs@apache.org
> > Subject: Re: cvs commit: httpd-2.0 ROADMAP
> > 
> > 
> > 
> > >   +    * Add a string "class" that combines a char* with a length
> > >   +      and a reference count.  This will help reduce the number
> > >   +      of strlen and strdup operations during request processing.
> > 
> > This doesn't belong in Apache, if anything it is an APR class.  BTW,
> > this has come up multiple times, and everybody seems to be in favor
> > or if.
> > 
> > Ryan
> 
> In subversion svn_string_t was introduced, because it wasn't in APR.
> It does (AFAIK) exactly what brian describes.
> 
is there any reason NOT to introduce this into the APR now?
we could then slowly migrate strings to this
> Sander



Re: cvs commit: httpd-2.0 ROADMAP

Posted by Karl Fogel <kf...@newton.ch.collab.net>.
"Sander Striker" <st...@apache.org> writes:
> > >   +    * Add a string "class" that combines a char* with a length
> > >   +      and a reference count.  This will help reduce the number
> > >   +      of strlen and strdup operations during request processing.
> > 
> > This doesn't belong in Apache, if anything it is an APR class.  BTW,
> > this has come up multiple times, and everybody seems to be in favor
> > or if.
> > 
> > Ryan
> 
> In subversion svn_string_t was introduced, because it wasn't in APR.
> It does (AFAIK) exactly what brian describes.

Subversion's `svn_string_t' and `svn_stringbuf_t' don't have reference
counts...

-Karl

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

RE: cvs commit: httpd-2.0 ROADMAP

Posted by Sander Striker <st...@apache.org>.
> From: Ryan Bloom [mailto:rbb@covalent.net]
> Sent: 07 December 2001 17:22
> To: dev@httpd.apache.org; brianp@apache.org; httpd-2.0-cvs@apache.org
> Subject: Re: cvs commit: httpd-2.0 ROADMAP
> 
> 
> 
> >   +    * Add a string "class" that combines a char* with a length
> >   +      and a reference count.  This will help reduce the number
> >   +      of strlen and strdup operations during request processing.
> 
> This doesn't belong in Apache, if anything it is an APR class.  BTW,
> this has come up multiple times, and everybody seems to be in favor
> or if.
> 
> Ryan

In subversion svn_string_t was introduced, because it wasn't in APR.
It does (AFAIK) exactly what brian describes.

Sander


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

RE: cvs commit: httpd-2.0 ROADMAP

Posted by Sander Striker <st...@apache.org>.
> From: Ryan Bloom [mailto:rbb@covalent.net]
> Sent: 07 December 2001 17:22
> To: dev@httpd.apache.org; brianp@apache.org; httpd-2.0-cvs@apache.org
> Subject: Re: cvs commit: httpd-2.0 ROADMAP
> 
> 
> 
> >   +    * Add a string "class" that combines a char* with a length
> >   +      and a reference count.  This will help reduce the number
> >   +      of strlen and strdup operations during request processing.
> 
> This doesn't belong in Apache, if anything it is an APR class.  BTW,
> this has come up multiple times, and everybody seems to be in favor
> or if.
> 
> Ryan

In subversion svn_string_t was introduced, because it wasn't in APR.
It does (AFAIK) exactly what brian describes.

Sander


RE: cvs commit: httpd-2.0 ROADMAP

Posted by Sander Striker <st...@apache.org>.
> From: Ryan Bloom [mailto:rbb@covalent.net]
> Sent: 07 December 2001 17:22
> To: dev@httpd.apache.org; brianp@apache.org; httpd-2.0-cvs@apache.org
> Subject: Re: cvs commit: httpd-2.0 ROADMAP
> 
> 
> 
> >   +    * Add a string "class" that combines a char* with a length
> >   +      and a reference count.  This will help reduce the number
> >   +      of strlen and strdup operations during request processing.
> 
> This doesn't belong in Apache, if anything it is an APR class.  BTW,
> this has come up multiple times, and everybody seems to be in favor
> or if.
> 
> Ryan

In subversion svn_string_t was introduced, because it wasn't in APR.
It does (AFAIK) exactly what brian describes.

Sander