{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import concurrent.futures\n", "import gendercounter\n", "import os\n", "import glob" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Normal use" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Women: 198855\n", "Men: 403188\n", "CPU times: user 14min 21s, sys: 1.4 s, total: 14min 23s\n", "Wall time: 14min 23s\n" ] } ], "source": [ "%%time\n", "def normalcount():\n", " womencounter = 0\n", " mencounter = 0\n", " for file in os.listdir(\"/home/anon/Desktop/SOU19222015/\"):\n", " textfile = gendercounter.from_textfile(\"/home/anon/Desktop/SOU19222015/\" + file)\n", " womencounter += textfile.genderfrequency()[\"Women\"]\n", " mencounter += textfile.genderfrequency()[\"Men\"]\n", " print(\"Women: \" + str(womencounter))\n", " print(\"Men: \" + str(mencounter))\n", " \n", "normalcount()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Concurrency" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "def countfile(file):\n", " textfile = gendercounter.from_textfile(file) \n", " return textfile.genderfrequency()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Women: 198855\n", "Men: 403188\n", "CPU times: user 3.98 s, sys: 364 ms, total: 4.34 s\n", "Wall time: 3min 42s\n" ] } ], "source": [ "%%time \n", "with concurrent.futures.ProcessPoolExecutor() as executor:\n", " womencounter = 0\n", " mencounter = 0\n", " text_files = glob.glob(\"/home/anon/Desktop/SOU19222015/*.txt\")\n", " #print(len(text_files))\n", " for text_file in zip(text_files, executor.map(countfile, text_files)):\n", " womencounter += text_file[1][\"Women\"]\n", " mencounter += text_file[1][\"Men\"]\n", " counter += 1\n", " print(\"Women: \" + str(womencounter))\n", " print(\"Men: \" + str(mencounter))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python [default]", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 2 }