Displaying 3 results from an estimated 3 matches for "raw_char_ostream_speed".
2015 Apr 30
2
[LLVMdev] SmallString + raw_svector_ostream combination should be more efficient
I don't think we should make flush virtual. Why do you need to do it?
Can't you set up the base class to write to use the tail of the memory
region as the buffer?
On 24 April 2015 at 06:46, Yaron Keren <yaron.keren at gmail.com> wrote:
> Hi,
>
> Is this what you're thinking about?
> The code is not tested yet, I'd like to know if the overall direction and
>
2015 May 02
2
[LLVMdev] SmallString + raw_svector_ostream combination should be more efficient
Could you dig into why:
+ raw_ostream &write(unsigned char C) override {
+ grow(1);
+ *OutBufCur++ = C;
+ return *this;
+ }
Is 3 times as fast as raw_svector_ostream? I don't see a good reason why
that should be any faster than:
raw_ostream &operator<<(char C) {
if (OutBufCur >= OutBufEnd)
return write(C);
*OutBufCur++ = C;
return *this;
}
2015 May 02
2
[LLVMdev] SmallString + raw_svector_ostream combination should be more efficient
..._svector_ostream
//===----------------------------------------------------------------------===//
@@ -810,6 +833,7 @@
OS.append(Ptr, Ptr + Size);
}
+ // TESTME: comment out reserve call.
OS.reserve(OS.size() + 64);
SetBuffer(OS.end(), OS.capacity() - OS.size());
}
Index: projects/raw_char_ostream_speed/CMakeLists.txt
===================================================================
--- projects/raw_char_ostream_speed/CMakeLists.txt (revision 0)
+++ projects/raw_char_ostream_speed/CMakeLists.txt (working copy)
@@ -0,0 +1,7 @@
+set(LLVM_LINK_COMPONENTS
+ Support
+)
+
+add_llvm_tool(raw_char_ostr...