aboutsummaryrefslogtreecommitdiff
path: root/src/fs/gnunet-service-fs_pe.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2012-10-07 17:56:31 +0000
committerChristian Grothoff <christian@grothoff.org>2012-10-07 17:56:31 +0000
commitdecf459805cdb3f6811f979df4831bc2ce9a2858 (patch)
tree7d7644446cf8bd315185f2598993d0b4ce21cabb /src/fs/gnunet-service-fs_pe.c
parent605c3946e573ab1446e8210b3b7f6cccd5c1ba03 (diff)
downloadgnunet-decf459805cdb3f6811f979df4831bc2ce9a2858.tar.gz
gnunet-decf459805cdb3f6811f979df4831bc2ce9a2858.zip
-reducing memory use for PendingRequestData by 30% by not allocating space for target/namespace hash codes unless the request needs/has them
Diffstat (limited to 'src/fs/gnunet-service-fs_pe.c')
-rw-r--r--src/fs/gnunet-service-fs_pe.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/fs/gnunet-service-fs_pe.c b/src/fs/gnunet-service-fs_pe.c
index f20021a8c..dbaab7d48 100644
--- a/src/fs/gnunet-service-fs_pe.c
+++ b/src/fs/gnunet-service-fs_pe.c
@@ -585,7 +585,7 @@ GSF_plan_add_ (struct GSF_ConnectedPeer *cp, struct GSF_PendingRequest *pr)
585 mpc.pr = pr; 585 mpc.pr = pr;
586 GNUNET_CONTAINER_multihashmap_get_multiple (pp->plan_map, 586 GNUNET_CONTAINER_multihashmap_get_multiple (pp->plan_map,
587 &GSF_pending_request_get_data_ 587 &GSF_pending_request_get_data_
588 (pr)->query, &merge_pr, &mpc); 588 (pr)->query, &merge_pr, &mpc); // 8 MB in 'merge_pr'
589 if (mpc.merged != GNUNET_NO) 589 if (mpc.merged != GNUNET_NO)
590 return; 590 return;
591 GNUNET_CONTAINER_multihashmap_get_multiple (pp->plan_map, 591 GNUNET_CONTAINER_multihashmap_get_multiple (pp->plan_map,
@@ -600,7 +600,7 @@ GSF_plan_add_ (struct GSF_ConnectedPeer *cp, struct GSF_PendingRequest *pr)
600 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 600 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
601 "Planning transmission of query `%s' to peer `%s'\n", 601 "Planning transmission of query `%s' to peer `%s'\n",
602 GNUNET_h2s (&prd->query), GNUNET_i2s (&id)); 602 GNUNET_h2s (&prd->query), GNUNET_i2s (&id));
603 rp = GNUNET_malloc (sizeof (struct GSF_RequestPlan)); 603 rp = GNUNET_malloc (sizeof (struct GSF_RequestPlan)); // 8 MB
604 rpr = GNUNET_malloc (sizeof (struct GSF_RequestPlanReference)); 604 rpr = GNUNET_malloc (sizeof (struct GSF_RequestPlanReference));
605 prl = GNUNET_malloc (sizeof (struct PendingRequestList)); 605 prl = GNUNET_malloc (sizeof (struct PendingRequestList));
606 rpr->rp = rp; 606 rpr->rp = rp;
@@ -613,8 +613,8 @@ GSF_plan_add_ (struct GSF_ConnectedPeer *cp, struct GSF_PendingRequest *pr)
613 GNUNET_assert (GNUNET_YES == 613 GNUNET_assert (GNUNET_YES ==
614 GNUNET_CONTAINER_multihashmap_put (pp->plan_map, 614 GNUNET_CONTAINER_multihashmap_put (pp->plan_map,
615 get_rp_key (rp), rp, 615 get_rp_key (rp), rp,
616 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE)); 616 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE)); // 8 MB
617 plan (pp, rp); 617 plan (pp, rp); // +5 MB (plan/heap-insert)
618} 618}
619 619
620 620