aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authornyamatongwe <devnull@localhost>2013-04-19 16:27:21 +1000
committernyamatongwe <devnull@localhost>2013-04-19 16:27:21 +1000
commit8f19a8e14d8ddda4dab8a70e9c868e65aea199b0 (patch)
treef563fbd11be43c093d5e4a227351253604532e47 /src
parenta3642505f168f87738eda54a9514b38cb8f45fe9 (diff)
downloadscintilla-mirror-8f19a8e14d8ddda4dab8a70e9c868e65aea199b0.tar.gz
Using std::fill instead of a loop is much faster. As much as 4x on a large block.
Diffstat (limited to 'src')
-rw-r--r--src/CellBuffer.cxx2
-rw-r--r--src/ContractionState.cxx2
-rw-r--r--src/Decoration.cxx2
-rw-r--r--src/PerLine.cxx2
-rw-r--r--src/SplitVector.h3
5 files changed, 9 insertions, 2 deletions
diff --git a/src/CellBuffer.cxx b/src/CellBuffer.cxx
index 872616c21..316940621 100644
--- a/src/CellBuffer.cxx
+++ b/src/CellBuffer.cxx
@@ -10,6 +10,8 @@
#include <stdlib.h>
#include <stdarg.h>
+#include <algorithm>
+
#include "Platform.h"
#include "Scintilla.h"
diff --git a/src/ContractionState.cxx b/src/ContractionState.cxx
index 957fd177b..0636d90ea 100644
--- a/src/ContractionState.cxx
+++ b/src/ContractionState.cxx
@@ -7,6 +7,8 @@
#include <string.h>
+#include <algorithm>
+
#include "Platform.h"
#include "SplitVector.h"
diff --git a/src/Decoration.cxx b/src/Decoration.cxx
index b489c3c02..4594a3a7a 100644
--- a/src/Decoration.cxx
+++ b/src/Decoration.cxx
@@ -9,6 +9,8 @@
#include <stdlib.h>
#include <stdarg.h>
+#include <algorithm>
+
#include "Platform.h"
#include "Scintilla.h"
diff --git a/src/PerLine.cxx b/src/PerLine.cxx
index a903d6f5f..8eceae2ab 100644
--- a/src/PerLine.cxx
+++ b/src/PerLine.cxx
@@ -7,6 +7,8 @@
#include <string.h>
+#include <algorithm>
+
#include "Platform.h"
#include "Scintilla.h"
diff --git a/src/SplitVector.h b/src/SplitVector.h
index 0ccf6c9f4..502101b6c 100644
--- a/src/SplitVector.h
+++ b/src/SplitVector.h
@@ -174,8 +174,7 @@ public:
}
RoomFor(insertLength);
GapTo(position);
- for (int i = 0; i < insertLength; i++)
- body[part1Length + i] = v;
+ std::fill(&body[part1Length], &body[part1Length + insertLength], v);
lengthBody += insertLength;
part1Length += insertLength;
gapLength -= insertLength;