probabilistic-packet-filter

Project Bi-Weekly Update: Enhanced Memory & Time Benchmarking with HashSet vs BloomFilter

Student: Jonathan Ami
Date: April 4, 2025


Planned Activities:


Progress Update:

New Testing Methods:

Two new benchmarking tools were introduced:

  1. insertion_time_benchmark.sh: Runs time-based insertion tests from 100k to 5M entries using both data structures, writing results to CSV.
  2. proc_benchmark.sh: Profiles /proc/<pid>/status data after 1-second runs to capture memory usage for Bloom Filter and HashSet, exporting to bloomfilter_mem.csv and hashset_mem.csv.

Memory Benchmark Results:

VmRSS (Resident Memory) showed expected trends as insertions scaled: Memory VmRSS

N VmRSS (KB) - HashSet VmRSS (KB) - BloomFilter
100k 3244 2740
1M 20428 3680
2M 38976 4932

Observations:


Insertion Time Benchmark Results:

Insertion Time Graph Insertion timing, recorded using the insertion_time_benchmark.sh, also showed favorable results for BloomFilter:

N Time (ms) - HashSet Time (ms) - BloomFilter
100k ~1.47 ~2.69
5M ~81.10 ~182.17

Analysis:


Repository Changes:


Next Steps: