Skip to content

Instantly share code, notes, and snippets.

@reclosedev
Created March 15, 2014 14:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save reclosedev/9568230 to your computer and use it in GitHub Desktop.
Save reclosedev/9568230 to your computer and use it in GitHub Desktop.
import resource
from cassandra.cluster import Cluster
def create_and_shutdown():
cluster = Cluster()
session = cluster.connect()
session.shutdown()
cluster.shutdown()
def create_once(cache={}):
session = cache.get("session")
if not session:
cluster = Cluster()
session = cluster.connect()
cache["session"] = session
print session.execute("SELECT cluster_name FROM system.local")[0]
def get_mem_usage():
usage = resource.getrusage(resource.RUSAGE_SELF)
return usage.ru_maxrss
def main():
start_mem = get_mem_usage()
last_mem = start_mem
for i in xrange(10000000):
# this one doesn't leak
#create_once()
# and this does
create_and_shutdown()
new_mem = get_mem_usage()
print("%-5s diff cur: %-5s diff start: %-5s total: %-5s" %
(i, new_mem - last_mem, new_mem - start_mem, new_mem))
last_mem = new_mem
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment