This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC/Patch] What about using seekoff(-1, ...) for unbufferedunderflow?


Benjamin Kosnik wrote:

Well, seeking after every _unbuffered getc()_ (vs. buffered and/or sbumpc)!


Right. This is sub-optimal, considering pback can be used. I don't think
you disagree about this part, actually.

I don't. But I also believe that a fundamental tenet of iostreams is that of having the simplest and cleanest streambuf inlines. All the complexity should be hidden into the virtuals. And those people who really want single char performance use buffered sbumpc() not unbuffered sgetc()! Do you concur?
Moreover, these design choices are also for the benefit of people who want to inherit from streambuf and expect a clean, fast implementation, upon which to build.


On the other hand, an heavier sbumpc() affects any sbumpc(), buffered or not and I think that, for top performance, people really want a fast unbuffered sbumpc().

I'm sympathetic to your purity test on _M_buf_size, but I think your
proposed cure is worse than the disease...

It depends ;)
I don't think we should trade some speed for unbuffered sgetc() for speed for buffered (this is important!) or unbuffered sbumpc(). Of course, I will do my best in the next hours to have both but if turns out to be impossible I would be really really sorry...


Paolo.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]