[Groonga-commit] groonga/groonga at 222aa13 [5.0.7-2015-09-24-reduce-logs] Don't run debug print generated code when debug print isn't needed

Back to archive index

Kouhei Sutou null+****@clear*****
Mon Oct 26 14:55:34 JST 2015


Kouhei Sutou	2015-10-26 14:55:34 +0900 (Mon, 26 Oct 2015)

  New Revision: 222aa13aa97112161a93e8758d4e11d44719981b
  https://github.com/groonga/groonga/commit/222aa13aa97112161a93e8758d4e11d44719981b

  Message:
    Don't run debug print generated code when debug print isn't needed

  Modified files:
    lib/ii.c

  Modified: lib/ii.c (+58 -41)
===================================================================
--- lib/ii.c    2015-10-01 15:53:05 +0900 (efe0515)
+++ lib/ii.c    2015-10-26 14:55:34 +0900 (87a800f)
@@ -2609,6 +2609,51 @@ chunk_merge(grn_ctx *ctx, grn_ii *ii, buffer *sb, buffer_term *bt,
   return rc;
 }
 
+static void
+buffer_merge_dump_datavec(grn_ctx *ctx,
+                          grn_ii *ii,
+                          datavec *dv,
+                          datavec *rdv)
+{
+  int i, j;
+#define BUF_SIZE 255
+  char buf[BUF_SIZE], *bufp, *buf_end;
+  buf_end = buf + BUF_SIZE;
+#undef BUF_SIZE
+
+  for (i = 0; i < ii->n_elements; i++) {
+    GRN_LOG(ctx, GRN_LOG_DEBUG, "rdv[%d] data_size=%d, flags=%d",
+            i, rdv[i].data_size, rdv[i].flags);
+    for (j = 0, bufp = buf; j < rdv[i].data_size;) {
+      bufp += grn_snprintf(bufp,
+                           buf_end - bufp,
+                           buf_end - bufp,
+                           " %d", rdv[i].data[j]);
+      j++;
+      if (!(j % 32) || j == rdv[i].data_size) {
+        GRN_LOG(ctx, GRN_LOG_DEBUG, "rdv[%d].data[%d]%s", i, j, buf);
+        bufp = buf;
+      }
+    }
+  }
+
+  for (i = 0; i < ii->n_elements; i++) {
+    GRN_LOG(ctx, GRN_LOG_DEBUG, "dv[%d] data_size=%d, flags=%d",
+            i, dv[i].data_size, dv[i].flags);
+    for (i = 0, bufp = buf; j < dv[i].data_size;) {
+      bufp += grn_snprintf(bufp,
+                           buf_end - bufp,
+                           buf_end - bufp,
+                           " %d", dv[i].data[j]);
+      j++;
+      if (!(j % 32) || j == dv[i].data_size) {
+        GRN_LOG(ctx, GRN_LOG_DEBUG, "dv[%d].data[%d]%s", i, j, buf);
+        bufp = buf;
+      }
+    }
+  }
+}
+
 static grn_rc
 buffer_merge(grn_ctx *ctx, grn_ii *ii, uint32_t seg, grn_hash *h,
               buffer *sb, uint8_t *sc, buffer *db, uint8_t *dc)
@@ -2813,48 +2858,20 @@ buffer_merge(grn_ctx *ctx, grn_ii *ii, uint32_t seg, grn_hash *h,
           }
           encsize = grn_p_encv(ctx, dv, ii->n_elements, dcp);
 
-          if (sb->header.chunk_size + S_SEGMENT <= (dcp - dc) + encsize) {
-            int i;
-#define BUF_SIZE 255
-            char buf[BUF_SIZE], *bufp, *buf_end;
-            buf_end = buf + BUF_SIZE;
-#undef BUF_SIZE
-            GRN_LOG(ctx, GRN_LOG_DEBUG,
-                    "cs(%d)+(%d)=(%d)<=(%" GRN_FMT_LLD ")+(%d)=(%" GRN_FMT_LLD ")",
-                    sb->header.chunk_size, S_SEGMENT, sb->header.chunk_size + S_SEGMENT,
-                    (long long int)(dcp - dc), encsize, (long long int)((dcp - dc) + encsize));
-            for (j = 0; j < ii->n_elements; j++) {
-              GRN_LOG(ctx, GRN_LOG_DEBUG, "rdv[%d] data_size=%d, flags=%d",
-                      j, rdv[j].data_size, rdv[j].flags);
-              for (i = 0, bufp = buf; i < rdv[j].data_size;) {
-                bufp += grn_snprintf(bufp,
-                                     buf_end - bufp,
-                                     buf_end - bufp,
-                                     " %d", rdv[j].data[i]);
-                i++;
-                if (!(i % 32) || i == rdv[j].data_size) {
-                  GRN_LOG(ctx, GRN_LOG_DEBUG, "rdv[%d].data[%d]%s", j, i, buf);
-                  bufp = buf;
-                }
-              }
-            }
-
-            for (j = 0; j < ii->n_elements; j++) {
-              GRN_LOG(ctx, GRN_LOG_DEBUG, "dv[%d] data_size=%d, flags=%d",
-                      j, dv[j].data_size, dv[j].flags);
-              for (i = 0, bufp = buf; i < dv[j].data_size;) {
-                bufp += grn_snprintf(bufp,
-                                     buf_end - bufp,
-                                     buf_end - bufp,
-                                     " %d", dv[j].data[i]);
-                i++;
-                if (!(i % 32) || i == dv[j].data_size) {
-                  GRN_LOG(ctx, GRN_LOG_DEBUG, "dv[%d].data[%d]%s", j, i, buf);
-                  bufp = buf;
-                }
-              }
+          if (grn_logger_pass(ctx, GRN_LOG_DEBUG)) {
+            if (sb->header.chunk_size + S_SEGMENT <= (dcp - dc) + encsize) {
+              GRN_LOG(ctx, GRN_LOG_DEBUG,
+                      "cs(%d)+(%d)=(%d)"
+                      "<=(%" GRN_FMT_LLD ")+(%d)="
+                      "(%" GRN_FMT_LLD ")",
+                      sb->header.chunk_size,
+                      S_SEGMENT,
+                      sb->header.chunk_size + S_SEGMENT,
+                      (long long int)(dcp - dc),
+                      encsize,
+                      (long long int)((dcp - dc) + encsize));
+              buffer_merge_dump_datavec(ctx, ii, dv, rdv);
             }
-
           }
 
           if (encsize > CHUNK_SPLIT_THRESHOLD &&
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index