{ "cells": [ { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "used_page = np.array([91.48, 89.6, 87.18, 83.81, 80.17, 75.67, 69.37]) # Taux de page utilisé\n", "miss_rate = np.array([38.51, 3.06, 2.02, 1.48, 1.13, 0.99, 0.84]) # Taux de miss\n", "\n", "reuse_distance = np.array([23, 56, 57, 58, 60, 63, 65]) # Reuse distance" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAAGoCAYAAABL+58oAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3X98j/Xi//HHazalyK/j16wOldrs1xvb8PkoymemppIfIUrF2Tf90pGjKNVwSj+cSTn6SGnqHFKI2wnJEMfvWVNKzpDYOOzIkPdkm9f3D/P+mG02e79nXJ7322239/v9uq7Xdb2uy3s8va7Xdb2MtRYRERERJ/Gr6gaIiIiI+JoCjoiIiDiOAo6IiIg4jgKOiIiIOI4CjoiIiDiOAo6IiIg4TpkBxxjzgTHmgDFmyxll9YwxXxljMgpf656xbKQxZrsxZpsxJq6yGi4iIiJSmvL04HwIdD2r7DkgxVrbAkgp/IwxpiXQFwgtrPNXY0w1n7VWREREpBzKDDjW2pXAL2cV3wMkF75PBrqfUT7LWvubtfYnYDsQ46O2ioiIiJSLfwXrNbLW7gOw1u4zxjQsLG8KrDtjvczCsmKMMQlAAsDVV1/dJjg4uIJNERERkcvFpk2b/mOtbVDWehUNOKUxJZSVOBeEtXYqMBUgKirKpqam+rgpIiIi4jTGmJ/Ls15F76Lab4xpUrijJsCBwvJM4Noz1gsC9lZwHyIiIiIVUtGAswAYWPh+IDD/jPK+xpgrjDHNgRbABu+aKCIiInJ+yrxEZYyZCXQCfmeMyQReAsYDs40xg4DdQG8Aa+33xpjZwA9APvC4tbagktouIiIiUqIyA461tl8pizqXsv6fgT970ygREXG+vLw8MjMzOX78eFU3RS5CV155JUFBQQQEBFSovq8HGYuIiJRLZmYmtWrVolmzZhhT0j0qcrmy1nLw4EEyMzNp3rx5hbahqRpERKRKHD9+nPr16yvcSDHGGOrXr+9V754CjoiIVBmFGymNt98NBRwRERFxHAUcERERqTJ79uzhb3/7m8+3q4AjIiIXBWN8+1OWgwcP4nK5cLlcNG7cmKZNm3o+nzhxolKPNT8/nzp16lTqPirL3Llz+fHHHz2fn3/+eZYvXw5Ahw4dSE9PByAuLo6jR4+ec1u//PILw4cPp3PnEm/M9oruohIRkctS/fr1Pf8Yv/zyy9SsWZPhw4dXcasufnPnzsXPz4/Tc0j++c8lPxnmyy+/LHNb9erV45NPPvFp+05TD46IiMhZ7rrrLtq0aUNoaCjTpk0Dive6zJo1i8GDBwMQHx/P3//+dwAmT57MwIEDi21zx44dtG3blujoaF5++eUiy8aPH09MTAwRERGMGTOmWN3T+/7jH/9I69atiY2N5eDBgwC8++67REdHExkZSe/evcnNzQUgIyODtm3bEhMTw+jRo4u0vbz7O/tYV61axcKFC/njH/+Iy+Vi165dDBgwgM8//7zYNoKCgsjJyeHo0aPccccdREZGEhYWxmeffQbAxo0b6dixI23atOGOO+5g//79JfxJVJwCjoiIyFmSk5PZtGkTGzdu5C9/+QuHDh065/rTpk3jxRdfZNWqVUyaNIm33nqr2DpPPvkkQ4cOZePGjTRo8H+TYS9cuJDdu3ezfv160tPTWbNmDWvWrClW//Dhw7Rr1460tDTat2/P2LFjAejduzcbN25k8+bN3HDDDXz44Yee/Q0fPpwNGzbQqFGj895fSW655RbuvPNOkpKSSE9Pp1mzZmXWWbhwIc2aNWPz5s1s2bKF2NhYfvvtN4YOHcqcOXPYtGkTAwYMYPTo0eVqQ3kp4IiIiJwlKSmJyMhI2rdvT2ZmJjt27Djn+k2aNOHFF1/ktttuY+LEiSWOr1m7di19+vQB4IEHHvCUL1myhEWLFtGqVStat27N9u3b+de//lWsvr+/P7179wZgwIAB/POf/wTg22+/5ZZbbiE8PJxZs2bx/fffA7B+/Xp69uwJwP3333/e+/OViIgIFi9ezHPPPcfq1aupXbs2W7du5fvvv+d//ud/cLlcjB8/nj179vh0vxqDIyIicoalS5eycuVK1q1bR40aNejQoQPHjx/Hz88Pa61nvbMfQvfdd99Rv3599u7dW+J2jTElPtvFWssLL7zAoEGDztmus+ue/vzggw+yaNEiwsLCmDZtGuvWrTvndsqzv7KO9XyEhISQmprKwoUL+dOf/kS3bt244447iIiIYNWqVRXeblnUgyMiInKGw4cPU69ePWrUqMH333/Pxo0bgVP/6NetW5eMjAxOnjzJvHnzPHXWrl1LSkoKaWlpvPrqq+zevbvYdtu1a8fs2bMBitwWHRcXx/vvv8+xY8eAU1NY/Oc//ylWPy8vj7lz5wLw97//nQ4dOgBw7NgxGjduTF5enmccEEBMTIynjbNmzTqv/Z3rWGvVqlXm3VFnysrKombNmjzwwAMMGzaMtLQ0WrZsSVZWFhs2bADgxIkTnp4nX1HAERGRi4K1vv2pqPj4eNxuN5GRkYwZM4a2bdt6lr322mt07dqVzp07ExQUBEBubi4JCQlMnz6dpk2b8vrrr/PII48U6QEBmDRpEklJScTExPDrr796yu+880569epFu3btCA8P57777iuy/LTatWuTlpZG69at+ec//8kLL7wAwJgxY4iJiSE2NpaWLVsW2d9rr71GTEwMBw4coHbt2ue1v5KOFaBfv3688sornkHGZdm8eTPR0dG4XC5ef/11Ro0axRVXXMFnn33GsGHDiIyMpFWrVqxfv77MbZ0Pc/YfQFWIioqyqampVd0MERG5gLZu3UpISEhVN+OSkJ+fz+9+9ztycnLKXefYsWNcddVVGGP4+OOPmTdvHnPmzKnEVvpeSd8RY8wma21UWXU1BkdERMSBNm7cyNNPP83JkyepW7cu06dPr+omXVAKOCIiIhc5f3//8+q9AejUqZPnQYaXI43BEREREce5pAPOW2+9RVhYGKGhoUycOBGATz/9lNDQUPz8/ChrXE9BQQGtWrWiW7dunrL09HTatWuHy+UiKirKM8J79erVREREEB0dzfbt2wHIyckhLi6u2EAyERERqVqXbMDZsmUL7733Hhs2bGDz5s384x//ICMjg7CwMObOncutt95a5jbeeuutYoOXRowYwUsvvUR6ejpjxoxhxIgRAEyYMIE5c+bwyiuvMGXKFADGjh3LqFGjSnyugYiIiFSdSzbgbN26lXbt2nHVVVfh7+9Px44dmTdvHiEhIdx8881l1s/MzOSLL77wzCNymjGGI0eOAKeehRAYGAhAQEAAubm5uN1uAgIC2LFjB1lZWXTs2NH3ByciIiJeuWQHGYeFhfH8889z8OBBatSowcKFC4mKKvOuMY+nn36a119/vdjDiiZOnEhcXBzDhw/n5MmTnvk5Ro4cSUJCAjVq1OCjjz5i+PDhnnlARETEB3zdG17G8IGDBw/SuXNnAP79739TrVo1zxxRGzZsoHr16r5tzxkqctt3eaxfv55Zs2aRlJTk0+1eii7ZgBMSEsKzzz5LbGwsNWvWJDIyEn//8h3OP/7xDxo2bEibNm1YsWJFkWVTpkwhKSmJnj17Mnv2bAYNGsTSpUtxuVyex1+vXLmSwMBArLX06dOHgIAAJkyYUGQyMxERubjVr1/fc5fRyy+/TM2aNRk+fHgVt8o7bdu2LfJgwsvZJXuJCmDQoEGkpaWxcuVK6tWrR4sWLcpVb/Xq1SxYsIBmzZrRt29fli1bxoABA4BTM8j26NEDODVD6+lBxqdZaxk3bhyjR48mMTGRxMREBgwYwKRJk3x7cCIiUmXuuusu2rRpQ2hoKNOmTQNO9bqcOYnmrFmzPMMc4uPjPdMkTJ48mYEDBxbb5o4dO2jbti3R0dG8/PLLRZaNHz+emJgYIiIiGDNmTLG6p/f9pz/9idatWxMXF8f69evp2LEj119/PQsXLgROzaPVvXt3AJYtW0ZkZCQul4vWrVtz7NgxsrKy6NChAy6Xi7CwsHLPIn4puqQDzoEDBwDYvXs3c+fOpV+/fuWq9+qrr5KZmcmuXbuYNWsWt99+Ox9//DEAgYGBfP3118CpL8fZoSk5OZn4+Hjq1q2L2+3Gz88PPz8/3G63D49MRESqUnJyMps2bWLjxo385S9/4dChQ+dcf9q0abz44ousWrWKSZMm8dZbbxVb58knn2To0KFs3LjRcykMYOHChezevZv169eTnp7OmjVrSgwehw8fpkuXLqSlpVG9enVefvllUlJS+PTTT3nxxReLrf/GG28wdepU0tPTWblyJVdeeSUff/wxd911F+np6WzevJmIiIgKnJ1LwyUdcHr27EnLli256667mDx5MnXr1mXevHkEBQWxdu1a4uPjiYuLA2Dv3r3ceeedZW7zvffe45lnniEyMpJRo0YxdepUzzK3201ycjKPPfYYAMOGDaNnz56MHDmSIUOGVM5B+lhSUhKhoaGEhYXRr18/jh8/zubNm2nfvj3h4eHcddddnkHWZ8vJyaFXr14EBwcTEhLC2rVrAXj22WeJiIjgwQcf9Kz70UcflfgLLiJyKUhKSiIyMpL27duTmZnJjh07zrl+kyZNePHFF7ntttuYOHFikZ6e09auXUufPn0AeOCBBzzlS5YsYdGiRbRq1YrWrVuzfft2/vWvfxWrX6NGDWJjYwEIDw+nU6dO+Pv7Ex4eXuKcUP/93//N008/zdtvv82RI0eoVq0a0dHRTJs2jcTERLZs2ULNmjXP57RcUi7ZMThAidOs33vvvdx7773FygMDAz1deGfq1KkTnTp18nzu0KEDmzZtKnF/V111FcuXL/d8vuWWW/juu+8q0PKqkZWVxaRJk/jhhx+oUaMG9913H7NmzWLy5Mm8+eabdOzYkQ8++IA33nijxAHUQ4cOpWvXrnz22WecOHECt9vN4cOHWbNmDd9++y39+/fnu+++48Ybb+TDDz9k8eLFVXCUIiLeWbp0KStXrmTdunXUqFGDDh06cPz4cfz8/Io89+z48eNF6n333XfUr1+fvXv3lrhdY0yJjxWx1vLCCy8waNCgc7brzEHPfn5+XHHFFZ73+fn5xdZ/4YUXuPvuu/niiy+Ijo5mxYoV3H777axYsYIvvviC/v37M3LkSPr373/O/V6qLukenPIypuI/TpOfn09ubi75+fm43W4CAwPZtm2b57lBsbGxJU7GduTIEVauXOn5BaxevTp16tTBz8+PEydOYK0lNzeXgIAA3njjDZ566ikCAgIu6LGJiPjC4cOHqVevHjVq1OD7779n48aNwKkgUbduXTIyMjh58iTz5s3z1Fm7di0pKSmkpaXx6quvsnv37mLbbdeuHbNnzwbgb3/7m6c8Li6O999/n2PHjgGnHmPyn//8x+vj2LFjBxEREYwcOZJWrVqxbds2fv75Zxo3bkxCQgIPPfQQ33zzjdf7uVhdFgFHTmnatCnDhw/nuuuuo0mTJtSuXZsuXboQFhbGggULgFNPgt6zZ0+xujt37qRBgwY8/PDDtGrVisGDB3Ps2DFq1apFz549adWqFc2bN6d27dps3LiRe+6550Ifnohc6qz17U8FxcfH43a7iYyMZMyYMUXuSnrttdfo2rUrnTt3JigoCIDc3FwSEhKYPn06TZs25fXXX+eRRx4p9pT7SZMmkZSURExMDL/++qun/M4776RXr160a9eO8PBw7rvvviLLK+rNN98kLCyMiIgI6tSpQ5cuXUhJSSEyMpJWrVoxf/58nnzySa/3c7EyF8M0A1FRUbasaRW84U1PzEVwenzm0KFD9OzZk08++YQ6derQu3dvevXqRVRUFE899RQHDx7k7rvvZtKkSRw8eLBI3dTUVNq1a8fq1atp27YtQ4cO5Zprril2KWvw4ME8/vjjbNq0iSVLlhAREcELL7xwIQ9TRC4RW7duLfY0eZEzlfQdMcZsstaW+eA7r3pwjDFDjTFbjDHfG2OeLiyrZ4z5yhiTUfha15t9iO8sXbqU5s2b06BBAwICAujRowdr1qwhODiYJUuWsGnTJvr168cNN9xQrG5QUBBBQUGe/8n06tWLtLS0Iuuc7uq86aabmDFjBrNnz2bLli1kZGRU/sGJiIicocIBxxgTBvwBiAEigW7GmBbAc0CKtbYFkFL4WS4C1113HevWrcPtdmOtJSUlhZCQEM/t9idPnmTcuHE8+uijxeo2btyYa6+9lm3btgGQkpJCy5Yti6wzevRoxowZQ15eHgUFBQC6hV5ERKqENz04IcA6a63bWpsPfA3cC9wDJBeukwx0966J4itt27alV69etG7dmvDwcE6ePElCQgIzZ87kpptuIjg4mMDAQB5++GGg+K31b7/9Nv379yciIoL09HRGjRrlWfb5558THR1NYGAgderU8dx2bowhMjLygh+riFwaLoZhEnJx8va7UeExOMaYEGA+0B7I5VRvTSrwgLW2zhnrHbLWFrtMZYxJABIArrvuujY///xzhdpRvrZWvK5+90REKsdPP/1ErVq1qF+/fom3T8vly1rLwYMHOXr0KM2bNy+yrLxjcCr8HBxr7VZjzGvAV8CvwGag+I34pdefCkyFU4OMK9oO8Z2K/v3ihBCYlJTEtGnTMMYQHh7O9OnTGThwoOeSXE5ODnXq1PHMW3OmRx55xDO/2ZYtWzzl6enpPProoxw/fhx/f3/++te/EhMTw+rVqxkyZAhXXHEFM2fO5MYbbyQnJ4c+ffqwePFi/UUvl42goCAyMzPJzs6u6qbIRejKK6/03KlWIdZan/wArwCPAduAJoVlTYBtZdVt06aNrUze3Gd4Oblcz1FmZqZt1qyZdbvd1lpre/fubadPn15knWHDhtnExMQS63/99dd206ZNNjQ0tEh5bGysXbhwobXW2i+++MJ27NjRWmvtvffea//1r3/ZJUuW2GHDhnm2v2LFCh8elYiIMwGpthy5xNu7qBoWvl4H9ABmAguA07OMDeTUZSyRi1pJD0A8zVrL7NmzS53r7NZbb6VevXrFyo0xnmkvDh8+7NlmQEAAubm5uN1uAgIC2LFjB1lZWXTs2LESjkxE5PLk7VQNc4wx9YE84HFr7SFjzHhgtjFmELAb6O1tI0Uq05kPQKxRowZdunShS5cunuWrVq2iUaNG5Z6t/rSJEycSFxfH8OHDOXnypGfyvJEjR5KQkECNGjX46KOPGD58eIlTY4iISMV51YNjrb3FWtvSWhtprU0pLDtore1srW1R+PqLb5oqUjkOHTrE/Pnz+emnn9i7dy/Hjh3zzC4PMHPmzHLPVH+mKVOmkJSUxJ49e0hKSvJMc+FyuVi3bh3Lly9n586dBAYGYq2lT58+DBgwgP379/vs2ERELleaqkEue6U9ABFOXbqaO3euZwbg85GcnEyPHj0A6N27Nxs2bCiy3FrLuHHjGD16NImJiSQmJjJgwAAmTZrk/UGJiFzmFHDkslfaAxDhVPgJDg6u0Ej+wMBAvv76awCWLVtW7BJXcnIy8fHx1K1bF7fbjZ+fnx6MKCLiI96OwRG55J35AER/f39atWpFQkICALNmzSp2eWrv3r0MHjyYhQsXAtCvXz9WrFjBf/7zH4KCgkhMTGTQoEG89957DB06lPz8fK688kqmTp3q2Ybb7SY5OZklS5YAMGzYMHr27En16tWZOXPmBTpyERHn0mSbZbgITs8Fczk/B0dERC4NF2SyTREREZGLkS5RiZwH9QaKiFwa1IMjIiIijqOAIyIiIo6jgCMi5ZKUlERoaChhYWH069eP48ePM3r0aCIiInC5XHTp0oW9e/eWuy7Ap59+SmhoKH5+fpx5o8Hq1auJiIggOjqa7du3A6cmPI2Li+NiuDFCRC5+CjgiUqasrCwmTZpEamoqW7ZsoaCggFmzZvGnP/2Jb7/9lvT0dLp168aYMWPKXRcgLCyMuXPncuuttxapM2HCBObMmcMrr7zClClTABg7diyjRo3SbOsiUi4aZCwi5XJ6QtKAgADPhKTXXHONZ/mxY8dKDR8l1QU8D1Q8myYkFRFvKeCISJnONSHp888/z4wZM6hduzbLly8/r7ql0YSkIuItXaISkTKda0LSP//5z+zZs4f+/fvzzjvvnFfd0mhCUhHxlgKOiJTpXBOSnnb//fczZ86cCtUtjSYkFZGKUsARkTKVNiFpRkaGZ50FCxYQHBxc7rrloQlJRaSiNAZHRMpU2oSk999/P9u2bcPPz4/f//73vPvuu0DRCUnPNZnpvHnzePLJJ8nOziY+Ph6Xy8WXX34JaEJSEfGOJtssw0Vwei4YTbZZNn2XRESqVnkn21QPjoj4lEKgiFwMNAZHREREHEcBR0RERBxHAUdEREQcRwFHREREHEcBR0TEh0qaOf2XX34hNjaWFi1aEBsby6FDh0qs+8gjj9CwYUPCwsKKlPfp0weXy4XL5aJZs2a4XC5As66LnIsCjoiIj5Q2c/r48ePp3LkzGRkZdO7cmfHjx5dY/6GHHmLx4sXFyj/55BPS09NJT0+nZ8+e9OjRA9Cs6yLnooAjIuJDp2dOz8/P98ycPn/+fAYOHAjAwIED+fzzz0use+utt1KvXr1St22tZfbs2fTr1w/QrOsi56Ln4IiI+EhpM6fv37+fJk2aANCkSRMOHDhQoe2vWrWKRo0a0aJFC0Czrouci3pwRER8pCIzp5+PmTNnenpvQLOui5yLenBERHzkzJnTAc/M6Y0aNWLfvn00adKEffv20bBhw/Pedn5+PnPnzmXTpk3Flp2edf2TTz7hiSeeIDExkV27djFp0iT+/Oc/e31cIpcir3pwjDF/NMZ8b4zZYoyZaYy50hhTzxjzlTEmo/C1rq8aKyJyMStt5vS7776b5ORk4NQM6ffcc895b3vp0qUEBwcTFBRUbJlmXRcprsIBxxjTFHgKiLLWhgHVgL7Ac0CKtbYFkFL4WUTE8c6cOT08PJyTJ0+SkJDAc889x1dffUWLFi346quveO65U38t7t27lzvvvNNTv1+/frRv355t27YRFBTE+++/71k2a9asIpenTjs96/pjjz0G/N+s6yNHjmTIkCGVfMQiF68KzyZeGHDWAZHAEeBzYBLwNtDJWrvPGNMEWGGtvflc29Js4hcHzSZeNn2XyqZzJCKVqbyziVe4B8damwW8CewG9gGHrbVLgEbW2n2F6+wDSrzYbIxJMMakGmNSs7OzK9oMEZFLkjEV+xGR8vHmElVd4B6gORAIXG2MGVDe+tbaqdbaKGtt1OkBeSIiIiK+4M0g4/8BfrLWZltr84C5wH8B+wsvTVH4WrEHPoiIiIhUkDcBZzfQzhhzlTn1TPDOwFZgATCwcJ2BwHzvmigiIiJyfir8HBxr7XpjzGdAGpAPfANMBWoCs40xgzgVgnr7oqEiIiIi5eXVg/6stS8BL51V/BunenNEREREqoSmahARERHHUcARERERx1HAERGRC2bbtm24XC7PzzXXXMPEiRN5+eWXadq0qad84cKFJdbPycmhV69eBAcHExISwtq1awHo06ePp26zZs1wuVwArF69moiICKKjo9m+fbtnG3FxcVT0Qbdyaajwk4x9SU8yvjjoScZl03epbDpH5aPfNygoKKBp06asX7+e6dOnU7NmTYYPH37OOgMHDuSWW25h8ODBnDhxArfbTZ06dYqs88wzz1C7dm1efPFFevTowWuvvcauXbtYvHgxEyZM4JlnnuHuu++mY8eOlXl4UknK+yRjzSYuIiJVIiUlhRtuuIHf//735Vr/yJEjrFy5kg8//BCA6tWrU7169SLrWGuZPXs2y5YtAyAgIIDc3FzcbjcBAQHs2LGDrKwshZvLgC5RiYhIlTh7AtF33nmHiIgIHnnkEQ4dOlRs/Z07d9KgQQMefvhhWrVqxeDBgzl27FiRdVatWkWjRo1o0aIFACNHjiQhIYGJEyfyxBNP8PzzzzN27NjKPTC5KCjgiIjIBXfixAkWLFhA796nHpU2ZMgQduzYQXp6Ok2aNOGZZ54pVic/P5+0tDSGDBnCN998w9VXX8348eOLrDNz5swiocnlcrFu3TqWL1/Ozp07CQwMxFpLnz59GDBgAPv376/cA5Uqo4AjIiIX3KJFi2jdujWNGjUCoFGjRlSrVg0/Pz/+8Ic/sGHDhmJ1goKCCAoKom3btgD06tWLtLQ0z/L8/Hzmzp1Lnz59itW11jJu3DhGjx5NYmIiiYmJDBgwgEmTJlXSEUpVU8AREZEL7uyeln379nnez5s3j7CwsGJ1GjduzLXXXsu2bduAU2N4WrZs6Vm+dOlSgoODCQoKKlY3OTmZ+Ph46tati9vtxs/PDz8/P9xuty8PSy4iGmQsIiIXlNvt5quvvuJ///d/PWUjRowgPT0dYwzNmjXzLNu7dy+DBw/23Db+9ttv079/f06cOMH111/P9OnTPds4e0zPmftLTk5myZIlAAwbNoyePXtSvXp1Zs6cWZmHKlVIt4mX4SI4PReMblstm75LZdM5Kh/9volUjG4TFxGRS5rCsnhDY3BERETEcRRwRERExHEUcERERMRxFHBERETEcRRwRERExHEUcERERMRxFHBERETEcRRwRERExHEUcERERMRxFHBERETEcRRwRERExHEUcERERMRxFHBERETEcRRwRERELkI5OTn06tWL4OBgQkJCWLt2LZs3b6Z9+/aEh4dz1113ceTIkWL1jh8/TkxMDJGRkYSGhvLSSy95lvXp0weXy4XL5aJZs2a4XC4AVq9eTUREBNHR0Wzfvt2z/7i4OOwlOjW7f1U3QERERIobOnQoXbt25bPPPuPEiRO43W5iY2N588036dixIx988AFvvPEGY8eOLVLviiuuYNmyZdSsWZO8vDw6dOjAHXfcQbt27fjkk0886z3zzDPUrl0bgAkTJjBnzhx27drFlClTmDBhAmPHjmXUqFEYYy7ocfuKenBEREQuMkeOHGHlypUMGjQIgOrVq1OnTh22bdvGrbfeCkBsbCxz5swpVtcYQ82aNQHIy8sjLy+vWEix1jJ79mz69esHQEBAALm5ubjdbgICAtixYwdZWVl07NixMg+zUingiIiIXGR27twgPxS0AAAgAElEQVRJgwYNePjhh2nVqhWDBw/m2LFjhIWFsWDBAgA+/fRT9uzZU2L9goICXC4XDRs2JDY2lrZt2xZZvmrVKho1akSLFi0AGDlyJAkJCUycOJEnnniC559/vljP0KWmwgHHGHOzMSb9jJ8jxpinjTH1jDFfGWMyCl/r+rLBIiIiTpefn09aWhpDhgzhm2++4eqrr2b8+PF88MEHTJ48mTZt2nD06FGqV69eYv1q1aqRnp5OZmYmGzZsYMuWLUWWz5w509N7A+ByuVi3bh3Lly9n586dBAYGYq2lT58+DBgwgP3791fq8VaGCgcca+02a63LWusC2gBuYB7wHJBirW0BpBR+FhERkXIKCgoiKCjI0/PSq1cv0tLSCA4OZsmSJWzatIl+/fpxww03nHM7derUoVOnTixevNhTlp+fz9y5c+nTp0+x9a21jBs3jtGjR5OYmEhiYiIDBgxg0qRJvj3AC8BXl6g6AzustT8D9wDJheXJQHcf7UNEROSy0LhxY6699lq2bdsGQEpKCi1btuTAgQMAnDx5knHjxvHoo48Wq5udnU1OTg4Aubm5LF26lODgYM/y05+DgoKK1U1OTiY+Pp66devidrvx8/PDz88Pt9tdGYdZqXx1F1VfYGbh+0bW2n0A1tp9xpiGJVUwxiQACQDXXXedj5ohIiLiDG+//Tb9+/fnxIkTXH/99UyfPp0ZM2YwefJkAHr06MHDDz8MwN69exk8eDALFy5k3759DBw4kIKCAk6ePMl9991Ht27dPNudNWtWkctTp7ndbpKTk1myZAkAw4YNo2fPnlSvXp2ZM2cWW/9iZ7y9v90YUx3YC4Raa/cbY3KstXXOWH7IWnvOcThRUVE2NTXVq3acu40Vr3uJ3v5fIRU9TzpH5XO5nCedo/LR71vZ9F2SkhhjNllro8pazxeXqO4A0qy1p0cg7TfGNClsRBPggA/2ISIiIiUwpmI/TueLgNOP/7s8BbAAGFj4fiAw3wf7EBERESk3rwKOMeYqIBaYe0bxeCDWGJNRuGy8N/sQEREROV9eDTK21rqB+meVHeTUXVUiIiIiVUJPMhYRERHHUcARERERx1HAEREREcdRwBERERHHUcARERERx1HAEREREcdRwBERERHHUcARERERx1HAEREREcdRwBERERHHUcARERERx1HAEREREcdRwBERERHHUcARERERx1HAEREREcdRwBERERHHUcARERERx1HAEREREcdRwBERERHHUcARERERx1HAEREREcdRwBERERHHUcARERERx1HAEREREcdRwBERERHHUcARERERx1HAEREREcdRwBERERHH8SrgGGPqGGM+M8b8aIzZaoxpb4ypZ4z5yhiTUfha11eNFRERESkPb3tw3gIWW2uDgUhgK/AckGKtbQGkFH4WERERuWAqHHCMMdcAtwLvA1hrT1hrc4B7gOTC1ZKB7t42UkREROR8eNODcz2QDUw3xnxjjJlmjLkaaGSt3QdQ+NrQB+0UERERKTdvAo4/0BqYYq1tBRzjPC5HGWMSjDGpxpjU7OxsL5ohIiIiUpQ3AScTyLTWri/8/BmnAs9+Y0wTgMLXAyVVttZOtdZGWWujGjRo4EUzRERERIqqcMCx1v4b2GOMubmwqDPwA7AAGFhYNhCY71ULRURERM6Tv5f1nwT+ZoypDuwEHuZUaJptjBkE7AZ6e7kPERERkfPiVcCx1qYDUSUs6uzNdkVERES8oScZi4iIiOMo4IiIiIjjKOCIiIiI4yjgiIiIiOMo4IiIiIjjKOCIiIiI4yjgiIiIiOMo4IiIiIjjKOCIiIiI4yjgiIiIiOMo4IiIiIjjKOCIiIiI4yjgiIiIiOMo4IiIiIjjKOCIiIiI4yjgiIiIiOMo4IiIiIjjKOCIiIiI4yjgiIiIiOMo4IiIiIjjKOCIiIiI4yjgiIiIiOMo4IiIiIjjKOCIiIiI4yjgiIiIiOMo4IiIiIjjKOCIiIiI4yjgiIiIiOMo4IiIiIjj+HtT2RizCzgKFAD51tooY0w94BOgGbALuM9ae8i7ZoqIiIiUny96cG6z1rqstVGFn58DUqy1LYCUws8iIiIiF0xlXKK6B0gufJ8MdK+EfYiIiIiUytuAY4ElxphNxpiEwrJG1tp9AIWvDUuqaIxJMMakGmNSs7OzvWyGiIiIyP/xagwO8N/W2r3GmIbAV8aYH8tb0Vo7FZgKEBUVZb1sh4iIiIiHVz041tq9ha8HgHlADLDfGNMEoPD1gLeNFBERETkfFQ44xpirjTG1Tr8HugBbgAXAwMLVBgLzvW2kiIiIyPnw5hJVI2CeMeb0dv5urV1sjNkIzDbGDAJ2A729b6aIiIhI+VU44FhrdwKRJZQfBDp70ygRERERb+hJxiIiIuI4CjgiIiLiOAo4IiIi4jgKOCIiIuI4CjgiIiLiOAo4IiIi4jgKOCIiIuI4CjgiIiLiOAo4IiIi4jgKOCIiIuI4CjgiIiLiOAo4IiIi4jgKOCIiIuI4CjgiIiLiOAo4IiIi4jgKOCIiIuI4CjgiIiLiOAo4IiIi4jgKOCIiIuI4CjgiIiLiOAo4IiIi4jgKOCIiIuI4CjgiIiLiOAo4IiIi4jgKOCIiIuI4CjgiIiLiOAo4IiIi4jgKOCIiIuI4XgccY0w1Y8w3xph/FH6uZ4z5yhiTUfha1/tmVp3jx48TExNDZGQkoaGhvPTSSwCkp6fTrl07XC4XUVFRbNiwocT6zZo1Izw83LPeaZ9++imhoaH4+fmRmprqKV+9ejURERFER0ezfft2AHJycoiLi8NaW4lHKiIi4hy+6MEZCmw94/NzQIq1tgWQUvj5knXFFVewbNkyNm/eTHp6OosXL2bdunWMGDGCl156ifT0dMaMGcOIESNK3cby5ctJT08vEmTCwsKYO3cut956a5F1J0yYwJw5c3jllVeYMmUKAGPHjmXUqFEYYyrnIEVERBzGq4BjjAkC4oFpZxTfAyQXvk8Gunuzj6pmjKFmzZoA5OXlkZeXhzEGYwxHjhwB4PDhwwQGBp7XdkNCQrj55puLlQcEBJCbm4vb7SYgIIAdO3aQlZVFx44dvT8YERGRy4S/l/UnAiOAWmeUNbLW7gOw1u4zxjT0ch9VrqCggDZt2rB9+3Yef/xx2rZty8SJE4mLi2P48OGcPHmSNWvWlFjXGEOXLl0wxvD//t//IyEh4Zz7GjlyJAkJCdSoUYOPPvqI4cOHM3bs2Mo4LBEREceqcA+OMaYbcMBau6mC9ROMManGmNTs7OyKNuOCqFatGunp6WRmZrJhwwa2bNnClClTSEpKYs+ePSQlJTFo0KAS665evZq0tDQWLVrE5MmTWbly5Tn35XK5WLduHcuXL2fnzp0EBgZiraVPnz4MGDCA/fv3V8YhioiIOIo3l6j+G7jbGLMLmAXcboz5GNhvjGkCUPh6oKTK1tqp1tooa21UgwYNvGjGhVOnTh06derE4sWLSU5OpkePHgD07t271EHGpy9dNWzYkHvvvbfU9c5mrWXcuHGMHj2axMREEhMTGTBgAJMmTfLNwYiIiDhYhQOOtXaktTbIWtsM6Asss9YOABYAAwtXGwjM97qVVSg7O5ucnBwAcnNzWbp0KcHBwQQGBvL1118DsGzZMlq0aFGs7rFjxzh69Kjn/ZIlSwgLCyvXfpOTk4mPj6du3bq43W78/Pzw8/PD7Xb76MhEREScy9sxOCUZD8w2xgwCdgO9K2EfF8y+ffsYOHAgBQUFnDx5kvvuu49u3bpRp04dhg4dSn5+PldeeSVTp04FYO/evQwePJiFCxeyf/9+7r33XgDy8/O5//776dq1KwDz5s3jySefJDs7m/j4eFwuF19++SUAbreb5ORklixZAsCwYcPo2bMn1atXZ+bMmVVwFkRERC4t5mJ4tkpUVJQ98xZqX/Pm7uqL4PRcMBU9TzpH5XO5nCedo/LR71vZ9F0qn8vtu2SM2WStjSprvcrowbl86LdPRETkoqSpGkRERMRxFHBERETEcRRwRERExHEUcERERMRxFHBERETEcRRwRERExHEUcERERMRxFHBERETEcRRwRERExHEUcERERMRxFHBERETEcRRwRERExHEUcERERMRxFHBERETEcRRwRERExHEUcERERMRxFHBERETEcRRwRERExHEUcERERMRxFHBERETEcRRwRERExHEUcERERMRxFHBERETEcRRwRERExHEUcERERMRxFHBERETEcRRwRERExHEUcERERMRxKhxwjDFXGmM2GGM2G2O+N8YkFpbXM8Z8ZYzJKHyt67vmioiIiJTNmx6c34DbrbWRgAvoaoxpBzwHpFhrWwAphZ9FRERELpgKBxx7yq+FHwMKfyxwD5BcWJ4MdPeqhSIiIiLnyasxOMaYasaYdOAA8JW1dj3QyFq7D6DwtWEpdROMManGmNTs7GxvmiEiIiJShFcBx1pbYK11AUFA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tddey7Zt2wBISUmhZcuWReqe7r3Jy8ujoKAAAD8/P9xu9wU4Ot9p0qQJrVu3BqBWrVqEhISQlZVVZJ3SxiqVVtfPz89xY5UeeeQRGjZsSFhY2DnX27hxI9WqVeOzzz7zlCUlJREaGkpYWBj9+vXj+PHjgHq5RC4XCjjiU/v27eO2224jIiKC6OhoYmNj6datG++++y7vvvsuAHfeeSfXX389N954I3/4wx/461//6qn/9ttv079/fyIiIkhPT2fUqFGeZZ9//jnR0dEEBgZSp04d2rdvT3h4OMYYIiMjL/ix+squXbv45ptvyj1WqbS6Thyr9NBDDxXrATxbQUEBzz77LHFxcZ6yrKwsJk2aRGpqKlu2bKGgoIBZs2Y5sperrBD4448/0r59e6644grefPNNT/m5HumgECiOYK2t8p82bdrYygQV/6maDVcNBx1KpfH1H/nRo0dt69at7Zw5c4otu/POO+2qVas8n2+//XabmpparrrWWjto0CCblpZm33vvPdu7d287duxY7w6+nHx9jn766ScbGhpa6v6SkpLsO++8YwcOHGg//fRTa621mZmZNigoyB48eNDm5eXZ+Ph4++WXX9ojR47YmJgYe/LkSXvvvffarVu32sTERPv5559Xxqk4J1+do6+//tpu2rSp1HO0f/9+u2HDBjtq1Cj7xhtveMpPnjxpjx49aq219sSJEzYmJsauXbvW5uTk2A4dOlhrrb3//vvtt99+a91ut7399tvtiRMnfH8izsGX36VFixbZm266yd5www321VdfLbb8l19+sd27d7fh4eE2Ojrafvfdd55lEydOtKGhobZly5Y2KSnJUz5ixAgbHh5uH3jgAU/ZjBkz7MSJE317Ispwoc5RTk6O7datm42IiLAtW7a0H3zwQZHl+fn51uVy2fj4eE9ZZZwjINWWI1uoB0cqnzEV+3G4vLw8evbsSf/+/enRo0ex5aWNVSpPXaeMVSpLVlYW8+bN49FHHy1S3rRpU4YPH851111HkyZNqF27Nl26dHFkL9ett95KvXr1Sl3esGFDoqOji12mLO2RDk681FlQUMDjjz/OokWL+OGHH5g5c2axMW+vvPIKLpeLb7/9lhkzZjB06FAAtmzZwnvvvceGDRvYvHkz//jHP8jIyHBcb2B5ztHkyZNp2bIlmzdvZsWKFTzzzDOcOHHCs/yt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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "memoire_A = used_page\n", "memoire_B = miss_rate\n", "\n", "numerical_indices = np.array([10, 20, 30, 40, 50, 60, 70])\n", "bar_width = 2 # Largeur des barres\n", "spacing = 1\n", "\n", "# Les étiquettes correspondant aux indices\n", "labels = [\"4Ko\", \"8Ko\", \"16Ko\", \"32Ko\", \"64Ko\", \"128Ko\", \"256Ko\"]\n", "\n", "plt.figure(figsize=(8, 6))\n", "\n", "# Première série de barres pour le tableau A (en bleu)\n", "plt.bar(numerical_indices - bar_width / 2 - spacing / 2, memoire_A, color='blue', width=bar_width, label='Taux de page utilisé')\n", "\n", "# Deuxième série de barres pour le tableau B (en rouge)\n", "plt.bar(numerical_indices + bar_width / 2 + spacing / 2, memoire_B, color='red', width=bar_width, label='Taux de miss')\n", "\n", "plt.xlabel('Taille de page') # Nommer l'axe des x\n", "#plt.ylabel('Taux de page utilisé (en %)') # Nommer l'axe des y\n", "plt.xticks(numerical_indices, labels) # Utiliser les étiquettes pour l'axe x\n", "\n", "for i in range(len(numerical_indices)):\n", " plt.text(numerical_indices[i] - bar_width / 2 - spacing / 2, memoire_A[i], str(memoire_A[i])+'%', ha='center', va='bottom')\n", " plt.text(numerical_indices[i] + bar_width / 2 + spacing, memoire_B[i], str(memoire_B[i])+'%', ha='center', va='bottom')\n", "\n", "plt.ylim(0, 100)\n", "plt.yticks(range(0, 101, 10))\n", "\n", "plt.legend() # Afficher la légende\n", "\n", "plt.tight_layout()\n", "\n", "plt.savefig('adi-a.svg', format='svg')\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Reuse distance\n", "A = reuse_distance\n", "\n", "numerical_indices = [10, 20, 30, 40, 50, 60, 70]\n", "\n", "# Les étiquettes correspondant aux indices\n", "labels = [\"4Ko\", \"8Ko\", \"16Ko\", \"32Ko\", \"64Ko\", \"128Ko\", \"256Ko\"]\n", "\n", "plt.figure(figsize=(8, 6))\n", "\n", "plt.bar(numerical_indices, A, color='blue', width=3) # Largeur des bandes ajustée à 3\n", "plt.xlabel('Taille de page') # Nommer l'axe des x\n", "plt.ylabel('Reuse distance') # Nommer l'axe des y\n", "#plt.title('Histogramme de A en fonction de l\\'indice') # Titre du graphique\n", "plt.xticks(numerical_indices, labels) # Utiliser les étiquettes pour l'axe x\n", "\n", "for i in range(len(numerical_indices)):\n", " plt.text(numerical_indices[i], A[i], str(A[i]), ha='center', va='bottom')\n", "\n", "plt.ylim(0, 70)\n", "plt.yticks(range(0, 71, 5))\n", "\n", "plt.tight_layout()\n", "\n", "plt.savefig('adi-b.svg', format='svg')\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.6.4" } }, "nbformat": 4, "nbformat_minor": 4 }