aboutsummaryrefslogtreecommitdiffhomepage
path: root/modules/skjson/src/SkJSONBench.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/skjson/src/SkJSONBench.cpp')
-rw-r--r--modules/skjson/src/SkJSONBench.cpp18
1 files changed, 6 insertions, 12 deletions
diff --git a/modules/skjson/src/SkJSONBench.cpp b/modules/skjson/src/SkJSONBench.cpp
index 4be3b972ab..b9c3664306 100644
--- a/modules/skjson/src/SkJSONBench.cpp
+++ b/modules/skjson/src/SkJSONBench.cpp
@@ -25,27 +25,21 @@ protected:
bool isSuitableFor(Backend backend) override { return backend == kNonRendering_Backend; }
void onPerCanvasPreDraw(SkCanvas*) override {
- if (auto stream = SkStream::MakeFromFile(kBenchFile)) {
- SkASSERT(stream->hasLength());
- fCStringData = SkData::MakeUninitialized(stream->getLength() + 1);
- auto* data8 = reinterpret_cast<uint8_t*>(fCStringData->writable_data());
- SkAssertResult(stream->read(data8, stream->getLength()) == stream->getLength());
- data8[stream->getLength()] = '\0';
-
- } else {
+ fData = SkData::MakeFromFileName(kBenchFile);
+ if (!fData) {
SkDebugf("!! Could not open bench file: %s\n", kBenchFile);
}
}
void onPerCanvasPostDraw(SkCanvas*) override {
- fCStringData = nullptr;
+ fData = nullptr;
}
void onDraw(int loops, SkCanvas*) override {
- if (!fCStringData) return;
+ if (!fData) return;
for (int i = 0; i < loops; i++) {
- skjson::DOM dom(static_cast<const char*>(fCStringData->data()));
+ skjson::DOM dom(static_cast<const char*>(fData->data()), fData->size());
if (dom.root().is<skjson::NullValue>()) {
SkDebugf("!! Parsing failed.\n");
return;
@@ -54,7 +48,7 @@ protected:
}
private:
- sk_sp<SkData> fCStringData;
+ sk_sp<SkData> fData;
using INHERITED = Benchmark;
};