summaryrefslogtreecommitdiff
path: root/benchmark
diff options
context:
space:
mode:
authorJoshua Haberman <joshua@reverberate.org>2009-07-10 20:13:15 -0700
committerJoshua Haberman <joshua@reverberate.org>2009-07-10 20:13:15 -0700
commita13873276bad57fec0655c0bf27a3ada4ade5192 (patch)
tree7a142cbb03682b1f4c93a2646076fd8f4c8b3fa0 /benchmark
parent528cdd2ecd8f1b43ac8b7bad3f188c717507c718 (diff)
Performance improvements.
Diffstat (limited to 'benchmark')
-rw-r--r--benchmark/benchmark.cc17
1 files changed, 16 insertions, 1 deletions
diff --git a/benchmark/benchmark.cc b/benchmark/benchmark.cc
index efdac24..10713a8 100644
--- a/benchmark/benchmark.cc
+++ b/benchmark/benchmark.cc
@@ -43,7 +43,7 @@ int main ()
size_t total = 0;
clock_t before = clock();
for(int i = 0; i < 2000; i++) {
- upb_msg_parse_reset(&s, data, m, false, true);
+ upb_msg_parse_reset(&s, data, m, false, false);
upb_status_t status = upb_msg_parse(&s, str.ptr, str.byte_len, &read);
if(status != UPB_STATUS_OK && read != str.byte_len) {
fprintf(stderr, "Error. :( error=%d, read=%lu\n", status, read);
@@ -54,6 +54,21 @@ int main ()
double elapsed = ((double)clock() - before) / CLOCKS_PER_SEC;
fprintf(stderr, "upb parsed %sB, ", eng(total, 3, false));
fprintf(stderr, "%sB/s\n", eng(total/elapsed, 3, false));
+
+ total = 0;
+ before = clock();
+ for(int i = 0; i < 2000; i++) {
+ upb_msg_parse_reset(&s, data, m, false, true);
+ upb_status_t status = upb_msg_parse(&s, str.ptr, str.byte_len, &read);
+ if(status != UPB_STATUS_OK && read != str.byte_len) {
+ fprintf(stderr, "Error. :( error=%d, read=%lu\n", status, read);
+ return 1;
+ }
+ total += str.byte_len;
+ }
+ elapsed = ((double)clock() - before) / CLOCKS_PER_SEC;
+ fprintf(stderr, "upb(byref) parsed %sB, ", eng(total, 3, false));
+ fprintf(stderr, "%sB/s\n", eng(total/elapsed, 3, false));
upb_msg_parse_free(&s);
upb_msgdata_free(data, m, true);
upb_context_free(&c);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback