You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
simulacion-permeabilidad/fftma_module/gen/analysis.ipynb

5848 lines
491 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Análisis de la etapa de generación de medios"
]
},
{
"cell_type": "code",
"execution_count": 101,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np \n",
"import plotly.express as px"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Armado del dataset\n",
"\n",
"En este paso parsearemos los archivos para obtener estadísticas sobre el tiempo que tarda cada ejecución de una función, sobre la memoria usada, el uso de CPU. Con esto buscamos identificar:\n",
"- Qué funciones son las que consumen mayor cantidad de memoria\n",
"- Qué funciones son las que tienen un mayor tiempo de procesamiento\n",
"- Qué funciones son las que son invocadas una mayor cantidad de veces\n",
"\n",
"Una vez identificados estos puntos de análisis podemos proponer soluciones para mejorar estas estadísticas."
]
},
{
"cell_type": "code",
"execution_count": 102,
"metadata": {},
"outputs": [],
"source": [
"def get_function_name(function_name):\n",
" return function_name[10:].rsplit(\".c\")[0]"
]
},
{
"cell_type": "code",
"execution_count": 103,
"metadata": {},
"outputs": [],
"source": [
"relations = {\n",
" \"Py_kgeneration\": ['generate', 'fftma2'],\n",
" \"generate\": [\"gasdev\"],\n",
" \"gasdev\": [\"ran2\"],\n",
" \"fftma2\": [\"covariance\", \"fourt\", \"prebuild_gwn\"]\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 132,
"metadata": {},
"outputs": [],
"source": [
"def get_data(file_name):\n",
" data = []\n",
" row = {}\n",
"\n",
" with open(file_name) as log_file:\n",
" lines = log_file.readlines()\n",
" for line in lines:\n",
" split_line = line.split()\n",
" \n",
" if \"USED\" not in split_line and \"ELAPSED\" not in split_line and \"CPU\" not in split_line: continue\n",
" \n",
" if \"CPU\" in split_line:\n",
" idx_cpu = split_line.index(\"CPU\") + 1\n",
" idx_per = idx_cpu + 1\n",
" row[\"cpu\"] = row.get('CPU', [])\n",
" row[\"cpu\"].append(float(split_line[idx_per].rsplit(\"%\")[0]))\n",
" continue\n",
" \n",
" idx_used_mem = split_line.index(\"USED\") + 4\n",
" idx_elapsed = split_line.index(\"ELAPSED\") + 2\n",
" \n",
" function_name = get_function_name(split_line[2])\n",
" \n",
" used_virtual_mem = float(split_line[idx_used_mem])\n",
" elapsed = float(split_line[idx_elapsed].rsplit(\",\")[0])\n",
"\n",
" row[\"function\"] = function_name\n",
" row[\"memory\"] = used_virtual_mem \n",
" row[\"time\"] = elapsed\n",
" if \"cpu\" in row:\n",
" row[\"cpu\"] = sum(row[\"cpu\"]) / len(row[\"cpu\"])\n",
" data.append(row)\n",
" row = {}\n",
" \n",
" return data"
]
},
{
"cell_type": "code",
"execution_count": 105,
"metadata": {},
"outputs": [],
"source": [
"def create_df(file_name):\n",
" data = get_data(file_name)\n",
" df = pd.DataFrame(data)\n",
" return df.groupby(['function']).agg({'time': ['min', 'max', 'mean', 'sum', 'count'], 'memory': ['min', 'max', 'median'], 'cpu': ['min', 'max', 'mean']})"
]
},
{
"cell_type": "code",
"execution_count": 106,
"metadata": {},
"outputs": [],
"source": [
"def analyze(file_name):\n",
" df_grouped = create_df(file_name)\n",
" return df_grouped.sort_values(by=('time', 'sum'), ascending=False) "
]
},
{
"cell_type": "code",
"execution_count": 107,
"metadata": {},
"outputs": [],
"source": [
"def merge_dfs(dfs):\n",
" functions = ['Py_kgeneration', 'generate', 'fftma2', 'covariance', 'gasdev', 'fourt', 'cov_value', 'ran2', 'build_real', 'prebuild_gwn', 'clean_real', 'cgrid', 'length', 'maxfactor']\n",
" df_final = pd.concat(dfs, join='inner').sort_values(by=('time', 'sum'), ascending=False) \n",
"\n",
" memory_min, memory_max, memory_median = [], [], []\n",
" time_min, time_max, time_mean, time_sum, time_count = [], [], [], [], []\n",
" cpu_min, cpu_max, cpu_mean = [], [], []\n",
"\n",
" for function in functions:\n",
" memory_min.append(df_final.loc[function, ('memory', 'min')].min())\n",
" time_min.append(df_final.loc[function, ('time', 'min')].min())\n",
" cpu_min.append(df_final.loc[function, ('cpu', 'min')].min())\n",
" memory_max.append(df_final.loc[function, ('memory', 'max')].max())\n",
" time_max.append(df_final.loc[function, ('time', 'max')].max())\n",
" cpu_max.append(df_final.loc[function, ('cpu', 'max')].max())\n",
" time_mean.append(df_final.loc[function, ('time', 'mean')].mean())\n",
" cpu_mean.append(df_final.loc[function, ('time', 'mean')].mean())\n",
" time_sum.append(df_final.loc[function, ('time', 'sum')].sum())\n",
" time_count.append(df_final.loc[function, ('time', 'count')].sum())\n",
" try:\n",
" memory_median.append(df_final.loc[function, ('memory', 'median')].median())\n",
" except:\n",
" memory_median.append(df_final.loc[function, ('memory', 'median')])\n",
" \n",
" df = pd.DataFrame({('memory', 'min'): memory_min, ('memory', 'max'): memory_max, ('memory', 'median'): memory_median, ('time', 'min'): time_min, ('time', 'max'): time_max, ('time', 'mean'): time_mean, ('time', 'sum'): time_sum, ('time', 'count'): time_count, ('cpu', 'min'): cpu_min, ('cpu', 'max'): cpu_max, ('cpu', 'mean'): cpu_mean})\n",
"\n",
" df.index = functions\n",
" df.index.name = 'function'\n",
" return df"
]
},
{
"cell_type": "code",
"execution_count": 108,
"metadata": {},
"outputs": [],
"source": [
"def analyze(file_names):\n",
" if len(file_names) == 1:\n",
" df_grouped = create_df(file_names[0])\n",
" return df_grouped.sort_values(by=('time', 'sum'), ascending=False)\n",
" else:\n",
" dfs = []\n",
" for file_name in file_names:\n",
" print(\"Executing file {}\".format(file_name))\n",
" df = create_df(file_name)\n",
" dfs.append(df)\n",
" return merge_dfs(dfs)"
]
},
{
"cell_type": "code",
"execution_count": 109,
"metadata": {},
"outputs": [],
"source": [
"def plot_pie(df, function, plt):\n",
" \n",
" labels = relations[function].copy()\n",
" total = df.loc[function][('time', 'sum')]\n",
" sizes = []\n",
" explode = []\n",
"\n",
" rest = total\n",
"\n",
" for func in labels:\n",
" func_duration = df.loc[func][('time', 'sum')]\n",
" rest -= func_duration\n",
" value = func_duration/ total\n",
" sizes.append(value)\n",
" explode.append(0 if value > 0.01 else 0.1)\n",
"\n",
" labels.append(\"other\")\n",
" sizes.append(rest/total)\n",
" sizes = np.array(sizes)\n",
" porcent = 100.*sizes/sizes.sum()\n",
" explode.append(0 if rest/total > 0.01 else 0.1)\n",
"\n",
" plt.set_title(function)\n",
"\n",
" patches, texts = plt.pie(sizes, startangle=90, radius=1.2)\n",
" labels_formated = ['{0} - {1:1.2f} %'.format(i,j) for i,j in zip(labels, porcent)]\n",
"\n",
" sort_legend = True\n",
" if sort_legend:\n",
" patches, labels_formated, dummy = zip(*sorted(zip(patches, labels_formated, sizes),\n",
" key=lambda x: x[2],\n",
" reverse=True))\n",
"\n",
" plt.legend(patches, labels_formated, loc='upper left', bbox_to_anchor=(-0.1, 1.),\n",
" fontsize=8)\n",
" \n",
" plt.axis('equal')\n",
"\n",
"def plot_analysis(df):\n",
" fig, axs = plt.subplots(2, 2, dpi=100, figsize=(6, 6))\n",
" fig.suptitle('Time comparisons')\n",
" functions = list(relations.keys())\n",
" for i in range(2):\n",
" for j in range(2):\n",
" plot_pie(df,functions[2*i + j], axs[i, j])\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 117,
"metadata": {},
"outputs": [],
"source": [
"parents = {\n",
" \"Py_kgeneration\": \"\",\n",
" \"generate\": \"Py_kgeneration\",\n",
" \"gasdev\": \"generate\",\n",
" \"fftma2\": \"Py_kgeneration\",\n",
" \"covariance\": \"fftma2\",\n",
" \"fourt\": \"fftma2\",\n",
" \"prebuild_gwn\": \"fftma2\",\n",
" \"ran2\": \"gasdev\",\n",
" \"cov_value\": \"covariance\",\n",
"}\n",
"\n",
"def plot_treemap(df):\n",
" df[\"parent\"] = [parents.get(item, \"\") for item in df.index]\n",
" df2 = df.reset_index()\n",
" df2[\"time_sum\"] = df2[[(\"time\", \"sum\")]]\n",
" df2 = df2[[\"function\", \"parent\", \"time_sum\"]]\n",
" fig3 = px.treemap(df2, names='function', parents='parent',values='time_sum', color=\"parent\", title=\"Time treemap\")\n",
" fig3.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## N = 8"
]
},
{
"cell_type": "code",
"execution_count": 118,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead tr th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe thead tr:last-of-type th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr>\n",
" <th></th>\n",
" <th colspan=\"5\" halign=\"left\">time</th>\n",
" <th colspan=\"3\" halign=\"left\">memory</th>\n",
" <th colspan=\"3\" halign=\"left\">cpu</th>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <th>min</th>\n",
" <th>max</th>\n",
" <th>mean</th>\n",
" <th>sum</th>\n",
" <th>count</th>\n",
" <th>min</th>\n",
" <th>max</th>\n",
" <th>median</th>\n",
" <th>min</th>\n",
" <th>max</th>\n",
" <th>mean</th>\n",
" </tr>\n",
" <tr>\n",
" <th>function</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Py_kgeneration</th>\n",
" <td>0.573509</td>\n",
" <td>0.573509</td>\n",
" <td>0.573509</td>\n",
" <td>0.573509</td>\n",
" <td>1</td>\n",
" <td>1.3</td>\n",
" <td>1.3</td>\n",
" <td>1.3</td>\n",
" <td>19.612195</td>\n",
" <td>19.612195</td>\n",
" <td>19.612195</td>\n",
" </tr>\n",
" <tr>\n",
" <th>generate</th>\n",
" <td>0.432266</td>\n",
" <td>0.432266</td>\n",
" <td>0.432266</td>\n",
" <td>0.432266</td>\n",
" <td>1</td>\n",
" <td>0.8</td>\n",
" <td>0.8</td>\n",
" <td>0.8</td>\n",
" <td>20.100000</td>\n",
" <td>20.100000</td>\n",
" <td>20.100000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>gasdev</th>\n",
" <td>0.000080</td>\n",
" <td>0.023294</td>\n",
" <td>0.000620</td>\n",
" <td>0.317450</td>\n",
" <td>512</td>\n",
" <td>-0.5</td>\n",
" <td>0.2</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>100.100000</td>\n",
" <td>0.589648</td>\n",
" </tr>\n",
" <tr>\n",
" <th>fftma2</th>\n",
" <td>0.138753</td>\n",
" <td>0.138753</td>\n",
" <td>0.138753</td>\n",
" <td>0.138753</td>\n",
" <td>1</td>\n",
" <td>0.5</td>\n",
" <td>0.5</td>\n",
" <td>0.5</td>\n",
" <td>18.850000</td>\n",
" <td>18.850000</td>\n",
" <td>18.850000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>covariance</th>\n",
" <td>0.135896</td>\n",
" <td>0.135896</td>\n",
" <td>0.135896</td>\n",
" <td>0.135896</td>\n",
" <td>1</td>\n",
" <td>0.5</td>\n",
" <td>0.5</td>\n",
" <td>0.5</td>\n",
" <td>13.433333</td>\n",
" <td>13.433333</td>\n",
" <td>13.433333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ran2</th>\n",
" <td>0.000077</td>\n",
" <td>0.001476</td>\n",
" <td>0.000132</td>\n",
" <td>0.092725</td>\n",
" <td>702</td>\n",
" <td>0.0</td>\n",
" <td>0.2</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>100.100000</td>\n",
" <td>0.142593</td>\n",
" </tr>\n",
" <tr>\n",
" <th>cov_value</th>\n",
" <td>0.000080</td>\n",
" <td>0.000154</td>\n",
" <td>0.000084</td>\n",
" <td>0.058473</td>\n",
" <td>700</td>\n",
" <td>-0.2</td>\n",
" <td>0.2</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.100000</td>\n",
" <td>0.000714</td>\n",
" </tr>\n",
" <tr>\n",
" <th>cgrid</th>\n",
" <td>0.001218</td>\n",
" <td>0.001218</td>\n",
" <td>0.001218</td>\n",
" <td>0.001218</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>100.100000</td>\n",
" <td>100.100000</td>\n",
" <td>100.100000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>length</th>\n",
" <td>0.000266</td>\n",
" <td>0.000268</td>\n",
" <td>0.000267</td>\n",
" <td>0.000802</td>\n",
" <td>3</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>fourt</th>\n",
" <td>0.000122</td>\n",
" <td>0.000138</td>\n",
" <td>0.000130</td>\n",
" <td>0.000391</td>\n",
" <td>3</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>maxfactor</th>\n",
" <td>0.000079</td>\n",
" <td>0.000080</td>\n",
" <td>0.000079</td>\n",
" <td>0.000238</td>\n",
" <td>3</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>build_real</th>\n",
" <td>0.000104</td>\n",
" <td>0.000104</td>\n",
" <td>0.000104</td>\n",
" <td>0.000104</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>prebuild_gwn</th>\n",
" <td>0.000084</td>\n",
" <td>0.000084</td>\n",
" <td>0.000084</td>\n",
" <td>0.000084</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>clean_real</th>\n",
" <td>0.000082</td>\n",
" <td>0.000082</td>\n",
" <td>0.000082</td>\n",
" <td>0.000082</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" time memory \\\n",
" min max mean sum count min max \n",
"function \n",
"Py_kgeneration 0.573509 0.573509 0.573509 0.573509 1 1.3 1.3 \n",
"generate 0.432266 0.432266 0.432266 0.432266 1 0.8 0.8 \n",
"gasdev 0.000080 0.023294 0.000620 0.317450 512 -0.5 0.2 \n",
"fftma2 0.138753 0.138753 0.138753 0.138753 1 0.5 0.5 \n",
"covariance 0.135896 0.135896 0.135896 0.135896 1 0.5 0.5 \n",
"ran2 0.000077 0.001476 0.000132 0.092725 702 0.0 0.2 \n",
"cov_value 0.000080 0.000154 0.000084 0.058473 700 -0.2 0.2 \n",
"cgrid 0.001218 0.001218 0.001218 0.001218 1 0.0 0.0 \n",
"length 0.000266 0.000268 0.000267 0.000802 3 0.0 0.0 \n",
"fourt 0.000122 0.000138 0.000130 0.000391 3 0.0 0.0 \n",
"maxfactor 0.000079 0.000080 0.000079 0.000238 3 0.0 0.0 \n",
"build_real 0.000104 0.000104 0.000104 0.000104 1 0.0 0.0 \n",
"prebuild_gwn 0.000084 0.000084 0.000084 0.000084 1 0.0 0.0 \n",
"clean_real 0.000082 0.000082 0.000082 0.000082 1 0.0 0.0 \n",
"\n",
" cpu \n",
" median min max mean \n",
"function \n",
"Py_kgeneration 1.3 19.612195 19.612195 19.612195 \n",
"generate 0.8 20.100000 20.100000 20.100000 \n",
"gasdev 0.0 0.000000 100.100000 0.589648 \n",
"fftma2 0.5 18.850000 18.850000 18.850000 \n",
"covariance 0.5 13.433333 13.433333 13.433333 \n",
"ran2 0.0 0.000000 100.100000 0.142593 \n",
"cov_value 0.0 0.000000 0.100000 0.000714 \n",
"cgrid 0.0 100.100000 100.100000 100.100000 \n",
"length 0.0 0.000000 0.000000 0.000000 \n",
"fourt 0.0 0.000000 0.000000 0.000000 \n",
"maxfactor 0.0 0.000000 0.000000 0.000000 \n",
"build_real 0.0 0.000000 0.000000 0.000000 \n",
"prebuild_gwn 0.0 0.000000 0.000000 0.000000 \n",
"clean_real 0.0 0.000000 0.000000 0.000000 "
]
},
"execution_count": 118,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = analyze(['log_8-aa'])\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 119,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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7t/vvvvuJg6HIzQyMrJN//79W4B+x37PPfc06NSpU2S9evUufOGFF2q/9tprNTt27BjZsGHD9rNnz64OcDols/rI0de3vnZw35BrB/birptGcTLuOAA1a9fhoq49suNo3+lijhw6UOz4Q0JD6dN/UPaEEBd26pJnP4XNcZxT9z798kyhCvDvzu20jGxL7br1AOhz6SBW/PoT8WfyDqZmCQoiLS1NpaamEhyktyO53/4yz//vnvOdCtWXDQH+rEjP2PzdwoULq7Zp06Z1REREmy5durTasGFDKEB+5zvAggULqmed31OnTq2ftfzAgQOWIUOGXNC+ffvWERERbe65554GAEfi0xpc2Lpls5efmW4ac+UAHru/4ISbn6bNmhPRWm+mYTabadehE0cO6uf1gX172fb3RsZNvDN7/az5z4tjwUfvc8XQa7mgpZ6XgkNCqGrN27THYgki3Tu3Q3paKkFBwezavpV9e3Yz+KphxT5ugGiO/ly9u9GBlAW/Tehz58492K5du9SYmJiDGzdu3JH79zfeeOOAzWZL37Fjx7Zffvnl36ztUlJSzBs3btzx008/7Zw+fXrjw4cPB2/atGnHp59+umfatGlNjiem1zl0JvWCh+zPqc++/ZUvf1xJp649mPlq3ukJ3W43n899l36D8p+nuDg+mTPrrP3knOO4pCLatGPH1s049uoff+miBWiaxtFDeavd73/EzkOTHwh99O5HefKJqelLf/ydurVq0LVTwLcha4PeCr6f0YGIwh0+fNgyYcKEC+bOnevYtWvXtltuueXEqFGjmns8Hgo63+Pj482bNm3asX79+u0zZ86su2/fviCAMWPGNLvzzjvjtmzZsv2ff/7ZtnHjxkqvz/4g4mRyRn2AhDNn+GTJTzz3xrsljjc1NYWvPp+XfQ7v3b2DuvUb8vQjD3DdkH7cPmY427f+XeD2G9etZtTgPtx4zSB+WPp19vI9u3eSkZ7OxOuvYdTgPjz32FRSU1PybN/jkkupVLkKIwf1pnLVqnTtdQkvPfko0554rsSfKUDUBH7Gbr3qnGv6mYAtehVkzJgxp0GffCE4ONhz/fXXnwHo06dPamJiomX3weONq1qtLPv6S5YunE9GRjqZGRlUq1HzrP1omsYz/5tCFWs1xk6447xieu+Nlzno2Mdjn78K/DfH8XsLlp7Xfps2a86jz73C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\n",
"text/plain": [
"<Figure size 600x600 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_analysis(df)"
]
},
{
"cell_type": "code",
"execution_count": 120,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"domain": {
"x": [
0,
1
],
"y": [
0,
1
]
},
"hovertemplate": "function=%{label}<br>time_sum=%{value}<br>parent=%{parent}<extra></extra>",
"labels": [
"Py_kgeneration",
"generate",
"gasdev",
"fftma2",
"covariance",
"ran2",
"cov_value",
"cgrid",
"length",
"fourt",
"maxfactor",
"build_real",
"prebuild_gwn",
"clean_real"
],
"marker": {
"colors": [
"#636efa",
"#EF553B",
"#00cc96",
"#EF553B",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#636efa",
"#636efa",
"#ab63fa",
"#636efa",
"#636efa",
"#ab63fa",
"#636efa"
]
},
"name": "",
"parents": [
"",
"Py_kgeneration",
"generate",
"Py_kgeneration",
"fftma2",
"gasdev",
"covariance",
"",
"",
"fftma2",
"",
"",
"fftma2",
""
],
"type": "treemap",
"values": [
0.573509,
0.432266,
0.3174500000000009,
0.138753,
0.135896,
0.0927249999999985,
0.05847299999999959,
0.001218,
0.000802,
0.000391,
0.000238,
0.000104,
8.4e-05,
8.2e-05
]
}
],
"layout": {
"autosize": true,
"legend": {
"tracegroupgap": 0
},
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Time treemap"
}
}
},
"image/png": "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",
"text/html": [
"<div> <div id=\"c8217d31-9e64-4079-bd7b-0dac6bb223db\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div> <script type=\"text/javascript\"> require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"c8217d31-9e64-4079-bd7b-0dac6bb223db\")) { Plotly.newPlot( \"c8217d31-9e64-4079-bd7b-0dac6bb223db\", [{\"domain\":{\"x\":[0.0,1.0],\"y\":[0.0,1.0]},\"hovertemplate\":\"function=%{label}<br>time_sum=%{value}<br>parent=%{parent}<extra></extra>\",\"labels\":[\"Py_kgeneration\",\"generate\",\"gasdev\",\"fftma2\",\"covariance\",\"ran2\",\"cov_value\",\"cgrid\",\"length\",\"fourt\",\"maxfactor\",\"build_real\",\"prebuild_gwn\",\"clean_real\"],\"marker\":{\"colors\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#EF553B\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#636efa\",\"#636efa\",\"#ab63fa\",\"#636efa\",\"#636efa\",\"#ab63fa\",\"#636efa\"]},\"name\":\"\",\"parents\":[\"\",\"Py_kgeneration\",\"generate\",\"Py_kgeneration\",\"fftma2\",\"gasdev\",\"covariance\",\"\",\"\",\"fftma2\",\"\",\"\",\"fftma2\",\"\"],\"values\":[0.573509,0.432266,0.3174500000000009,0.138753,0.135896,0.0927249999999985,0.05847299999999959,0.001218,0.000802,0.000391,0.000238,0.000104,8.4e-05,8.2e-05],\"type\":\"treemap\"}], {\"template\":{\"data\":{\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"choropleth\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"choropleth\"}],\"contour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"contour\"}],\"contourcarpet\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"contourcarpet\"}],\"heatmap\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmap\"}],\"heatmapgl\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmapgl\"}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"histogram2d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2d\"}],\"histogram2dcontour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2dcontour\"}],\"mesh3d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"mesh3d\"}],\"parcoords\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"parcoords\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}],\"scatter\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter\"}],\"scatter3d\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter3d\"}],\"scattercarpet\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattercarpet\"}],\"scattergeo\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergeo\"}],\"scattergl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergl\"}],\"scattermapbox\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattermapbox\"}],\"scatterpolar\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolar\"}],\"scatterpolargl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolargl\"}],\"scatterternary\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterternary\"}],\"surface\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"surface\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}]},\"layout\":{\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"autotypenumbers\":\"strict\",\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]],\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]},\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"geo\":{\"bgcolor\":\"white\",\"lakecolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"showlakes\":true,\"showland\":true,\"subunitcolor\":\"white\"},\"hoverlabel\":{\"align\":\"left\"},\"hovermode\":\"closest\",\"mapbox\":{\"style\":\"light\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"ternary\":{\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"title\":{\"x\":0.05},\"xaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2},\"yaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2}}},\"legend\":{\"tracegroupgap\":0},\"title\":{\"text\":\"Time treemap\"}}, {\"responsive\": true} ).then(function(){\n",
" \n",
"var gd = document.getElementById('c8217d31-9e64-4079-bd7b-0dac6bb223db');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" }) }; }); </script> </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_treemap(df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## N = 16"
]
},
{
"cell_type": "code",
"execution_count": 121,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead tr th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe thead tr:last-of-type th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr>\n",
" <th></th>\n",
" <th colspan=\"5\" halign=\"left\">time</th>\n",
" <th colspan=\"3\" halign=\"left\">memory</th>\n",
" <th colspan=\"3\" halign=\"left\">cpu</th>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <th>min</th>\n",
" <th>max</th>\n",
" <th>mean</th>\n",
" <th>sum</th>\n",
" <th>count</th>\n",
" <th>min</th>\n",
" <th>max</th>\n",
" <th>median</th>\n",
" <th>min</th>\n",
" <th>max</th>\n",
" <th>mean</th>\n",
" </tr>\n",
" <tr>\n",
" <th>function</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Py_kgeneration</th>\n",
" <td>2.673944</td>\n",
" <td>2.673944</td>\n",
" <td>2.673944</td>\n",
" <td>2.673944</td>\n",
" <td>1</td>\n",
" <td>-3.0</td>\n",
" <td>-3.0</td>\n",
" <td>-3.0</td>\n",
" <td>7.477049</td>\n",
" <td>7.477049</td>\n",
" <td>7.477049</td>\n",
" </tr>\n",
" <tr>\n",
" <th>generate</th>\n",
" <td>1.986983</td>\n",
" <td>1.986983</td>\n",
" <td>1.986983</td>\n",
" <td>1.986983</td>\n",
" <td>1</td>\n",
" <td>-4.1</td>\n",
" <td>-4.1</td>\n",
" <td>-4.1</td>\n",
" <td>10.269492</td>\n",
" <td>10.269492</td>\n",
" <td>10.269492</td>\n",
" </tr>\n",
" <tr>\n",
" <th>gasdev</th>\n",
" <td>0.000080</td>\n",
" <td>0.023351</td>\n",
" <td>0.000361</td>\n",
" <td>1.479755</td>\n",
" <td>4096</td>\n",
" <td>-3.1</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>100.100000</td>\n",
" <td>0.271851</td>\n",
" </tr>\n",
" <tr>\n",
" <th>fftma2</th>\n",
" <td>0.684455</td>\n",
" <td>0.684455</td>\n",
" <td>0.684455</td>\n",
" <td>0.684455</td>\n",
" <td>1</td>\n",
" <td>1.1</td>\n",
" <td>1.1</td>\n",
" <td>1.1</td>\n",
" <td>0.100000</td>\n",
" <td>0.100000</td>\n",
" <td>0.100000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>covariance</th>\n",
" <td>0.680862</td>\n",
" <td>0.680862</td>\n",
" <td>0.680862</td>\n",
" <td>0.680862</td>\n",
" <td>1</td>\n",
" <td>1.1</td>\n",
" <td>1.1</td>\n",
" <td>1.1</td>\n",
" <td>0.100000</td>\n",
" <td>0.100000</td>\n",
" <td>0.100000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ran2</th>\n",
" <td>0.000077</td>\n",
" <td>0.001325</td>\n",
" <td>0.000088</td>\n",
" <td>0.464902</td>\n",
" <td>5268</td>\n",
" <td>-1.6</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.100000</td>\n",
" <td>0.000816</td>\n",
" </tr>\n",
" <tr>\n",
" <th>cov_value</th>\n",
" <td>0.000080</td>\n",
" <td>0.000145</td>\n",
" <td>0.000082</td>\n",
" <td>0.293202</td>\n",
" <td>3564</td>\n",
" <td>-1.3</td>\n",
" <td>0.2</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.100000</td>\n",
" <td>0.000898</td>\n",
" </tr>\n",
" <tr>\n",
" <th>cgrid</th>\n",
" <td>0.001203</td>\n",
" <td>0.001203</td>\n",
" <td>0.001203</td>\n",
" <td>0.001203</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>fourt</th>\n",
" <td>0.000328</td>\n",
" <td>0.000441</td>\n",
" <td>0.000371</td>\n",
" <td>0.001112</td>\n",
" <td>3</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>length</th>\n",
" <td>0.000266</td>\n",
" <td>0.000268</td>\n",
" <td>0.000267</td>\n",
" <td>0.000802</td>\n",
" <td>3</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>maxfactor</th>\n",
" <td>0.000080</td>\n",
" <td>0.000080</td>\n",
" <td>0.000080</td>\n",
" <td>0.000240</td>\n",
" <td>3</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>build_real</th>\n",
" <td>0.000135</td>\n",
" <td>0.000135</td>\n",
" <td>0.000135</td>\n",
" <td>0.000135</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>prebuild_gwn</th>\n",
" <td>0.000100</td>\n",
" <td>0.000100</td>\n",
" <td>0.000100</td>\n",
" <td>0.000100</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>clean_real</th>\n",
" <td>0.000083</td>\n",
" <td>0.000083</td>\n",
" <td>0.000083</td>\n",
" <td>0.000083</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" time memory \\\n",
" min max mean sum count min max \n",
"function \n",
"Py_kgeneration 2.673944 2.673944 2.673944 2.673944 1 -3.0 -3.0 \n",
"generate 1.986983 1.986983 1.986983 1.986983 1 -4.1 -4.1 \n",
"gasdev 0.000080 0.023351 0.000361 1.479755 4096 -3.1 0.5 \n",
"fftma2 0.684455 0.684455 0.684455 0.684455 1 1.1 1.1 \n",
"covariance 0.680862 0.680862 0.680862 0.680862 1 1.1 1.1 \n",
"ran2 0.000077 0.001325 0.000088 0.464902 5268 -1.6 0.5 \n",
"cov_value 0.000080 0.000145 0.000082 0.293202 3564 -1.3 0.2 \n",
"cgrid 0.001203 0.001203 0.001203 0.001203 1 0.0 0.0 \n",
"fourt 0.000328 0.000441 0.000371 0.001112 3 0.0 0.0 \n",
"length 0.000266 0.000268 0.000267 0.000802 3 0.0 0.0 \n",
"maxfactor 0.000080 0.000080 0.000080 0.000240 3 0.0 0.0 \n",
"build_real 0.000135 0.000135 0.000135 0.000135 1 0.0 0.0 \n",
"prebuild_gwn 0.000100 0.000100 0.000100 0.000100 1 0.0 0.0 \n",
"clean_real 0.000083 0.000083 0.000083 0.000083 1 0.0 0.0 \n",
"\n",
" cpu \n",
" median min max mean \n",
"function \n",
"Py_kgeneration -3.0 7.477049 7.477049 7.477049 \n",
"generate -4.1 10.269492 10.269492 10.269492 \n",
"gasdev 0.0 0.000000 100.100000 0.271851 \n",
"fftma2 1.1 0.100000 0.100000 0.100000 \n",
"covariance 1.1 0.100000 0.100000 0.100000 \n",
"ran2 0.0 0.000000 0.100000 0.000816 \n",
"cov_value 0.0 0.000000 0.100000 0.000898 \n",
"cgrid 0.0 0.000000 0.000000 0.000000 \n",
"fourt 0.0 0.000000 0.000000 0.000000 \n",
"length 0.0 0.000000 0.000000 0.000000 \n",
"maxfactor 0.0 0.000000 0.000000 0.000000 \n",
"build_real 0.0 0.000000 0.000000 0.000000 \n",
"prebuild_gwn 0.0 0.000000 0.000000 0.000000 \n",
"clean_real 0.0 0.000000 0.000000 0.000000 "
]
},
"execution_count": 121,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = analyze(['log_16-aa'])\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 122,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 600x600 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_analysis(df)"
]
},
{
"cell_type": "code",
"execution_count": 123,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"domain": {
"x": [
0,
1
],
"y": [
0,
1
]
},
"hovertemplate": "function=%{label}<br>time_sum=%{value}<br>parent=%{parent}<extra></extra>",
"labels": [
"Py_kgeneration",
"generate",
"gasdev",
"fftma2",
"covariance",
"ran2",
"cov_value",
"cgrid",
"fourt",
"length",
"maxfactor",
"build_real",
"prebuild_gwn",
"clean_real"
],
"marker": {
"colors": [
"#636efa",
"#EF553B",
"#00cc96",
"#EF553B",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#636efa",
"#ab63fa",
"#636efa",
"#636efa",
"#636efa",
"#ab63fa",
"#636efa"
]
},
"name": "",
"parents": [
"",
"Py_kgeneration",
"generate",
"Py_kgeneration",
"fftma2",
"gasdev",
"covariance",
"",
"fftma2",
"",
"",
"",
"fftma2",
""
],
"type": "treemap",
"values": [
2.673944,
1.986983,
1.4797549999999982,
0.684455,
0.680862,
0.46490200000001797,
0.29320199999999785,
0.001203,
0.001112,
0.000802,
0.00024000000000000003,
0.000135,
0.0001,
8.3e-05
]
}
],
"layout": {
"autosize": true,
"legend": {
"tracegroupgap": 0
},
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Time treemap"
}
}
},
"image/png": "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",
"text/html": [
"<div> <div id=\"6cbc27dd-12e5-4228-87a6-b448bca59389\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div> <script type=\"text/javascript\"> require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"6cbc27dd-12e5-4228-87a6-b448bca59389\")) { Plotly.newPlot( \"6cbc27dd-12e5-4228-87a6-b448bca59389\", [{\"domain\":{\"x\":[0.0,1.0],\"y\":[0.0,1.0]},\"hovertemplate\":\"function=%{label}<br>time_sum=%{value}<br>parent=%{parent}<extra></extra>\",\"labels\":[\"Py_kgeneration\",\"generate\",\"gasdev\",\"fftma2\",\"covariance\",\"ran2\",\"cov_value\",\"cgrid\",\"fourt\",\"length\",\"maxfactor\",\"build_real\",\"prebuild_gwn\",\"clean_real\"],\"marker\":{\"colors\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#EF553B\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#636efa\",\"#ab63fa\",\"#636efa\",\"#636efa\",\"#636efa\",\"#ab63fa\",\"#636efa\"]},\"name\":\"\",\"parents\":[\"\",\"Py_kgeneration\",\"generate\",\"Py_kgeneration\",\"fftma2\",\"gasdev\",\"covariance\",\"\",\"fftma2\",\"\",\"\",\"\",\"fftma2\",\"\"],\"values\":[2.673944,1.986983,1.4797549999999982,0.684455,0.680862,0.46490200000001797,0.29320199999999785,0.001203,0.001112,0.000802,0.00024000000000000003,0.000135,0.0001,8.3e-05],\"type\":\"treemap\"}], {\"template\":{\"data\":{\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"choropleth\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"choropleth\"}],\"contour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"contour\"}],\"contourcarpet\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"contourcarpet\"}],\"heatmap\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmap\"}],\"heatmapgl\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmapgl\"}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"histogram2d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2d\"}],\"histogram2dcontour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2dcontour\"}],\"mesh3d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"mesh3d\"}],\"parcoords\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"parcoords\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}],\"scatter\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter\"}],\"scatter3d\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter3d\"}],\"scattercarpet\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattercarpet\"}],\"scattergeo\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergeo\"}],\"scattergl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergl\"}],\"scattermapbox\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattermapbox\"}],\"scatterpolar\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolar\"}],\"scatterpolargl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolargl\"}],\"scatterternary\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterternary\"}],\"surface\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"surface\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}]},\"layout\":{\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"autotypenumbers\":\"strict\",\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]],\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]},\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"geo\":{\"bgcolor\":\"white\",\"lakecolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"showlakes\":true,\"showland\":true,\"subunitcolor\":\"white\"},\"hoverlabel\":{\"align\":\"left\"},\"hovermode\":\"closest\",\"mapbox\":{\"style\":\"light\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"ternary\":{\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"title\":{\"x\":0.05},\"xaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2},\"yaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2}}},\"legend\":{\"tracegroupgap\":0},\"title\":{\"text\":\"Time treemap\"}}, {\"responsive\": true} ).then(function(){\n",
" \n",
"var gd = document.getElementById('6cbc27dd-12e5-4228-87a6-b448bca59389');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" }) }; }); </script> </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_treemap(df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## N = 32"
]
},
{
"cell_type": "code",
"execution_count": 124,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead tr th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe thead tr:last-of-type th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr>\n",
" <th></th>\n",
" <th colspan=\"5\" halign=\"left\">time</th>\n",
" <th colspan=\"3\" halign=\"left\">memory</th>\n",
" <th colspan=\"3\" halign=\"left\">cpu</th>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <th>min</th>\n",
" <th>max</th>\n",
" <th>mean</th>\n",
" <th>sum</th>\n",
" <th>count</th>\n",
" <th>min</th>\n",
" <th>max</th>\n",
" <th>median</th>\n",
" <th>min</th>\n",
" <th>max</th>\n",
" <th>mean</th>\n",
" </tr>\n",
" <tr>\n",
" <th>function</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Py_kgeneration</th>\n",
" <td>19.763131</td>\n",
" <td>19.763131</td>\n",
" <td>19.763131</td>\n",
" <td>19.763131</td>\n",
" <td>1</td>\n",
" <td>73.1</td>\n",
" <td>73.1</td>\n",
" <td>73.1</td>\n",
" <td>46.861856</td>\n",
" <td>46.861856</td>\n",
" <td>46.861856</td>\n",
" </tr>\n",
" <tr>\n",
" <th>generate</th>\n",
" <td>14.644248</td>\n",
" <td>14.644248</td>\n",
" <td>14.644248</td>\n",
" <td>14.644248</td>\n",
" <td>1</td>\n",
" <td>31.7</td>\n",
" <td>31.7</td>\n",
" <td>31.7</td>\n",
" <td>60.993471</td>\n",
" <td>60.993471</td>\n",
" <td>60.993471</td>\n",
" </tr>\n",
" <tr>\n",
" <th>gasdev</th>\n",
" <td>0.000080</td>\n",
" <td>0.023625</td>\n",
" <td>0.000332</td>\n",
" <td>10.893141</td>\n",
" <td>32768</td>\n",
" <td>-3.1</td>\n",
" <td>2.5</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>100.100000</td>\n",
" <td>1.942624</td>\n",
" </tr>\n",
" <tr>\n",
" <th>fftma2</th>\n",
" <td>5.116014</td>\n",
" <td>5.116014</td>\n",
" <td>5.116014</td>\n",
" <td>5.116014</td>\n",
" <td>1</td>\n",
" <td>41.4</td>\n",
" <td>41.4</td>\n",
" <td>41.4</td>\n",
" <td>6.226482</td>\n",
" <td>6.226482</td>\n",
" <td>6.226482</td>\n",
" </tr>\n",
" <tr>\n",
" <th>covariance</th>\n",
" <td>5.103886</td>\n",
" <td>5.103886</td>\n",
" <td>5.103886</td>\n",
" <td>5.103886</td>\n",
" <td>1</td>\n",
" <td>41.0</td>\n",
" <td>41.0</td>\n",
" <td>41.0</td>\n",
" <td>6.238614</td>\n",
" <td>6.238614</td>\n",
" <td>6.238614</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ran2</th>\n",
" <td>0.000077</td>\n",
" <td>0.001241</td>\n",
" <td>0.000083</td>\n",
" <td>3.453295</td>\n",
" <td>41552</td>\n",
" <td>-2.4</td>\n",
" <td>1.2</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>100.100000</td>\n",
" <td>0.405054</td>\n",
" </tr>\n",
" <tr>\n",
" <th>cov_value</th>\n",
" <td>0.000080</td>\n",
" <td>0.000254</td>\n",
" <td>0.000089</td>\n",
" <td>2.195379</td>\n",
" <td>24624</td>\n",
" <td>-2.4</td>\n",
" <td>1.7</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>100.100000</td>\n",
" <td>0.017077</td>\n",
" </tr>\n",
" <tr>\n",
" <th>fourt</th>\n",
" <td>0.002385</td>\n",
" <td>0.003391</td>\n",
" <td>0.002721</td>\n",
" <td>0.008164</td>\n",
" <td>3</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.100000</td>\n",
" <td>0.033333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>cgrid</th>\n",
" <td>0.001590</td>\n",
" <td>0.001590</td>\n",
" <td>0.001590</td>\n",
" <td>0.001590</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>length</th>\n",
" <td>0.000270</td>\n",
" <td>0.000458</td>\n",
" <td>0.000395</td>\n",
" <td>0.001185</td>\n",
" <td>3</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>build_real</th>\n",
" <td>0.000536</td>\n",
" <td>0.000536</td>\n",
" <td>0.000536</td>\n",
" <td>0.000536</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>maxfactor</th>\n",
" <td>0.000080</td>\n",
" <td>0.000082</td>\n",
" <td>0.000081</td>\n",
" <td>0.000405</td>\n",
" <td>5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>clean_real</th>\n",
" <td>0.000258</td>\n",
" <td>0.000258</td>\n",
" <td>0.000258</td>\n",
" <td>0.000258</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>prebuild_gwn</th>\n",
" <td>0.000236</td>\n",
" <td>0.000236</td>\n",
" <td>0.000236</td>\n",
" <td>0.000236</td>\n",
" <td>1</td>\n",
" <td>0.4</td>\n",
" <td>0.4</td>\n",
" <td>0.4</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" time memory \\\n",
" min max mean sum count min \n",
"function \n",
"Py_kgeneration 19.763131 19.763131 19.763131 19.763131 1 73.1 \n",
"generate 14.644248 14.644248 14.644248 14.644248 1 31.7 \n",
"gasdev 0.000080 0.023625 0.000332 10.893141 32768 -3.1 \n",
"fftma2 5.116014 5.116014 5.116014 5.116014 1 41.4 \n",
"covariance 5.103886 5.103886 5.103886 5.103886 1 41.0 \n",
"ran2 0.000077 0.001241 0.000083 3.453295 41552 -2.4 \n",
"cov_value 0.000080 0.000254 0.000089 2.195379 24624 -2.4 \n",
"fourt 0.002385 0.003391 0.002721 0.008164 3 0.0 \n",
"cgrid 0.001590 0.001590 0.001590 0.001590 1 0.0 \n",
"length 0.000270 0.000458 0.000395 0.001185 3 0.0 \n",
"build_real 0.000536 0.000536 0.000536 0.000536 1 0.0 \n",
"maxfactor 0.000080 0.000082 0.000081 0.000405 5 0.0 \n",
"clean_real 0.000258 0.000258 0.000258 0.000258 1 0.0 \n",
"prebuild_gwn 0.000236 0.000236 0.000236 0.000236 1 0.4 \n",
"\n",
" cpu \n",
" max median min max mean \n",
"function \n",
"Py_kgeneration 73.1 73.1 46.861856 46.861856 46.861856 \n",
"generate 31.7 31.7 60.993471 60.993471 60.993471 \n",
"gasdev 2.5 0.0 0.000000 100.100000 1.942624 \n",
"fftma2 41.4 41.4 6.226482 6.226482 6.226482 \n",
"covariance 41.0 41.0 6.238614 6.238614 6.238614 \n",
"ran2 1.2 0.0 0.000000 100.100000 0.405054 \n",
"cov_value 1.7 0.0 0.000000 100.100000 0.017077 \n",
"fourt 0.0 0.0 0.000000 0.100000 0.033333 \n",
"cgrid 0.0 0.0 0.000000 0.000000 0.000000 \n",
"length 0.0 0.0 0.000000 0.000000 0.000000 \n",
"build_real 0.0 0.0 0.000000 0.000000 0.000000 \n",
"maxfactor 0.0 0.0 0.000000 0.000000 0.000000 \n",
"clean_real 0.0 0.0 0.000000 0.000000 0.000000 \n",
"prebuild_gwn 0.4 0.4 0.000000 0.000000 0.000000 "
]
},
"execution_count": 124,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = analyze(['log_32-aa'])\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 125,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 600x600 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_analysis(df)"
]
},
{
"cell_type": "code",
"execution_count": 126,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"domain": {
"x": [
0,
1
],
"y": [
0,
1
]
},
"hovertemplate": "function=%{label}<br>time_sum=%{value}<br>parent=%{parent}<extra></extra>",
"labels": [
"Py_kgeneration",
"generate",
"gasdev",
"fftma2",
"covariance",
"ran2",
"cov_value",
"fourt",
"cgrid",
"length",
"build_real",
"maxfactor",
"clean_real",
"prebuild_gwn"
],
"marker": {
"colors": [
"#636efa",
"#EF553B",
"#00cc96",
"#EF553B",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#ab63fa",
"#636efa",
"#636efa",
"#636efa",
"#636efa",
"#636efa",
"#ab63fa"
]
},
"name": "",
"parents": [
"",
"Py_kgeneration",
"generate",
"Py_kgeneration",
"fftma2",
"gasdev",
"covariance",
"fftma2",
"",
"",
"",
"",
"",
"fftma2"
],
"type": "treemap",
"values": [
19.763131,
14.644248,
10.89314099999912,
5.116014,
5.103886,
3.453295000001251,
2.1953789999997255,
0.008164,
0.00159,
0.001185,
0.000536,
0.00040500000000000003,
0.000258,
0.000236
]
}
],
"layout": {
"autosize": true,
"legend": {
"tracegroupgap": 0
},
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Time treemap"
}
}
},
"image/png": "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",
"text/html": [
"<div> <div id=\"052597a7-fd5e-4223-b4cd-f76061de1ab1\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div> <script type=\"text/javascript\"> require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"052597a7-fd5e-4223-b4cd-f76061de1ab1\")) { Plotly.newPlot( \"052597a7-fd5e-4223-b4cd-f76061de1ab1\", [{\"domain\":{\"x\":[0.0,1.0],\"y\":[0.0,1.0]},\"hovertemplate\":\"function=%{label}<br>time_sum=%{value}<br>parent=%{parent}<extra></extra>\",\"labels\":[\"Py_kgeneration\",\"generate\",\"gasdev\",\"fftma2\",\"covariance\",\"ran2\",\"cov_value\",\"fourt\",\"cgrid\",\"length\",\"build_real\",\"maxfactor\",\"clean_real\",\"prebuild_gwn\"],\"marker\":{\"colors\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#EF553B\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#ab63fa\",\"#636efa\",\"#636efa\",\"#636efa\",\"#636efa\",\"#636efa\",\"#ab63fa\"]},\"name\":\"\",\"parents\":[\"\",\"Py_kgeneration\",\"generate\",\"Py_kgeneration\",\"fftma2\",\"gasdev\",\"covariance\",\"fftma2\",\"\",\"\",\"\",\"\",\"\",\"fftma2\"],\"values\":[19.763131,14.644248,10.89314099999912,5.116014,5.103886,3.453295000001251,2.1953789999997255,0.008164,0.00159,0.001185,0.000536,0.00040500000000000003,0.000258,0.000236],\"type\":\"treemap\"}], {\"template\":{\"data\":{\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"choropleth\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"choropleth\"}],\"contour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"contour\"}],\"contourcarpet\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"contourcarpet\"}],\"heatmap\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmap\"}],\"heatmapgl\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmapgl\"}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"histogram2d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2d\"}],\"histogram2dcontour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2dcontour\"}],\"mesh3d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"mesh3d\"}],\"parcoords\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"parcoords\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}],\"scatter\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter\"}],\"scatter3d\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter3d\"}],\"scattercarpet\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattercarpet\"}],\"scattergeo\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergeo\"}],\"scattergl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergl\"}],\"scattermapbox\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattermapbox\"}],\"scatterpolar\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolar\"}],\"scatterpolargl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolargl\"}],\"scatterternary\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterternary\"}],\"surface\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"surface\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}]},\"layout\":{\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"autotypenumbers\":\"strict\",\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]],\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]},\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"geo\":{\"bgcolor\":\"white\",\"lakecolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"showlakes\":true,\"showland\":true,\"subunitcolor\":\"white\"},\"hoverlabel\":{\"align\":\"left\"},\"hovermode\":\"closest\",\"mapbox\":{\"style\":\"light\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"ternary\":{\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"title\":{\"x\":0.05},\"xaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2},\"yaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2}}},\"legend\":{\"tracegroupgap\":0},\"title\":{\"text\":\"Time treemap\"}}, {\"responsive\": true} ).then(function(){\n",
" \n",
"var gd = document.getElementById('052597a7-fd5e-4223-b4cd-f76061de1ab1');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" }) }; }); </script> </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_treemap(df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## N = 64"
]
},
{
"cell_type": "code",
"execution_count": 127,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Executing file log_64-aa\n",
"Executing file log_64-ab\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead tr th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe thead tr:last-of-type th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr>\n",
" <th></th>\n",
" <th colspan=\"3\" halign=\"left\">memory</th>\n",
" <th colspan=\"5\" halign=\"left\">time</th>\n",
" <th colspan=\"3\" halign=\"left\">cpu</th>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <th>min</th>\n",
" <th>max</th>\n",
" <th>median</th>\n",
" <th>min</th>\n",
" <th>max</th>\n",
" <th>mean</th>\n",
" <th>sum</th>\n",
" <th>count</th>\n",
" <th>min</th>\n",
" <th>max</th>\n",
" <th>mean</th>\n",
" </tr>\n",
" <tr>\n",
" <th>function</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Py_kgeneration</th>\n",
" <td>2781.1</td>\n",
" <td>2781.1</td>\n",
" <td>2781.1</td>\n",
" <td>173.931290</td>\n",
" <td>173.931290</td>\n",
" <td>173.931290</td>\n",
" <td>173.931290</td>\n",
" <td>1.0</td>\n",
" <td>19.901069</td>\n",
" <td>19.901069</td>\n",
" <td>173.931290</td>\n",
" </tr>\n",
" <tr>\n",
" <th>generate</th>\n",
" <td>2781.2</td>\n",
" <td>2781.2</td>\n",
" <td>2781.2</td>\n",
" <td>137.192987</td>\n",
" <td>137.192987</td>\n",
" <td>137.192987</td>\n",
" <td>137.192987</td>\n",
" <td>1.0</td>\n",
" <td>23.489213</td>\n",
" <td>23.489213</td>\n",
" <td>137.192987</td>\n",
" </tr>\n",
" <tr>\n",
" <th>fftma2</th>\n",
" <td>2.6</td>\n",
" <td>2.6</td>\n",
" <td>2.6</td>\n",
" <td>36.737828</td>\n",
" <td>36.737828</td>\n",
" <td>36.737828</td>\n",
" <td>36.737828</td>\n",
" <td>1.0</td>\n",
" <td>6.498040</td>\n",
" <td>6.498040</td>\n",
" <td>36.737828</td>\n",
" </tr>\n",
" <tr>\n",
" <th>covariance</th>\n",
" <td>-1.8</td>\n",
" <td>-1.8</td>\n",
" <td>-1.8</td>\n",
" <td>36.638978</td>\n",
" <td>36.638978</td>\n",
" <td>36.638978</td>\n",
" <td>36.638978</td>\n",
" <td>1.0</td>\n",
" <td>6.515506</td>\n",
" <td>6.515506</td>\n",
" <td>36.638978</td>\n",
" </tr>\n",
" <tr>\n",
" <th>gasdev</th>\n",
" <td>-54.9</td>\n",
" <td>11.1</td>\n",
" <td>0.0</td>\n",
" <td>0.000076</td>\n",
" <td>0.007025</td>\n",
" <td>0.000455</td>\n",
" <td>101.718838</td>\n",
" <td>262144.0</td>\n",
" <td>0.000000</td>\n",
" <td>100.100000</td>\n",
" <td>0.000455</td>\n",
" </tr>\n",
" <tr>\n",
" <th>fourt</th>\n",
" <td>0.0</td>\n",
" <td>2.2</td>\n",
" <td>0.0</td>\n",
" <td>0.024883</td>\n",
" <td>0.040913</td>\n",
" <td>0.030275</td>\n",
" <td>0.090826</td>\n",
" <td>3.0</td>\n",
" <td>0.100000</td>\n",
" <td>0.100000</td>\n",
" <td>0.030275</td>\n",
" </tr>\n",
" <tr>\n",
" <th>cov_value</th>\n",
" <td>-7.4</td>\n",
" <td>2.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000086</td>\n",
" <td>0.000268</td>\n",
" <td>0.000099</td>\n",
" <td>15.471843</td>\n",
" <td>156816.0</td>\n",
" <td>0.000000</td>\n",
" <td>100.100000</td>\n",
" <td>0.000099</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ran2</th>\n",
" <td>-17.0</td>\n",
" <td>3.4</td>\n",
" <td>0.0</td>\n",
" <td>0.000075</td>\n",
" <td>0.002592</td>\n",
" <td>0.000112</td>\n",
" <td>31.860609</td>\n",
" <td>333450.0</td>\n",
" <td>0.000000</td>\n",
" <td>100.100000</td>\n",
" <td>0.000112</td>\n",
" </tr>\n",
" <tr>\n",
" <th>build_real</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.003170</td>\n",
" <td>0.003170</td>\n",
" <td>0.003170</td>\n",
" <td>0.003170</td>\n",
" <td>1.0</td>\n",
" <td>0.100000</td>\n",
" <td>0.100000</td>\n",
" <td>0.003170</td>\n",
" </tr>\n",
" <tr>\n",
" <th>prebuild_gwn</th>\n",
" <td>2.2</td>\n",
" <td>2.2</td>\n",
" <td>2.2</td>\n",
" <td>0.001027</td>\n",
" <td>0.001027</td>\n",
" <td>0.001027</td>\n",
" <td>0.001027</td>\n",
" <td>1.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.001027</td>\n",
" </tr>\n",
" <tr>\n",
" <th>clean_real</th>\n",
" <td>0.7</td>\n",
" <td>0.7</td>\n",
" <td>0.7</td>\n",
" <td>0.000707</td>\n",
" <td>0.000707</td>\n",
" <td>0.000707</td>\n",
" <td>0.000707</td>\n",
" <td>1.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000707</td>\n",
" </tr>\n",
" <tr>\n",
" <th>cgrid</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.001641</td>\n",
" <td>0.001641</td>\n",
" <td>0.001641</td>\n",
" <td>0.001641</td>\n",
" <td>1.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.001641</td>\n",
" </tr>\n",
" <tr>\n",
" <th>length</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000310</td>\n",
" <td>0.000531</td>\n",
" <td>0.000384</td>\n",
" <td>0.001153</td>\n",
" <td>3.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000384</td>\n",
" </tr>\n",
" <tr>\n",
" <th>maxfactor</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000092</td>\n",
" <td>0.000094</td>\n",
" <td>0.000093</td>\n",
" <td>0.000372</td>\n",
" <td>4.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000093</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" memory time \\\n",
" min max median min max mean \n",
"function \n",
"Py_kgeneration 2781.1 2781.1 2781.1 173.931290 173.931290 173.931290 \n",
"generate 2781.2 2781.2 2781.2 137.192987 137.192987 137.192987 \n",
"fftma2 2.6 2.6 2.6 36.737828 36.737828 36.737828 \n",
"covariance -1.8 -1.8 -1.8 36.638978 36.638978 36.638978 \n",
"gasdev -54.9 11.1 0.0 0.000076 0.007025 0.000455 \n",
"fourt 0.0 2.2 0.0 0.024883 0.040913 0.030275 \n",
"cov_value -7.4 2.0 0.0 0.000086 0.000268 0.000099 \n",
"ran2 -17.0 3.4 0.0 0.000075 0.002592 0.000112 \n",
"build_real 0.0 0.0 0.0 0.003170 0.003170 0.003170 \n",
"prebuild_gwn 2.2 2.2 2.2 0.001027 0.001027 0.001027 \n",
"clean_real 0.7 0.7 0.7 0.000707 0.000707 0.000707 \n",
"cgrid 0.0 0.0 0.0 0.001641 0.001641 0.001641 \n",
"length 0.0 0.0 0.0 0.000310 0.000531 0.000384 \n",
"maxfactor 0.0 0.0 0.0 0.000092 0.000094 0.000093 \n",
"\n",
" cpu \n",
" sum count min max mean \n",
"function \n",
"Py_kgeneration 173.931290 1.0 19.901069 19.901069 173.931290 \n",
"generate 137.192987 1.0 23.489213 23.489213 137.192987 \n",
"fftma2 36.737828 1.0 6.498040 6.498040 36.737828 \n",
"covariance 36.638978 1.0 6.515506 6.515506 36.638978 \n",
"gasdev 101.718838 262144.0 0.000000 100.100000 0.000455 \n",
"fourt 0.090826 3.0 0.100000 0.100000 0.030275 \n",
"cov_value 15.471843 156816.0 0.000000 100.100000 0.000099 \n",
"ran2 31.860609 333450.0 0.000000 100.100000 0.000112 \n",
"build_real 0.003170 1.0 0.100000 0.100000 0.003170 \n",
"prebuild_gwn 0.001027 1.0 0.000000 0.000000 0.001027 \n",
"clean_real 0.000707 1.0 0.000000 0.000000 0.000707 \n",
"cgrid 0.001641 1.0 0.000000 0.000000 0.001641 \n",
"length 0.001153 3.0 0.000000 0.000000 0.000384 \n",
"maxfactor 0.000372 4.0 0.000000 0.000000 0.000093 "
]
},
"execution_count": 127,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = analyze(['log_64-aa', 'log_64-ab'])\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 128,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 600x600 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_analysis(df)"
]
},
{
"cell_type": "code",
"execution_count": 129,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"domain": {
"x": [
0,
1
],
"y": [
0,
1
]
},
"hovertemplate": "function=%{label}<br>time_sum=%{value}<br>parent=%{parent}<extra></extra>",
"labels": [
"Py_kgeneration",
"generate",
"fftma2",
"covariance",
"gasdev",
"fourt",
"cov_value",
"ran2",
"build_real",
"prebuild_gwn",
"clean_real",
"cgrid",
"length",
"maxfactor"
],
"marker": {
"colors": [
"#636efa",
"#EF553B",
"#EF553B",
"#00cc96",
"#ab63fa",
"#00cc96",
"#FFA15A",
"#19d3f3",
"#636efa",
"#00cc96",
"#636efa",
"#636efa",
"#636efa",
"#636efa"
]
},
"name": "",
"parents": [
"",
"Py_kgeneration",
"Py_kgeneration",
"fftma2",
"generate",
"fftma2",
"covariance",
"gasdev",
"",
"fftma2",
"",
"",
"",
""
],
"type": "treemap",
"values": [
173.93129,
137.192987,
36.737828,
36.638978,
101.71883800005251,
0.09082599999999999,
15.471843000005594,
31.86060899999753,
0.00317,
0.001027,
0.000707,
0.001641,
0.001153,
0.000372
]
}
],
"layout": {
"autosize": true,
"legend": {
"tracegroupgap": 0
},
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Time treemap"
}
}
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAt8AAAFoCAYAAACPLZeUAAAAAXNSR0IArs4c6QAAIABJREFUeF7t3Qd0VWW6h/H/aSkEQu8iKiBWUMeGvQ4Odh07FtSLMuLYZxzFXkFFHR0cC/beO/auiAUFRZTBhoAU6YS0U+76dkgEpOSEvCd77zxZ6651heTb3/d7z+jDdp9jJJPJZMQXAggggAACCCCAAAIImAtEiG9zYy6AAAIIIIAAAggggIAnQHzzQkAAAQQQQAABBBBAIEcCxHeOoLkMAggggAACCCCAAALEN68BBBBAAAEEEEAAAQRyJEB85wiayyCAAAIIIIAAAgggQHzzGkAAAQQQQAABBBBAIEcCxHeOoLkMAggggAACCCCAAALEN68BBBBAAAEEEEAAAQRyJEB85wiayyCAAAIIIIAAAgggQHzzGkAAAQQQQAABBBBAIEcCxHeOoLkMAggggAACCCCAAALEN68BBBBAAAEEEEAAAQRyJEB85wiayyCAAAIIIIAAAgggQHzzGkAAAQQQQAABBBBAIEcCxHeOoLkMAggggAACCCCAAALEN68BBBBAAAEEEEAAAQRyJEB85wiayyCAAAIIIIAAAgggQHzzGkAAAQQQQAABBBBAIEcCxHeOoLkMAggggAACCCCAAALEN68BBBBAAAEEEEAAAQRyJEB85wiayyCAAAIIIIAAAgggQHzzGkAAAQQQQAABBBBAIEcCxHeOoLkMAggggAACCCCAAALEN68BBBBAAAEEEEAAAQRyJEB85wiayyCAAAIIIIAAAgggQHzzGkAAAQQQQAABBBBAIEcCxHeOoLkMAggggAACCCCAAALEN68BBBBAAAEEEEAAAQRyJEB85wiayyCAAAIIIIAAAgggQHzzGkAAAQQQQAABBBBAIEcCxHeOoLkMAggggAACCCCAAALEN68BBBBAAAEEEEAAAQRyJEB85wiayyCAAAIIIIAAAgggQHzzGkAAAQQQQAABBBBAIEcCxHeOoLkMAggggAACCCCAAALEN68BBBBAAAEEEEAAAQRyJEB85wiayyCAAAIIIIAAAggg4Mv43vuIczR95pzVTmeb3hvp0P120flX3aHXHr1enTu0YZoIIIAAAggggAACCPhawJfx/em4b1VeXlkDd/F196hl86Y6a+BhNb/WvFmRipsV6eOx32i/vfqoqElBg0AffNJFOvPkQ7Vrny0a5PpcFAEEEEAAAQQQQCA4Ar6M7xX59jv2fLVv20ojh//DV7KlZeXart8g3XLV31cZ35WVSSUScV/tm80ggAACCCCAAAIINIxAoOP7hdc/Wu6xk0tvuFfjvvle5556uIb951FNmTZTHdu31vmDj1Hrls105U0PatIPv6hNq+Y64+RD1W/P7WvUp06frRtuf1xjvvhGpaXlWq9LBw04sp8O+PMOK53Mp19+qxPOvLbm9woL8vXZK7dryNCR+mbSTzr56H119b8f0q59euuq80/2vu+RZ9/0/m/KtFkqKizQTtttrnNPPUJtW7fIah/7Hnu+dtp2c3Vo10oPPPGa5i9crI17dNXQC0/R2K//p//e/5xmzp6nbut11uXnDdBG3df11nd/WLjpzif19odfaPac+Wpe3FTbbrmRzjn1CLVv09L7nqdffl8XDRuph24dopvuelJfffuDErGYdt9xSw0587gG+zcMDfM/D66KAAIIIIAAAgjUr0Co4vvKmx/Qi6+P1o7bbKYhZx6raCSqQecP19RfZ6vH+uvo0nNPULs2LXXZDffq1Xc/1dtP3Og9ujJvwSIdNGCIWjZvpovOOk7t2rTQS29+rFtGPq1rLhi40gBPJlP6bPx3OunsYRo25FTtuO1malHcVJcNv0/vjh6ndTu108D++6lzx7bquk573f7AC7rl7qc1+MSDte+e23txfMWN9yudyeipuy5XXiJe630ceMKFWrR4if6636468ah+mj7jNx39tyu8fzvgIvzCM/rL3XE/6Zxhcn8oeHjERd6r5oJr79JbH4zV0AsHqlvXzpo1Z54uH36/mhYV6sFbL/S+5/nXPtK/rr5DG3brosvOPUEbd+/qnfPMi2/V7jtsqWsvHFi/r0BWQwABBBBAAAEEGpFA6OL7kWfeXO4NmPc/8aqG/ucR79GQPXbcyhvtJ19M1ICzhnp3d7fYrLsXxv8e+ZSeu/cqdV+vc834T/3ncE2dPksvPvD7He5lXxsTvvtRh59ymUZcc2bNYyfuDwBuD4/cdpF6bdzN+/byikrtfNDp3t3q4ZeeVrPEVxN/0JGDLtd1Fw9Svz22q/U+XHyXlVfolYeHKRKJeOsNvvBmvTd6nN5/9hY1Ly7yfu3We57RXQ+/pC9eu9P7vpm/zfOifJ2ObWv28OBTr+uaWx7SmJdu8yK8+t8muIA/+uC9ar7PGbq79h+/OEIF+XmN6H8iHBUBBBBAAAEEEKg/gdDF97OjPvAe/6j+evaVD3ThtXdp1ENDtW7n9t4vfzt5ig49+WKNuPYs7bp9b+/uuPu1t5+8aTnZ6nB3QduqRbM/qK8qvh9/7m19+cZIRaNVYfz1tz/qiFMv02XnDvDuVi/7tf2+g7Tf3jt4d+pruw8X3+7TXdz+q7/cXe2PP5ugt568sebX7n/yNQ299WHPw90Bnzt/kfdIyqfjvtP8BYuUSqW9PxgsLimt+QNLdXw/9t9LtNlG69es9cyo971Hap65+0ptuME69fcKZCUEEEAAAQQQQKARCYQuvke9OUYfPn/rH+L7rSeGe49lLBffS+9Y9x98lb6cMFmJeGy50btHQtzjJasKzlXF94p7GP35BJ18znWKx2OKLr1TXX2hymRKe+28lW66/HTVdh8uvtdft6NuunzwcvE9dvwk72549Vd1fH866r8qyM9X/8FX6pfps3Tx2cdr057re4+6vPTGaA0b8egf4vvF+6/xrlH9NeqtMTr38tu8R1h6b1J1R58vBBBAAAEEEEAAgewEiO8+W+hv/7pJk3+cqtuHnbNSvU4d2ig/L/GH36ttfE+Y9JMOH3ipzht0pPcGzBW/mhTme38wqO0+6hLfv86cqwNOuEBX/vMkHfyXnWu2cMeDL+jmu576Q3y7Z8C33KxHzfc9+dK7uuS6e/T8vVer23qdsnuV8d0IIIAAAggggAACngDx3WcL3fnQi/rPvc/qjcdu8D4Jpfpr1m/zVZCf8N6UubKv6vj+z9Vnarcdqj7n2z3zveKd74rKpHY6cLAO2mcnXfD3/sst9cPP0707zO6Z7Nruoy7xPen7qTpm8JW69aozvE8ucV/urr77nHK3h1cfuc57Frz6sZOzBx6mk47et2avlw+/T8+9+qFGvzjCu2POFwIIIIAAAggggED2AsR3ny1qPmWkS6d2OvuUw9ShXWt9N3mK90ZE99zzsm+SXJbYfTxh36PPU/9D9/buJnfr2klDRzzyh/h2P+Pe1Hnb/c/p7FMO954zr6is1BMvvKNHn3tbT9xxqXp261LrfdQlvlPpjPY6/Gz13qS796kvCxeV6N8jn1anDq29N4hed9GpXpS/8f7n3sc3urvbfzv+IG2+8Qb6fPwkXXr9Pdp/7x102XkDsn+V8RMIIIAAAggggAACngDxvfS/TOlCevgdj3v/xcwlpeXe51733X1bnXbCQSt95KT69ePezPnK25/I/Rc3n777Cu8TRla88139vct+zndBXsJ77nrQ8Qdq6949a16OtdlHXeK7SWGB3vt4vK677VHvE1zcRyAO7L+/9tl9Ww0461q5O+MX/P0Y77l0F993Xn+e7n3sFX3+1Xfe53zvtcvWGnLGsSoo4JNO+HsHAggggAACCCBQV4FAxHddD8fPZS9Q/djJsp8Ok/0q/AQCCCCAAAIIIIDAygSIb14XywkQ37wgEEAAAQQQQAABOwHi2842kCsT34EcG5tGAAEEEEAAgYAIEN8BGRTbRAABBBBAAAEEEAi+APEd/BlyAgQQQAABBBBAAIGACBDfARkU20QAAQQQQAABBBAIvgDxHfwZcgIEEEAAAQQQQACBgAgQ3wEZFNtEAAEEEEAAAQQQCL4A8R38GXICBBBAAAEEEEAAgYAIEN8BGRTbRAABBBBAAAEEEAi+APEd/BlyAgQQQAABBBBAAIGACBDfARkU20QAAQQQQAABBBAIvgDxHfwZcgIEEEAAAQQQQACBgAgQ3wEZFNtEAAEEEEAAAQQQCL4A8R38GXICBBBAAAEEEEAAgYAIEN8BGRTbRAABBBBAAAEEEAi+APEd/BlyAgQQQAABBBBAAIGACBDfARkU20QAAQQQQAABBBAIvgDxHfwZcgIEEEAAAQQQQACBgAgQ3wEZFNtEAAEEEEAAAQQQCL4A8R38GXICBBBAAAEEEEAAgYAIEN8BGRTbRAABBBBAAAEEEAi+APEd/BlyAgQQQAABBBBAAIGACBDfARkU20QAAQQQQAABBBAIvgDxHfwZcgIEEEAAAQQQQACBgAgQ3wEZFNtEAAEEEEAAAQQQCL4A8R38GXICBBBAAAEEEEAAgYAIEN8BGRTbRAABBBBAAAEEEAi+APEd/BlyAgQQQAABBBBAAIGACBDfARkU20QAAQQQQAABBBAIvgDxHfwZcgIEEEAAAQQQQACBgAgQ3wEZFNtEAAEEEEAAAQQQCL4A8R38GXICBBBAAAEEEEAAgYAIEN8BGRTbRAABBBBAAAEEEAi+APEd/BlyAgQQQAABBBBAAIGACBDfARkU20QAAQQQQAABBBAIvgDxHfwZcgIEEEAAAQQQQACBgAgQ3wEZFNtEAAEEEEAAAQQQCL4A8R38GXICBBBAAAEEEEAAgYAIEN8BGRTbRAABBBBAAAEEEAi+APEd/BlyAgQQQAABBBBAAIGACBDfARkU20QAAQQQQAABBBAIvgDxHfwZcgIEEEAAAQQQQACBgAgQ3wEZFNtEAAEEEEAAAQQQCL4A8R38GXICBBBAAAEEEEAAgYAIEN8BGRTbRAABBBBAAAEEEAi+APEd/BlyAgQQQAABBBBAAIGACBDfARkU20QAAQQQQAABBBAIvgDxHfwZcgIEEEAAAQQQQACBgAgQ3wEZFNtEAAEEEEAAAQQQCL4A8R38GXICBBBAAAEEEEAAgYAIEN8BGRTbRAABBBBAAAEEEAi+APEd/BlyAgQQQAABBBBAAIGACBDfARkU20QAAQQQQAABBBAIvgDxHfwZcgIEEEAAAQQQQACBgAgQ3wEZFNtEAAEEEEAAAQQQCL4A8R38GXICBBBAAAEEEEAAgYAIEN8BGRTbRAABBBBAAAEEEAi+APEd/BlyAgQQQAABBBBAAIGACBDfARkU20QAAQQQQAABBBAIvgDxHfwZcgIEEEAAAQQQQACBgAgQ3wEZFNtEAAEEEEAAAQQQCL4A8R38GXICBBBAAAEEEEAAgYAIEN8BGRTbRAABBBBAAAEEEAi+APEd/BlyAgQQQAABBBBAAIGACBDfARkU20QAAQQQQAABBBAIvgDxHfwZcgIEEEAAAQQQQACBgAgQ3wEZFNtEAAEEEEAAAQQQCL4A8R38GXICBBBAAAEEEEAAgYAIEN8BGRTbRAABBBBAAAEEEAi+APEd/BlyAgQQQAABBBBAAIGACBDfARkU20QAAQQQQAABBBAIvgDxHfwZcgIEEEAAAQQQQACBgAgQ3wEZFNtEAAEEEEAAAQQQCL4A8W00w+dfSRutzLIIIIAAAggggICtQDQi7dc3anuRRro68W00eBffz49KGa3OsggggAACCCCAgJ3AQf1ixLcRL/FtBEt8G8GyLAIIIIAAAgiYCxDfdsTEt5Et8W0Ey7IIIIAAAgggYC5AfNsRE99GtsS3ESzLIoAAAggggIC5APFtR0x8G9muKr6jUemOGxNKJqsunM5IM2dl9OTzKU34NlOn3ey9W1SdOkZ03yPBeMZ8x+2i+nBM1RtS/z4wrk/GpvXxZ7xBtU7D54cQQAABBBAwECC+DVCXLkl8G9muKb7PuySpefMzcjG+Va+oTjg6pguuqNTCRdlvyE/xHYlImdX8GcL9/g1XJHT2kErvoE0KpcqkVFn1l3whgAACCCCAgA8EiG+7IRDfRra1je/qy1/yj7ieezmt/feJ6uU30vr8y6o7wb03i+qgflFdNmzprfKV7HfZ+G7ZIqJ/nRnTnQ+k9NOUjE44Kqbu60c0+zdp0g8ZtWkl3f1QSu3bRXTcETE1L5bKy6WHn0rp+x8z6tI5ohOPiWn8hIx6dIt4v//wk7/fld/3z1H12SYqZaSJkzJ67JmUkinp1mEJvfx6SvvsGdN5F1eqY4eIjj08piZNqsLarfHt/zI67eSYttgsql9nZnTTbSn1PzxWc+d76y2iOuAvUcWi0oJF0v2PpTRjZkZ77RrVOp0iSiSktm0i3u+PuDulOXPr9m8KjEbOsggggAACCIRGgPi2GyXxbWSbbXxfdn7ce/SkY/uIum8Q0YiRVY+QDDg6phmzMhr1xqofy6iO70eeTOmfZ8T1+jtVj3HstmNU2/0pqutuTaq4WUQXnBXThO8y3uMpF58X1zsfpPXe6LTWWzeiwSfHdP5lSS/K3R8E/n1HUl9PzGjbraLac5eorrkpqS02j+qQ/ar+fxfsg06MeUH95rtp3XxNQh98nPbO4O58X3ReXG++k9ZHn6a17Z+iOmCfqIZclVTTIun6yxM69ZyqW93Vj51M+j6jS/8Z15XXJzXrt4x22SGqnbeP6qrhSe2xs4vymC65tlILFsqL+sVLpGdeDMZjNkYvMZZFAAEEEEDATID4NqMV8W1kW9v4jsUkd8f36L/G9K8rKpWXiOjqIXGdc3GlF7jDr0zoqhuSmj1n1Xd5q+M7P0+aMUs1ny8+8PiYvv+pKo7dl4vWaEx64ZW0rrggrsH/qKx5RGTIOXE98VxKi0uk88+M6/R/VsWxu+P894Ex/ePS5B/+INBr04j67hHTdbckddPVCS/Yf/ipap95CXl3xNNpeXfPh12a0ClnV64yvhNxacteUW8N9+Xuct92fUKnn1+pPltHtclGEd16Z1Vs77lrVF27RHT3g8S30cuXZRFAAAEEGrkA8W33AiC+jWzXFN81b7hMS9NnZPTYsyn97/uqcD13cFyjP017j1X89YCYrrxh1Y+cuO938b3/PjHF45K7+/3+x1Wxffbf4vrok9/fzLjv3lG1aRPRux+mdcFZce+Z8+qv/PyIHni86jGPMwe5R0eqrtm5Y6Tmr91d6g3Wi6i8vOrn3PPq7hn1K66viu9rbkxq5uyq33N3zHffOSr3hwv3mIh7nGXgWauO71YtpQ7tlw/qEdcldOnQpDbbOOJd964HqmLb3Qlf9q+NRsiyCCCAAAIINFoB4ttu9MS3ke2a4rv6DZcru/zOfaLe3XD3uIkL8NfeXv0ngbj47r1pVI8+k9I5p8W9WHc/N2hATN9Ozujt96t+3j1f7WL4+VFpXX5+3LurvOLXsrG9Ynwff1RM03/NeI+1rPjl4vvq4VWPjLRsHtHVF8V1+XVJ79lu9xz60Eviq41vd+d7q95R3Xx7VfTn5Ukuvt3d+R22XT62iW+jFy3LIoAAAgggsFSA+LZ7KRDfRrZrE9/uTYruMQ332Il75nnuvNW/sXDZN1z22zuqTTaM6oYRSfXdI6pNekZ1421JtSiO6MJzYvpqYtUz3+6Z7FffSuuTz9Nq1lQ66pCY7nsspTatfr/TvWJ8uzdKujeEusdMysrlPZedSsn72MBl49sF/Hmnx3XuxZXeYyeH7Bfz9nLaeZWKxaWbr054j7WUV/z+zPd3kzPeHwjcXXQX8O45c/cHkKH/rnrmmzvfRi9UlkUAAQQQQGAlAsS33cuC+DayXZv4dlsa/H8xNSuKeG9uXNPXsvHtHgVxj5S4x1bcmx0HHhdX507StOnS1OkZ75nr+x79/dNOWrWo+qzx199O650P08s9ZrJifLu/do+uuDvR7g76zNnSPQ+nNH9BZrn4dt93Yv+YenaLqGSJ9PhzKR24T8x7TMWdxz0Os+46Ee8u9/59f/+0kz9tEdWB7tNOYtLcedL9j6a8Z92J7zW9Avh9BBBAAAEE6leA+K5fz2VXI76NbNf2v3DpPgbwl2kZvf3B2v3HZ5b93G33iSHujZDuE0n4QgABBBBAAAEEViVAfNu9NohvI9u1ie9OHSI6a1BMF1+TVGlZ3TfoHhM57KCqzwh3Ef6vM+Pe895jx69d0Nd9R/wkAggggAACCARBgPi2mxLxbWRb1/g+dP+Y3H9+3f0HZr78qiqSO7SL6G8nxVa6U/eGxtvuXvmdbPeYx9GHxtR7s4j37PVnX1b9Z+xX91+gNOJgWQQQQAABBBAIkADxbTcs4tvItq7xbbQdlkUAAQQQQAABBGotQHzXmirrbyS+syar3Q8Q37Vz4rsQQAABBBBAwH8CxLfdTIhvI1vi2wiWZRFAAAEEEEDAXID4tiMmvo1siW8jWJZFAAEEEEAAAXMB4tuOmPg2siW+jWBZFgEEEEAAAQTMBYhvO2Li28iW+DaCZVkEEEAAAQQQMBcgvu2IiW8j25XFt/uP3PCFAAIIWAg8PyqlXXeIqnnziMXyrLmCgPPmC4EwCxDfdtMlvo1sVxXff150r9EVWRYBBBqrwBedjtTIxxNefB/c+g3F501rrBQ5OXekX3+ddgF/yMkJNhdpMAHi246e+DayXV18lz1xt9FVWRYBBBqbQN5eB2rcpqctF9/JO65obAw5O2+kabEKbnmW+M6ZOBdqKAHi206e+DayJb6NYFkWAQSWEyC+c/uCIL5z683VGk6A+LazJ76NbIlvI1iWRQAB4rsBXwPEdwPic+mcChDfdtzEt5Et8W0Ey7IIIEB8N+BrgPhuQHwunVMB4tuOm/g2sg1LfI+vjKpzLKPW0YyRFMsigMDaCGTz2MmdSxJ6vyKu04sqtCQjjVySp775Se2Zn9T8dEQbxdNrs5Wany3NSHcsydOXlVHFI/Ku8deCZL2s3dCLEN8NPQGunysB4ttOmvg2sg1KfLt/1EZXYzB0cZ4OLkhqw3r6h7IRN8si0GgFsonvAfMLdFmzCq0bS+v6xXnaNJHWX/KTerEsLpfGB9VTII9cktDCTESnNanQgkxEFyzK11lFFdokBH8fIb4b7f/UGt3BiW+7kRPfRrZ1ie9ny+J6pTyu5pGM9s5P6emyuEY0L/N26P7/dyvich9utXk8peObVCou6YT5BTqmMKmPK2OamYpoj/ykDln6D9CxlTE9VOr+oRpR+2hag5pUqmU04/2D9udUVD+lItoqkdaRhZW6b0lCn1bG5O5vbxpP69SiCr1QFtfjpQm1imZ0bJNKbZeo2tPK9mHEyLIIILAGgdrG93WL87z/jXeMZdQjltYnlTE1iWS8/72PrYwqFpF2z0tpx7yU/lOS0BaJtCYmo1qciWhgkwrv7xu/pqPaNJ7SyU0qvV29WxHTU2UJpTJSm2hGfy+q8P4t2WeVMXWNpdV26b8xc3+I3yaR0h75wf9sbOKb/0k2FgHi227SxLeRbbbxPS0V0ZBF+bqxuFxNoxm5f1BOS0V1a/My7x+YD5cmdFWzchVEMrph6R2rfvlJnTi/wAv1oworNTcd0WkLCnRvi1KVZiI6c2G+Ll96l8uF9LfJqM5rWqFR5XE9WRrX1cXlar/0H5QPlSY0rFmZXN3/a2G+d7fb/UP47IX5OrVJpXfne3X7MGJkWQQQqKf4dsscP79Aw4vLvUAetjhP2+eltEteSu5Otfs1d+d7Siqq87y/d5SrZzytm0vyNCUV0bXNyr0/nJ+0oFD/Li5TIiINXFCgG4vLvL+P3L4k4d0cGLg0zKu37R5BOWNhgS5pWu49whb0L+I76BNk/7UVIL5rK5X99xHf2ZvV6ieyje/Xy+Pe85Eujt3XhxUxPVKa8OJ7REmeOsXSNf9K2N3Rfr4srkublXvxfVGzCq0fq3pW090JH1Zc7t2x+qAipguXrleWcb9XqIdbluq18rg+r4zW/J77x2F5RipY+t+McP8QdXes3B30ZeN7dfuoFQrfhAAC9S5Q2zvf2cT3pYvydHeLqn/r9mhpQosy0v8tjerTFxTo7KZVf89xYV249O8b7u83b1fEdVHT8pozVmSk60vy1COe1mH19EhLvQNmuSDxnSUY3x5YAeLbbnTEt5FttvHtHueYmY5qUJOq+P4uGdUtJXlefF+zOE//S0Zr4thltns0ZWhxVXy7O9gdlv7r3eq//qQipsfLEiqO/H6nyb3B6qbicu8RFbf+GUVV13LPZj6wJKGp6Yh352pWOuI9B3roCvG9un0YMbIsAgisQcAivq9dnFfzyJt79Mxl+HGFVY+auLvY7vGSDWJp77G0L5NV7xopSUe8R08ublYV3yWZiNw6m8XTOmLpz4ZhmMR3GKbIGWojQHzXRqlu30N8181tjT+VbXy7Z70nJKM6Z2kQf1RR9aiJi+/bluR5b5DaN/+PnxawqvielIzq44qY/rH0zveyG3bXcr/v/gHqvtyd7mQmokFFFd6bL9312kXTf4jv1e1jjSB8AwIImAg0VHz/morombK492hbUSSj9ypieqc87sV3ZUa6fHG++uSl5B6PC9MX8R2maXKW1QkQ33avD+LbyDbb+J6cjHp3uG9qXu69CerqxfneGyhdfLs3Lz1RWvWYiftXvG+UxxWPZLRbXmqVd74LJe+RkSuLy9UxmpFb3/3D8cQmld6bOpeN7xtK8rRhLK39C5L6KRX1njffIS+lYworvWc/3Rs6t0ikVrsPI0aWRQCBNQjUR3zfuyThPcPt/jfvnvmuzZ1v92/j3KNy5zet8O5yu/eiuDvkVzcr1xNlce+jC6sfVQnTEInvME2TsxDfDfMaIL6N3LONb7eN+0sT3nPa7nlr9yYo9+kCtyzzaSfvVMS9TxVwz3//beknl6zqzrd7DKX6007KMxEVRjI6qUml9zm+K8Z39SMu7vN43acgbJOX0oiShAYXVXqfiPJ8WcJ7Q6cTpW1/AAAgAElEQVR7FMU9HrOyfRgxsiwCCOQgvt3n+V9fkq8/JVLem61rE9/u71Pu+xanI96bNY8urNSwkjztkZfy/qA/Lx1Z7mNM/5yf1AkrvBkziMMlvoM4NfZcFwHufNdFrXY/Q3zXzinr76pLfLuns5e+d8l7BOXB0oSuWfr8ZNYb4AcQQKBRCGRz57tRgBgfkvg2BmZ53wgQ33ajIL6NbLONb/emx8ELCryPE+wSS3ufcOLuVg8IwZ0iI2KWRQABScR3bl8GxHduvblawwkQ33b2xLeRbbbx7bbhnuV2j3W4TzNxnyQwqKhSzZb5tBKjrbIsAggEWID4zu3wiO/cenO1hhMgvu3siW8j27rEt9FWWBYBBEIsQHzndrjEd269uVrDCRDfdvbEt5Et8W0Ey7IIILCcAPGd2xcE8Z1bb67WcALEt5098W1kS3wbwbIsAggQ3w34GiC+GxCfS+dUgPi24ya+jWyJbyNYlkUAAeK7AV8DxHcD4nPpnAoQ33bcxLeRLfFtBMuyCCBAfDfga4D4bkB8Lp1TAeLbjpv4NrIlvo1gWRYBBIjvBnwNEN8NiM+lcypAfNtxE99GttnEd8FhJxrtgmWDJpD85kslJ4wN2rbZbwMK1OYNl+57oi1bN+Aug3vpsifuXm7zxHdwZ8nOsxMgvrPzyua7ie9stLL43mzj+4f8E7JYnW8No0DHDUuUeOxC4juMwzU8U23j+6n9++oHVRjuJHxL/7Plxio7ri/xHb7RcqJaCBDftUCq47cQ33WEW9OP1SW+v3k+taZl+f0QC+x5bhnxHeL5Wh0tm/g+bvqHVtsI3bqt4vma1vMI4jt0k+VAtRUgvmsrlf33Ed/Zm9XqJ4jvWjHxTcsIEN+8HOoiQHzXRW3NP0N8r9mI7wi3APFtN1/i28iW+DaCDfGyxHeIh2t4NOLbBpf4tnFl1eAIEN92syK+jWyJbyPYEC9LfId4uIZHI75tcIlvG1dWDY4A8W03K+LbyDYo8X3PL4fp8E63qSjWxkiCZWsrQHzXVorvW1YgqPG9xb0faWbvdfTrluv6cqDEty/HwqZyKEB822ET30a2xLcRbIiXJb5DPFzDowUxviOZjGJlSaUTUaXjMUOdui9NfNfdjp8MhwDxbTdH4tvItj7j+8sFj2vC4pdUGG2ujZv9RV8seExHd75XUkYfzbtTPy35WFJaHQt6adfWZyiqmMYtfEoTF41SRmkVxlpqjzbnqTjeQb+Ufq4P596mSCSqHkW7a9zCp2vufE8p/URj5t2rtJJqFu+g3VqfqXgkX/dPPUb9O9+nglhzT+vDubcrHsnTdi0HGOk1zmWJ78Y597U9dX3Ed7uvp6n7q98oVp7U3G5tNfHQrZSOR9X+q2na4I2JiqTSKm9WoG8P2VLlTQu0y1Uv64N/7aOKonxv+z1fGKdUPKbJ+2ymDV8ar7bf/CoX2PM2aKtvDt1KmWhEve8brZIOxer4+c/65tA/qcvo72vufHccO0Xrv/WtIumMyloUasIR26iseaHW/XCymv66UNFkSoVzShRJpzW+//Yqa9lE8dJKbfz0WDWfMlep/Li+27+35vZo551ho+e+9H49E43qlx27aep262fNTHxnTcYPhEyA+LYbKPFtZFtf8T2v8hc9N+NcHd7pvyqINtOrs6/Q/MqpOqrzSP1cOkZj5t2jQzv+W1JEz8w4U1sUH651CrfUo9NO1jGd71MiWqjvFr+uZKZcmzTrp4emHq9dW5+pLoV/0jeLXtIHc0fomHXuU0QxPTZ9oA7scL1aJbpq/MKnNaP8G/257RC9POsidWuyi3o23dvTenjaCd6vt8nrbqTXOJclvhvn3Nf21Gsb3/kLy7TdzW/q08G7e8Hb+4HRmt+1tWZs0UXb3/ymPhm8u5a0bqrOn/yozp/+pE9O211b3v2hZvZaR9O37uptf6ehr2hc/+1VsLBU3UdN0Ji/7+79PWnb/7ytH3fr6UV2rwc/Vt7ico09aSelEzFVP3byW88O2vnqURp99l4qbVWkjZ/+wv2oJh68pbp89L0X/6PP2ksVzQq08TNfqKJJnr7vu6l6Pj9OmUhEk/bvpeJf5mmruz/Qexf2U/dXJihRUqEJh2+tRGmFtr3lLY0/ro8Wday6eVDbL+K7tlJ8X1gFiG+7yRLfRrb1Fd/fLHpZU8vGerHrviaXvKtP59/vxbe7812ZKVMiUuj93ntzblGzeDttXnywHph6jLZrMUAbFO2kgmix9/vzK3/RMzPO1oAuT3h/ncpU6K4pB6n/OvdrWtk4TS55R/3aXeH9XmWmVPdOOVwnd33Oi/efSz9R37YX6beKyXp99jVLr2+E10iXJb4b6eDX8thrG9/uTnS7CdM17rg+3k5ilSkvajt8McX79S9P2MH7dXf3eY8hz+mdS/dXu6+mqe23MzTu2O3VbNp89Xp4jD48r6/7W5JilUml8uLez7iQdnepf9y9p3o9OEYL12mhn3br6f3ess98u7vV7u61++ow7hd1+uxnL9JdfLeaPKtmb10+/F7F0+Z5Yb3j0Fc0/tjttahTC+/nEqWVqixMaMdhr+rro7bRgi6tvF/v8fJX3n5+2GvjrKSJ76y4+OYQChDfdkMlvo1s6yu+3SMmC5MzvMdJ3NfM8ol667frvfgtSy3Q6Pkjvah2X4uSM7VZs/21VfOj9FvF9/piweNeuLfN21C7tj5dS1Lz9OZvQ5c+slJ18JFTDtaRne/0ov6z+Q+pMFYV6u6rPF2iIzrdoWgkpkemnaTj1nlIYxc85j3Ksm2L443kGu+yxHfjnf3anHxt47vre5PUdMZCL2iX/Vrv7e9UNHvRcr+++0XPacyZe6qyMM+L3PeG9NP6b38npTPe3ei8knL1ePlrFc1aqIwiKpxXol926KYf99jIi+85G7bXtG3X8y5THd/uDru7u9160kzv193jJGUtmmjsyVXx3fyXufr6iG2831v2r91ePj6r6m75sl+7X/y8kgUJZWIR75ejybRm9FrHu0OezRfxnY0W3xtGAeLbbqrEt5FtfcX3hEUvanrZeO3d9gJvp9+XvKdP5t/nxbe7051SpfdsdkRRvTvnZu/Ot4vv6q90JqnPFzysORU/aruWJ+rZZe58u7vbd0851Lvz7a7xw5IP1LftxSsVeXHmhepVfKD3mIt7frx13gZGco13WeK78c5+bU6+tvHt7nx3GD9VXwzY0duGu4Mcq0iq1aSZav/1tJpfd3fEXfC+fdkB3l3qre76QFN26q7uo77WhCO38R7rcHe6o6l0zXPemzw1VqXuznd1fPdsr2nbLB/f7nnw9d76Tp+duquShQl1/GKKOn4+ZY3x7e58f3X0dlrYpaW37yazF6msZZH63Pi6xh/j7ohn95jJijMgvtfmVcnPhkGA+LabIvFtZFtf8T27YpJennWJjuh0u/IiTbz/f1Fyhhffr8++Su3zN1av4kM0p+IHvTr7SnVrsrPWa9JH4xY+qT3b/EOxSJ4mlbyp70veV9+2Q/TAtGO1R+tzvWe+3ZsyXUwfs869iiqux38dpIPa36DmiU5y1520+C3t2OpUT8g9/vJL2eeaVzlFR3a600itcS9LfDfu+df19Gsb3/kLS9Vn+Bv69G+7akmbZtr8kU+0sHML7yMA+9z4hj45veqZb3fX2b0B87NTdvG22nnMj2ozaaaKZi7UR+f+2fs1d3d7QddW+nnnHmr26wL1euBjzdy8syb/ZbOqO98riW93p7v1/2bqy+N38MJ/84fGeG+a/PS03VZ759u9qTJamdbEQ7dU0+kLtNVd7+v9pc98uz8oTDxoS+8Nmj1Gfa0ZW67rnSmbL+I7Gy2+N4wCxLfdVIlvI9v6im+3vdHz7tL3Je+qabytehTtoa8WPqsjO99V8whKLBJX2/yeWr+wj96eM1y7tzlHv5Z95d3Jdm+kbBJr6T220jKxrvfJKB/Nu917Xnyjpn29qHZvsmwWb6/qTztxb850b9TcqdUgdcjf1BNyj7g8MLW/tmh+uLZpcayRWuNelvhu3POv6+nXNr7ddduPn6pur32jeHlSc7q3q/m0E/dsd7eln3biHgWZeMiWNY95uEdMdr7qZe8Z7u//vIm3/eY/z9Fmj3+mdCyqhV1aadYmHbXpk597j664u9kri2/3KErve0d7b44sb16oyftsqt73f6xpW3f13mS5qsdOXKhv/NRYtfh5jveYyXcH9NKcHu1rPu3E/br79JTZG3XQpP16KROLZkVMfGfFxTeHUID4thsq8W1kW5/xnfGenqx6ftE9HvLxvLt1SMebjHbOsg0lQHw3lHywr1sf8R1sAZvdE982rqwaHAHi225WxLeRbX3Ft7vj/PD0E3Vwh+Fqmeiqd+bcqESkiXZsdYrRzlm2oQSI74aSD/Z1iW+b+RHfNq6sGhwB4ttuVsS3kW19xbfb3sTFo7xPLnGfMtImr5v3Od3VHx9otH2WbQAB4rsB0ENwSeLbZojEt40rqwZHgPi2mxXxbWRbn/FttEWW9ZkA8e2zgQRkO8S3zaCIbxtXVg2OAPFtNyvi28iW+DaCDfGyxHeIh2t4NOLbBpf4tnFl1eAIEN92syK+jWyJbyPYEC9LfId4uIZHI75tcIlvG1dWDY4A8W03K+LbyJb4NoIN8bLEd4iHa3g04tsGl/i2cWXV4AgQ33azIr6NbIlvI9gQL0t8h3i4hkcjvm1wiW8bV1YNjgDxbTcr4tvIlvg2gg3xssR3iIdreDTi2waX+LZxZdXgCBDfdrMivo1s6yO+NzkgZrS7Py477+eMfh2Xztn1uNAfBYhvXhV1EVib+D6l7SbqmCiqy2X/8DOXTv+0XtbxyyLEt18mwT4aSoD4tpMnvo1s6yu+R22fNNrh78tuF40p8oiIb3Pp1V+A+G7gAQT08msb38MrMmpSMmetTj+3595qPeGhtVrDbz9MfPttIuwn1wLEt5048W1kW5/xfcOsCqNdVi37eIdC4ttUuHaLE9+1c+K7lheol/j+6M66sxa11tx9ryS+6y7ITyLgSwHi224sxLeRLfFtBBviZYnvEA/X8GjEtw0ud75tXFk1OALEt92siG8jW+LbCDbEyxLfIR6u4dGIbxtc4tvGlVWDI0B8282K+DayJb6NYEO8LPEd4uEaHq0+4/uDKeUqjEcUiUrzStPac/0C/Tg/qbmlaf1vTlLN8iNqXxTTrJKU/tQpz/v/xWMnhtNlaQQaToD4trMnvo1siW8j2BAvS3yHeLiGR6vP+F52mxlJsxan1Cw/qiaJyKpPQHwbTpelEWg4AeLbzp74NrI1j+9MRoqs5h+IK5yr3aiHVThlsver5R26aMaBA2q+gzdcGr0IslyW+M4SjG/3BKziu9a8xHetqfhGBIIkQHzbTYv4NrK1iO/iLz9Si8/eUbqgUDMOOlGt331Bid9mKFZeqsUb9tKc3Q5Ux6fv8k6UbFqsov99rVn9jlZ5+3W87531l6O83+s+9Az9OPgKpYqKvb8mvo1eBFkuS3xnCca3E9+GrwGe+TbEZelACBDfdmMivo1sLeK72Vdj1HLMm5py8gWKpNNq+dGrmrvTXxRJpdTjylM06ZK71OGZkapo28n7dff9Rd9P8EK9+qtg6g/q8MJ9+mnQZTW/RnwbvQiyXJb4zhKMbye+DV8DxLchLksHQoD4thsT8W1kaxXfRT984z0y4uK77auPKVayUJlY3Lsj/u1VD3jxXbJhby3adGsVTRqn5uNGa/php3qndOHeZPJXmnHoQKUKmhDfRrOv67LEd13lGvfP8diJzfyJbxtXVg2OAPFtNyvi28jWLr4nasaBJ6jpd+PU8sNX9MuJ/1R80Xz1uGqQJl77yCrju/2LD3iPorhHU1b84s630Ysgy2WJ7yzB+HbufBu+BohvQ1yWDoQA8W03JuLbyNY6vl1wd7lnqMo6dlWyuKUKpv2k0vV7Kj5/zh/ufM/doa/Wv3WISrpvVnPamf2OUXnHdb2/Jr6NXgRZLkt8ZwnGtxPfhq8B4tsQl6UDIUB8242J+DaytYhvo60S31awWa5LfGcJxrcT34avAeLbEJelAyFAfNuNifg2siW+jWBDvCzxHeLhGh6NZ75tcIlvG1dWDY4A8W03K+LbyJb4NoIN8bLEd4iHa3g04tsGl/i2cWXV4AgQ33azIr6NbIlvI9gQL0t8h3i4hkcjvm1wiW8bV1YNjgDxbTcr4tvIlvg2gg3xssR3iIdreDTi2waX+LZxZdXgCBDfdrMivo1siW8j2BAvS3yHeLiGRyO+bXCJbxtXVg2OAPFtNyvi28iW+DaCDfGyxHeIh2t4NOLbBpf4tnFl1eAIEN92syK+jWyJbyPYEC9LfId4uIZHI75tcIlvG1dWDY4A8W03K+LbyJb4NoIN8bLEd4iHa3i0eonv0SPrvsMmLTV33yvVesJDdV/Dhz9JfPtwKGwppwLEtx038W1kS3wbwYZ4WeI7xMM1PNraxveILjuv9e7mly8mvtdakQUQ8JcA8W03D+LbyJb4NoIN8bLEd4iHa3i0tYlvw20FfmnufAd+hBxgLQWI77UEXM2PE99GtsS3EWyIlyW+Qzxcw6MR3za4xLeNK6sGR4D4tpsV8W1kS3wbwYZ4WeI7xMM1PBrxbYNLfNu4smpwBIhvu1kR30a2xLcRbIiXJb5DPFzDoxHfNrjEt40rqwZHgPi2mxXxbWRLfBvBhnhZ4jvEwzU8WjbxPeDXjwx3Eq6lm8fyNK3nESo7ru9yB4s0LVbBLc/qtAsi4Towp0FgBQHi2+4lQXwb2RLfRrAhXpb4DvFwDY9W2/gu+L9zDHcRzqUrykuJ73COllPVQoD4rgVSHb+F+K4j3Jp+jPhekxC/v6IA8c1roi4CtYnvuqzLz6xcgDvfvDIaiwDxbTdp4tvIlvg2gg3xssR3iIdreDTi2xB3JUsT37n15moNJ0B829kT30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a2xLcRbIiXJb5DPFzDoxHfhrjEd25xuZqvBIhvu3EQ30a29RnfRlusWXa7aEyRR6Rfx6WtL8X6qxEgvnl51EWA+K6LWt1/JtK0WAW3PKvTLojUfRF+EoEACBDfdkMivo1s6yu+jbb3h2Xn/ZwhvnOFvYrrEN8NPICAXp74zu3giO/cenO1hhMgvu3siW8j2/qIb6OtsaxPBYhvnw7G59sivnM7IOI7t95creEEiG87e+LbyJb4NoIN8bLEd4iHa3g04tsQdyVLE9+59eZqDSdAfNvZE99GtsS3EWyIlyW+Qzxcw6MR34a4xHducbmarwSIb7txEN9GtsS3EWyIlyW+Qzxcw6MR34a4xHducbmarwSIb7txEN9GtnWJb6OtsGxABDpuWKLEYxcqOWFsQHbMNv0gQHzndgo8dpJbb67WcALEt5098W1km218G22DZQMmkPzmS+I7YDNr6O0S37mdAPGdW2+u1nACxLedPfFtZJtNfBttgWURQKARCBDfuR0y8Z1bb67WcALEt5098W1kS3wbwbIsAggsJ0B85/YFQXzn1purNZwA8W1nT3wb2RLfRrAsiwACxHcDvgaI7wbE59I5FSC+7biJbyNb4tsIlmURQID4bsDXAPHdgPhcOqcCxLcdN/FtZLu6+Da6JMsigEAjFfii05Ea+XhCu+4Q1cGt31B83rRGKpGbY0f69ddpF0RyczGugkADCRDfdvDEt5HtSuN7n6jR1eqwbIR/cNRBrX5/JJNZ/XrMqH69Q77a86NSXnw3b87/tnMxaufNFwJhFiC+7aZLfBvZriy+jS7FsggggAACCCCAQL0KEN/1yrncYsS3kS3xbQTLsggggAACCCBgLkB82xET30a2xLcRLMsigAACCCCAgLkA8W1HTHwb2RLfRrAsiwACCCCAAALmAsS3HTHxbWTr4psvBBBAAAEEEEAgiALRiLRfXx99UEQQEVexZ+I7RMPkKAgggAACCCCAAAL+FiC+/T0fdocAAggggAACCCAQIgHiO0TD5CgIIIAAAggggAAC/hYgvv09H3aHAAIIIIAAAgggECIB4jtEw+QoCCCAAAIIIIAAAv4WIL79PR92hwACCCCAAAIIIBAiAeI7RMPkKAgggAACCCCAAAL+FiC+/T0fdocAAggggAACCCAQIgHiO0TD5CgIIIAAAggggAAC/hYgvv09H3aHAAIIIIAAAgggECIB4jtEw+QoCCCAAAIIIIAAAv4WIL79PR92hwACCCCAAAIIIBAiAeI7RMPkKAgggAACCCCAAAL+FiC+/T0fdocAAggggAACCCAQIgHiO0TD5CgIIIAAAggggAAC/hYgvv09H3aHAAIIIIAAAgggECIB4jtEw+QoCCCAAAIIIIAAAv4WIL79PR92hwACCCCAAAIIIBAiAeI7RMPkKAgggAACCCCAAAL+FiC+/T0fdocAAggggAACCCAQIgHiO0TD5CgIIIAAAggggAAC/hYgvv09H3aHAAIIIIAAAgggECIB4jtEw+QoCCCAAAIIIIAAAv4WIL79PR92hwACCCCAAAIIIBAiAeI7RMPkKAgggAACCCCAAAL+FiC+/T0fdocAAggggAACCCAQIgHiO0TD5CgIIIAAAggggAAC/hYgvv09H3aHAAIIIIAAAgggECIB4jtEw+QoCCCAAAIIIIAAAv4WIL79PR92hwACCCCAAAIIIBAiAeI7RMPkKAgggAACCCCAAAL+FiC+/T0fdocAAggggAACCCAQIgHiO0TD5CgIIIAAAggggAAC/hYgvv09H3aHAAIIIIAAAgggECIB4jtEw+QoCCCAAAIIIIAAAv4WIL79PR92hwACCCCAAAIIIBAiAeI7RMPkKAgggAACCCCAAAL+FiC+/T0fdocAAggggAACCCAQIgHiO0TD5CgIIIAAAggggAAC/hYgvv09H3aHAAIIIIAAAgggECIB4jtEw+QoCCCAAAIIIIAAAv4WIL79PR92hwACCCCAAAIIIBAiAeI7RMPkKAgggAACCCCAAAL+FiC+/T0fdocAAggggAACCCAQIgHiO0TD5CgIIIAAAggggAAC/hYgvv09H3aHAAIIIIAAAgggECIB4jtEw+QoCCCAAAIIIIAAAv4WIL79PR92hwACCCCAAAIIIBAiAeI7RMPkKAgggAACCCCAAAL+FiC+/T0fdocAAggggAACCCAQIgHiO0TD5CgIIIAAAggggAAC/hYgvv09H3aHAAIIIIAAAgggECIB4jtEw+QoCCCAAAIIIIAAAv4WIL79PR92hwACCCCAAAIIIBAiAeI7RMPkKAgggAACCCCAAAL+FiC+/T0fdocAAggggAACCCAQIgHiO0TD5CgIIIAAAggggAAC/hYgvv09H3aHAAIIIIAAAgggECIB4jtEw+QoCCCAAAIIIIAAAv4WIL79PR92hwACCCCAAAIIIBAiAeI7RMPkKAgggAACCCCAAAL+FiC+/T0fdocAAggggAACCCAQIgHiO0TD5CgIIIAAAggggAAC/hYgvv09H3aHAAIIIIAAAgggECIB4jtEw+QoCCCAAAIIIIAAAv4WIL79PR92hwACCCCAAAIIIBAiAeI7RMPkKAgggAACCCCAAAL+FiC+/T0fdocAAggggAACCCAQIgHiO0TD5CgIIIAAAggggAAC/hYgvv09H3aHAAIIIIAAAgggECIB4jtEw+QoCCCAAAIIIIAAAv4WIL79PR92hwACCCCAAAIIIBAiAeI7RK3tljYAAAEGSURBVMPkKAgggAACCCCAAAL+FiC+/T0fdocAAggggAACCCAQIgHiO0TD5CgIIIAAAggggAAC/hYgvv09H3aHAAIIIIAAAgggECIB4jtEw+QoCCCAAAIIIIAAAv4WIL79PR92hwACCCCAAAIIIBAiAeI7RMPkKAgggAACCCCAAAL+FiC+/T0fdocAAggggAACCCAQIgHiO0TD5CgIIIAAAggggAAC/hYgvv09H3aHAAIIIIAAAgggECIB4jtEw+QoCCCAAAIIIIAAAv4WIL79PR92hwACCCCAAAIIIBAiAeI7RMPkKAgggAACCCCAAAL+FiC+/T0fdocAAggggAACCCAQIoH/B/v8IgO/C/w6AAAAAElFTkSuQmCC",
"text/html": [
"<div> <div id=\"759e27e4-2463-4adb-bac3-407f3dc33a7c\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div> <script type=\"text/javascript\"> require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"759e27e4-2463-4adb-bac3-407f3dc33a7c\")) { Plotly.newPlot( \"759e27e4-2463-4adb-bac3-407f3dc33a7c\", [{\"domain\":{\"x\":[0.0,1.0],\"y\":[0.0,1.0]},\"hovertemplate\":\"function=%{label}<br>time_sum=%{value}<br>parent=%{parent}<extra></extra>\",\"labels\":[\"Py_kgeneration\",\"generate\",\"fftma2\",\"covariance\",\"gasdev\",\"fourt\",\"cov_value\",\"ran2\",\"build_real\",\"prebuild_gwn\",\"clean_real\",\"cgrid\",\"length\",\"maxfactor\"],\"marker\":{\"colors\":[\"#636efa\",\"#EF553B\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#00cc96\",\"#FFA15A\",\"#19d3f3\",\"#636efa\",\"#00cc96\",\"#636efa\",\"#636efa\",\"#636efa\",\"#636efa\"]},\"name\":\"\",\"parents\":[\"\",\"Py_kgeneration\",\"Py_kgeneration\",\"fftma2\",\"generate\",\"fftma2\",\"covariance\",\"gasdev\",\"\",\"fftma2\",\"\",\"\",\"\",\"\"],\"values\":[173.93129,137.192987,36.737828,36.638978,101.71883800005251,0.09082599999999999,15.471843000005594,31.86060899999753,0.00317,0.001027,0.000707,0.001641,0.001153,0.000372],\"type\":\"treemap\"}], {\"template\":{\"data\":{\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"choropleth\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"choropleth\"}],\"contour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"contour\"}],\"contourcarpet\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"contourcarpet\"}],\"heatmap\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmap\"}],\"heatmapgl\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmapgl\"}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"histogram2d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2d\"}],\"histogram2dcontour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2dcontour\"}],\"mesh3d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"mesh3d\"}],\"parcoords\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"parcoords\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}],\"scatter\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter\"}],\"scatter3d\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter3d\"}],\"scattercarpet\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattercarpet\"}],\"scattergeo\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergeo\"}],\"scattergl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergl\"}],\"scattermapbox\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattermapbox\"}],\"scatterpolar\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolar\"}],\"scatterpolargl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolargl\"}],\"scatterternary\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterternary\"}],\"surface\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"surface\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}]},\"layout\":{\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"autotypenumbers\":\"strict\",\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]],\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]},\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"geo\":{\"bgcolor\":\"white\",\"lakecolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"showlakes\":true,\"showland\":true,\"subunitcolor\":\"white\"},\"hoverlabel\":{\"align\":\"left\"},\"hovermode\":\"closest\",\"mapbox\":{\"style\":\"light\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"ternary\":{\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"title\":{\"x\":0.05},\"xaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2},\"yaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2}}},\"legend\":{\"tracegroupgap\":0},\"title\":{\"text\":\"Time treemap\"}}, {\"responsive\": true} ).then(function(){\n",
" \n",
"var gd = document.getElementById('759e27e4-2463-4adb-bac3-407f3dc33a7c');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" }) }; }); </script> </div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_treemap(df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## N = 128"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Executing file log_128-aa\n",
"Executing file log_128-ab\n",
"Executing file log_128-ac\n",
"Executing file log_128-ad\n",
"Executing file log_128-ae\n",
"Executing file log_128-af\n",
"Executing file log_128-ag\n",
"Executing file log_128-ah\n",
"Executing file log_128-ai\n",
"Executing file log_128-aj\n"
]
}
],
"source": [
"df = analyze(['log_128-aa', 'log_128-ab', 'log_128-ac', 'log_128-ad', 'log_128-ae', 'log_128-af', 'log_128-ag', 'log_128-ah', 'log_128-ai', 'log_128-aj', 'log_128-ak'])\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"plot_analysis(df)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"plot_treemap(df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## N = 256"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Executing file number 1 out of 10\n",
"Executing file number 2 out of 10\n",
"Executing file number 3 out of 10\n",
"Executing file number 4 out of 10\n",
"Executing file number 5 out of 10\n",
"Executing file number 6 out of 10\n",
"Executing file number 7 out of 10\n",
"Executing file number 8 out of 10\n",
"Executing file number 9 out of 10\n",
"Executing file number 10 out of 10\n"
]
}
],
"source": [
"df = analyze(['log_256-aa', 'log_256-ab', 'log_256-ac'])\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 96,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead tr th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe thead tr:last-of-type th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr>\n",
" <th></th>\n",
" <th colspan=\"3\" halign=\"left\">memory</th>\n",
" <th colspan=\"5\" halign=\"left\">time</th>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <th>max</th>\n",
" <th>median</th>\n",
" <th>min</th>\n",
" <th>count</th>\n",
" <th>max</th>\n",
" <th>mean</th>\n",
" <th>min</th>\n",
" <th>sum</th>\n",
" </tr>\n",
" <tr>\n",
" <th>function</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Py_kgeneration</th>\n",
" <td>7421.6</td>\n",
" <td>7421.6</td>\n",
" <td>7421.6</td>\n",
" <td>1.0</td>\n",
" <td>1226.822575</td>\n",
" <td>1226.822575</td>\n",
" <td>1226.822575</td>\n",
" <td>1226.822575</td>\n",
" </tr>\n",
" <tr>\n",
" <th>generate</th>\n",
" <td>6691.7</td>\n",
" <td>6691.7</td>\n",
" <td>6691.7</td>\n",
" <td>1.0</td>\n",
" <td>959.799368</td>\n",
" <td>959.799368</td>\n",
" <td>959.799368</td>\n",
" <td>959.799368</td>\n",
" </tr>\n",
" <tr>\n",
" <th>fftma2</th>\n",
" <td>872.0</td>\n",
" <td>872.0</td>\n",
" <td>872.0</td>\n",
" <td>1.0</td>\n",
" <td>267.021516</td>\n",
" <td>267.021516</td>\n",
" <td>267.021516</td>\n",
" <td>267.021516</td>\n",
" </tr>\n",
" <tr>\n",
" <th>covariance</th>\n",
" <td>870.5</td>\n",
" <td>870.5</td>\n",
" <td>870.5</td>\n",
" <td>1.0</td>\n",
" <td>247.512194</td>\n",
" <td>247.512194</td>\n",
" <td>247.512194</td>\n",
" <td>247.512194</td>\n",
" </tr>\n",
" <tr>\n",
" <th>gasdev</th>\n",
" <td>8.7</td>\n",
" <td>0.0</td>\n",
" <td>-13.5</td>\n",
" <td>16777216.0</td>\n",
" <td>0.001358</td>\n",
" <td>0.000033</td>\n",
" <td>0.000000</td>\n",
" <td>564.182445</td>\n",
" </tr>\n",
" <tr>\n",
" <th>fourt</th>\n",
" <td>11.5</td>\n",
" <td>-1.4</td>\n",
" <td>-16.2</td>\n",
" <td>3.0</td>\n",
" <td>8.429829</td>\n",
" <td>6.378454</td>\n",
" <td>5.015006</td>\n",
" <td>19.135362</td>\n",
" </tr>\n",
" <tr>\n",
" <th>cov_value</th>\n",
" <td>0.7</td>\n",
" <td>0.0</td>\n",
" <td>-13.9</td>\n",
" <td>8855600.0</td>\n",
" <td>0.000437</td>\n",
" <td>0.000002</td>\n",
" <td>0.000001</td>\n",
" <td>21.579349</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ran2</th>\n",
" <td>0.9</td>\n",
" <td>0.0</td>\n",
" <td>-0.8</td>\n",
" <td>21359556.0</td>\n",
" <td>0.000381</td>\n",
" <td>0.000002</td>\n",
" <td>0.000000</td>\n",
" <td>45.002553</td>\n",
" </tr>\n",
" <tr>\n",
" <th>build_real</th>\n",
" <td>-0.2</td>\n",
" <td>-0.2</td>\n",
" <td>-0.2</td>\n",
" <td>1.0</td>\n",
" <td>0.151968</td>\n",
" <td>0.151968</td>\n",
" <td>0.151968</td>\n",
" <td>0.151968</td>\n",
" </tr>\n",
" <tr>\n",
" <th>prebuild_gwn</th>\n",
" <td>6.5</td>\n",
" <td>6.5</td>\n",
" <td>6.5</td>\n",
" <td>1.0</td>\n",
" <td>0.108160</td>\n",
" <td>0.108160</td>\n",
" <td>0.108160</td>\n",
" <td>0.108160</td>\n",
" </tr>\n",
" <tr>\n",
" <th>clean_real</th>\n",
" <td>127.2</td>\n",
" <td>127.2</td>\n",
" <td>127.2</td>\n",
" <td>1.0</td>\n",
" <td>0.095267</td>\n",
" <td>0.095267</td>\n",
" <td>0.095267</td>\n",
" <td>0.095267</td>\n",
" </tr>\n",
" <tr>\n",
" <th>cgrid</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.000160</td>\n",
" <td>0.000160</td>\n",
" <td>0.000160</td>\n",
" <td>0.000160</td>\n",
" </tr>\n",
" <tr>\n",
" <th>length</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>3.0</td>\n",
" <td>0.000043</td>\n",
" <td>0.000034</td>\n",
" <td>0.000021</td>\n",
" <td>0.000102</td>\n",
" </tr>\n",
" <tr>\n",
" <th>maxfactor</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>5.0</td>\n",
" <td>0.000002</td>\n",
" <td>0.000002</td>\n",
" <td>0.000001</td>\n",
" <td>0.000008</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" memory time \\\n",
" max median min count max mean \n",
"function \n",
"Py_kgeneration 7421.6 7421.6 7421.6 1.0 1226.822575 1226.822575 \n",
"generate 6691.7 6691.7 6691.7 1.0 959.799368 959.799368 \n",
"fftma2 872.0 872.0 872.0 1.0 267.021516 267.021516 \n",
"covariance 870.5 870.5 870.5 1.0 247.512194 247.512194 \n",
"gasdev 8.7 0.0 -13.5 16777216.0 0.001358 0.000033 \n",
"fourt 11.5 -1.4 -16.2 3.0 8.429829 6.378454 \n",
"cov_value 0.7 0.0 -13.9 8855600.0 0.000437 0.000002 \n",
"ran2 0.9 0.0 -0.8 21359556.0 0.000381 0.000002 \n",
"build_real -0.2 -0.2 -0.2 1.0 0.151968 0.151968 \n",
"prebuild_gwn 6.5 6.5 6.5 1.0 0.108160 0.108160 \n",
"clean_real 127.2 127.2 127.2 1.0 0.095267 0.095267 \n",
"cgrid 0.0 0.0 0.0 1.0 0.000160 0.000160 \n",
"length 0.0 0.0 0.0 3.0 0.000043 0.000034 \n",
"maxfactor 0.0 0.0 0.0 5.0 0.000002 0.000002 \n",
"\n",
" \n",
" min sum \n",
"function \n",
"Py_kgeneration 1226.822575 1226.822575 \n",
"generate 959.799368 959.799368 \n",
"fftma2 267.021516 267.021516 \n",
"covariance 247.512194 247.512194 \n",
"gasdev 0.000000 564.182445 \n",
"fourt 5.015006 19.135362 \n",
"cov_value 0.000001 21.579349 \n",
"ran2 0.000000 45.002553 \n",
"build_real 0.151968 0.151968 \n",
"prebuild_gwn 0.108160 0.108160 \n",
"clean_real 0.095267 0.095267 \n",
"cgrid 0.000160 0.000160 \n",
"length 0.000021 0.000102 \n",
"maxfactor 0.000001 0.000008 "
]
},
"execution_count": 96,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"merge_dfs(dfs)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"plot_analysis(df)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"plot_treemap(df)"
]
}
],
"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.9"
}
},
"nbformat": 4,
"nbformat_minor": 4
}