Skip to content

Commit

Permalink
improved timing
Browse files Browse the repository at this point in the history
  • Loading branch information
bkamins committed May 24, 2018
1 parent 617d063 commit 9ab6cc5
Showing 1 changed file with 75 additions and 71 deletions.
146 changes: 75 additions & 71 deletions 09_reshaping.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -204,15 +204,19 @@
"name": "stdout",
"output_type": "stream",
"text": [
" 0.280078 seconds (25.93 k allocations: 230.290 MiB, 32.04% gc time)\n",
" 0.232177 seconds (102.85 k allocations: 5.576 MiB)\n"
" 0.288607 seconds (25.97 k allocations: 230.395 MiB, 31.10% gc time)\n",
" 0.252100 seconds (127 allocations: 228.889 MiB, 51.72% gc time)\n",
" 0.258912 seconds (102.99 k allocations: 5.480 MiB)\n",
" 0.000139 seconds (85 allocations: 5.250 KiB)\n"
]
}
],
"source": [
"bigx = DataFrame(rand(10^6, 10)) # a test comparing creation of new DataFrame and a view\n",
"bigx[:id] = 1:10^6\n",
"@time melt(bigx, :id)\n",
"@time melt(bigx, :id)\n",
"@time meltdf(bigx, :id)\n",
"@time meltdf(bigx, :id);"
]
},
Expand All @@ -224,15 +228,15 @@
{
"data": {
"text/html": [
"<table class=\"data-frame\"><thead><tr><th></th><th>id</th><th>id2</th><th>a1</th><th>a2</th></tr></thead><tbody><tr><th>1</th><td>1</td><td>'a'</td><td>0.834752</td><td>0.593618</td></tr><tr><th>2</th><td>1</td><td>'b'</td><td>0.25992</td><td>0.937631</td></tr><tr><th>3</th><td>1</td><td>'c'</td><td>0.220984</td><td>0.279682</td></tr></tbody></table>"
"<table class=\"data-frame\"><thead><tr><th></th><th>id</th><th>id2</th><th>a1</th><th>a2</th></tr></thead><tbody><tr><th>1</th><td>1</td><td>'a'</td><td>0.458145</td><td>0.142355</td></tr><tr><th>2</th><td>1</td><td>'b'</td><td>0.799502</td><td>0.631973</td></tr><tr><th>3</th><td>1</td><td>'c'</td><td>0.665952</td><td>0.204755</td></tr></tbody></table>"
],
"text/plain": [
"3×4 DataFrames.DataFrame\n",
"│ Row │ id │ id2 │ a1 │ a2 │\n",
"├─────┼────┼─────┼──────────┼──────────┤\n",
"│ 1 │ 1 │ 'a' │ 0.834752 │ 0.593618\n",
"│ 2 │ 1 │ 'b' │ 0.25992 │ 0.937631\n",
"│ 3 │ 1 │ 'c' │ 0.220984 │ 0.279682"
"│ 1 │ 1 │ 'a' │ 0.458145 │ 0.142355\n",
"│ 2 │ 1 │ 'b' │ 0.799502 │ 0.631973\n",
"│ 3 │ 1 │ 'c' │ 0.665952 │ 0.204755"
]
},
"execution_count": 8,
Expand All @@ -252,18 +256,18 @@
{
"data": {
"text/html": [
"<table class=\"data-frame\"><thead><tr><th></th><th>variable</th><th>value</th><th>id</th><th>id2</th></tr></thead><tbody><tr><th>1</th><td>a1</td><td>0.834752</td><td>1</td><td>'a'</td></tr><tr><th>2</th><td>a1</td><td>0.25992</td><td>1</td><td>'b'</td></tr><tr><th>3</th><td>a1</td><td>0.220984</td><td>1</td><td>'c'</td></tr><tr><th>4</th><td>a2</td><td>0.593618</td><td>1</td><td>'a'</td></tr><tr><th>5</th><td>a2</td><td>0.937631</td><td>1</td><td>'b'</td></tr><tr><th>6</th><td>a2</td><td>0.279682</td><td>1</td><td>'c'</td></tr></tbody></table>"
"<table class=\"data-frame\"><thead><tr><th></th><th>variable</th><th>value</th><th>id</th><th>id2</th></tr></thead><tbody><tr><th>1</th><td>a1</td><td>0.458145</td><td>1</td><td>'a'</td></tr><tr><th>2</th><td>a1</td><td>0.799502</td><td>1</td><td>'b'</td></tr><tr><th>3</th><td>a1</td><td>0.665952</td><td>1</td><td>'c'</td></tr><tr><th>4</th><td>a2</td><td>0.142355</td><td>1</td><td>'a'</td></tr><tr><th>5</th><td>a2</td><td>0.631973</td><td>1</td><td>'b'</td></tr><tr><th>6</th><td>a2</td><td>0.204755</td><td>1</td><td>'c'</td></tr></tbody></table>"
],
"text/plain": [
"6×4 DataFrames.DataFrame\n",
"│ Row │ variable │ value │ id │ id2 │\n",
"├─────┼──────────┼──────────┼────┼─────┤\n",
"│ 1 │ a1 │ 0.834752 │ 1 │ 'a' │\n",
"│ 2 │ a1 │ 0.25992 │ 1 │ 'b' │\n",
"│ 3 │ a1 │ 0.220984 │ 1 │ 'c' │\n",
"│ 4 │ a2 │ 0.593618 │ 1 │ 'a' │\n",
"│ 5 │ a2 │ 0.937631 │ 1 │ 'b' │\n",
"│ 6 │ a2 │ 0.279682 │ 1 │ 'c' │"
"│ 1 │ a1 │ 0.458145 │ 1 │ 'a' │\n",
"│ 2 │ a1 │ 0.799502 │ 1 │ 'b' │\n",
"│ 3 │ a1 │ 0.665952 │ 1 │ 'c' │\n",
"│ 4 │ a2 │ 0.142355 │ 1 │ 'a' │\n",
"│ 5 │ a2 │ 0.631973 │ 1 │ 'b' │\n",
"│ 6 │ a2 │ 0.204755 │ 1 │ 'c' │"
]
},
"execution_count": 9,
Expand All @@ -283,18 +287,18 @@
{
"data": {
"text/html": [
"<table class=\"data-frame\"><thead><tr><th></th><th>variable</th><th>value</th></tr></thead><tbody><tr><th>1</th><td>x1</td><td>0.707032</td></tr><tr><th>2</th><td>x1</td><td>0.751828</td></tr><tr><th>3</th><td>x1</td><td>0.497165</td></tr><tr><th>4</th><td>x2</td><td>0.124856</td></tr><tr><th>5</th><td>x2</td><td>0.814676</td></tr><tr><th>6</th><td>x2</td><td>0.549471</td></tr></tbody></table>"
"<table class=\"data-frame\"><thead><tr><th></th><th>variable</th><th>value</th></tr></thead><tbody><tr><th>1</th><td>x1</td><td>0.284223</td></tr><tr><th>2</th><td>x1</td><td>0.498334</td></tr><tr><th>3</th><td>x1</td><td>0.84188</td></tr><tr><th>4</th><td>x2</td><td>0.845803</td></tr><tr><th>5</th><td>x2</td><td>0.722629</td></tr><tr><th>6</th><td>x2</td><td>0.995074</td></tr></tbody></table>"
],
"text/plain": [
"6×2 DataFrames.DataFrame\n",
"│ Row │ variable │ value │\n",
"├─────┼──────────┼──────────┤\n",
"│ 1 │ x1 │ 0.707032\n",
"│ 2 │ x1 │ 0.751828\n",
"│ 3 │ x1 │ 0.497165\n",
"│ 4 │ x2 │ 0.124856\n",
"│ 5 │ x2 │ 0.814676\n",
"│ 6 │ x2 │ 0.549471"
"│ 1 │ x1 │ 0.284223\n",
"│ 2 │ x1 │ 0.498334\n",
"│ 3 │ x1 │ 0.84188 \n",
"│ 4 │ x2 │ 0.845803\n",
"│ 5 │ x2 │ 0.722629\n",
"│ 6 │ x2 │ 0.995074"
]
},
"execution_count": 10,
Expand All @@ -314,18 +318,18 @@
{
"data": {
"text/html": [
"<table class=\"data-frame\"><thead><tr><th></th><th>variable</th><th>value</th><th>key</th></tr></thead><tbody><tr><th>1</th><td>x1</td><td>0.97703</td><td>1</td></tr><tr><th>2</th><td>x1</td><td>0.222009</td><td>1</td></tr><tr><th>3</th><td>x1</td><td>0.64424</td><td>1</td></tr><tr><th>4</th><td>x2</td><td>0.438191</td><td>1</td></tr><tr><th>5</th><td>x2</td><td>0.187739</td><td>1</td></tr><tr><th>6</th><td>x2</td><td>0.826264</td><td>1</td></tr></tbody></table>"
"<table class=\"data-frame\"><thead><tr><th></th><th>variable</th><th>value</th><th>key</th></tr></thead><tbody><tr><th>1</th><td>x1</td><td>0.876846</td><td>1</td></tr><tr><th>2</th><td>x1</td><td>0.0686333</td><td>1</td></tr><tr><th>3</th><td>x1</td><td>0.0815149</td><td>1</td></tr><tr><th>4</th><td>x2</td><td>0.984013</td><td>1</td></tr><tr><th>5</th><td>x2</td><td>0.139363</td><td>1</td></tr><tr><th>6</th><td>x2</td><td>0.859373</td><td>1</td></tr></tbody></table>"
],
"text/plain": [
"6×3 DataFrames.DataFrame\n",
"│ Row │ variable │ value │ key │\n",
"├─────┼──────────┼──────────┼─────┤\n",
"│ 1 │ x1 │ 0.97703 │ 1 │\n",
"│ 2 │ x1 │ 0.222009 │ 1 │\n",
"│ 3 │ x1 │ 0.64424 │ 1 │\n",
"│ 4 │ x2 │ 0.438191 │ 1 │\n",
"│ 5 │ x2 │ 0.187739 │ 1 │\n",
"│ 6 │ x2 │ 0.826264 │ 1 │"
"│ Row │ variable │ value │ key │\n",
"├─────┼──────────┼──────────┼─────┤\n",
"│ 1 │ x1 │ 0.876846 │ 1 │\n",
"│ 2 │ x1 │ 0.0686333 │ 1 │\n",
"│ 3 │ x1 │ 0.0815149 │ 1 │\n",
"│ 4 │ x2 │ 0.984013 │ 1 │\n",
"│ 5 │ x2 │ 0.139363 │ 1 │\n",
"│ 6 │ x2 │ 0.859373 │ 1 │"
]
},
"execution_count": 11,
Expand Down Expand Up @@ -354,15 +358,15 @@
{
"data": {
"text/html": [
"<table class=\"data-frame\"><thead><tr><th></th><th>id</th><th>id2</th><th>a1</th><th>a2</th></tr></thead><tbody><tr><th>1</th><td>1</td><td>'a'</td><td>0.088819</td><td>0.31133</td></tr><tr><th>2</th><td>1</td><td>'b'</td><td>0.437016</td><td>0.0314807</td></tr><tr><th>3</th><td>1</td><td>'c'</td><td>0.556724</td><td>0.842527</td></tr></tbody></table>"
"<table class=\"data-frame\"><thead><tr><th></th><th>id</th><th>id2</th><th>a1</th><th>a2</th></tr></thead><tbody><tr><th>1</th><td>1</td><td>'a'</td><td>0.754369</td><td>0.095943</td></tr><tr><th>2</th><td>1</td><td>'b'</td><td>0.494067</td><td>0.227082</td></tr><tr><th>3</th><td>1</td><td>'c'</td><td>0.622234</td><td>0.791082</td></tr></tbody></table>"
],
"text/plain": [
"3×4 DataFrames.DataFrame\n",
"│ Row │ id │ id2 │ a1 │ a2 \n",
"├─────┼────┼─────┼──────────┼──────────\n",
"│ 1 │ 1 │ 'a' │ 0.088819 │ 0.31133 \n",
"│ 2 │ 1 │ 'b' │ 0.437016 │ 0.0314807\n",
"│ 3 │ 1 │ 'c' │ 0.556724 │ 0.842527 "
"│ Row │ id │ id2 │ a1 │ a2 │\n",
"├─────┼────┼─────┼──────────┼──────────┤\n",
"│ 1 │ 1 │ 'a' │ 0.754369 │ 0.095943\n",
"│ 2 │ 1 │ 'b' │ 0.494067 │ 0.227082\n",
"│ 3 │ 1 │ 'c' │ 0.622234 │ 0.791082"
]
},
"execution_count": 12,
Expand All @@ -382,15 +386,15 @@
{
"data": {
"text/html": [
"<table class=\"data-frame\"><thead><tr><th></th><th>id</th><th>id2</th><th>a1</th><th>a2</th></tr></thead><tbody><tr><th>1</th><td>1</td><td>'a'</td><td>0.088819</td><td>0.31133</td></tr><tr><th>2</th><td>1</td><td>'b'</td><td>0.437016</td><td>0.0314807</td></tr><tr><th>3</th><td>1</td><td>'c'</td><td>0.556724</td><td>0.842527</td></tr></tbody></table>"
"<table class=\"data-frame\"><thead><tr><th></th><th>id</th><th>id2</th><th>a1</th><th>a2</th></tr></thead><tbody><tr><th>1</th><td>1</td><td>'a'</td><td>0.754369</td><td>0.095943</td></tr><tr><th>2</th><td>1</td><td>'b'</td><td>0.494067</td><td>0.227082</td></tr><tr><th>3</th><td>1</td><td>'c'</td><td>0.622234</td><td>0.791082</td></tr></tbody></table>"
],
"text/plain": [
"3×4 DataFrames.DataFrame\n",
"│ Row │ id │ id2 │ a1 │ a2 \n",
"├─────┼────┼─────┼──────────┼──────────\n",
"│ 1 │ 1 │ 'a' │ 0.088819 │ 0.31133 \n",
"│ 2 │ 1 │ 'b' │ 0.437016 │ 0.0314807\n",
"│ 3 │ 1 │ 'c' │ 0.556724 │ 0.842527 "
"│ Row │ id │ id2 │ a1 │ a2 │\n",
"├─────┼────┼─────┼──────────┼──────────┤\n",
"│ 1 │ 1 │ 'a' │ 0.754369 │ 0.095943\n",
"│ 2 │ 1 │ 'b' │ 0.494067 │ 0.227082\n",
"│ 3 │ 1 │ 'c' │ 0.622234 │ 0.791082"
]
},
"metadata": {},
Expand All @@ -399,18 +403,18 @@
{
"data": {
"text/html": [
"<table class=\"data-frame\"><thead><tr><th></th><th>variable</th><th>value</th><th>id</th><th>id2</th></tr></thead><tbody><tr><th>1</th><td>a1</td><td>0.088819</td><td>1</td><td>'a'</td></tr><tr><th>2</th><td>a1</td><td>0.437016</td><td>1</td><td>'b'</td></tr><tr><th>3</th><td>a1</td><td>0.556724</td><td>1</td><td>'c'</td></tr><tr><th>4</th><td>a2</td><td>0.31133</td><td>1</td><td>'a'</td></tr><tr><th>5</th><td>a2</td><td>0.0314807</td><td>1</td><td>'b'</td></tr><tr><th>6</th><td>a2</td><td>0.842527</td><td>1</td><td>'c'</td></tr></tbody></table>"
"<table class=\"data-frame\"><thead><tr><th></th><th>variable</th><th>value</th><th>id</th><th>id2</th></tr></thead><tbody><tr><th>1</th><td>a1</td><td>0.754369</td><td>1</td><td>'a'</td></tr><tr><th>2</th><td>a1</td><td>0.494067</td><td>1</td><td>'b'</td></tr><tr><th>3</th><td>a1</td><td>0.622234</td><td>1</td><td>'c'</td></tr><tr><th>4</th><td>a2</td><td>0.095943</td><td>1</td><td>'a'</td></tr><tr><th>5</th><td>a2</td><td>0.227082</td><td>1</td><td>'b'</td></tr><tr><th>6</th><td>a2</td><td>0.791082</td><td>1</td><td>'c'</td></tr></tbody></table>"
],
"text/plain": [
"6×4 DataFrames.DataFrame\n",
"│ Row │ variable │ value │ id │ id2 │\n",
"├─────┼──────────┼──────────┼────┼─────┤\n",
"│ 1 │ a1 │ 0.088819 │ 1 │ 'a' │\n",
"│ 2 │ a1 │ 0.437016 │ 1 │ 'b' │\n",
"│ 3 │ a1 │ 0.556724 │ 1 │ 'c' │\n",
"│ 4 │ a2 │ 0.31133 │ 1 │ 'a' │\n",
"│ 5 │ a2 │ 0.0314807 │ 1 │ 'b' │\n",
"│ 6 │ a2 │ 0.842527 │ 1 │ 'c' │"
"│ Row │ variable │ value │ id │ id2 │\n",
"├─────┼──────────┼──────────┼────┼─────┤\n",
"│ 1 │ a1 │ 0.754369 │ 1 │ 'a' │\n",
"│ 2 │ a1 │ 0.494067 │ 1 │ 'b' │\n",
"│ 3 │ a1 │ 0.622234 │ 1 │ 'c' │\n",
"│ 4 │ a2 │ 0.095943 │ 1 │ 'a' │\n",
"│ 5 │ a2 │ 0.227082 │ 1 │ 'b' │\n",
"│ 6 │ a2 │ 0.791082 │ 1 │ 'c' │"
]
},
"metadata": {},
Expand All @@ -431,15 +435,15 @@
{
"data": {
"text/html": [
"<table class=\"data-frame\"><thead><tr><th></th><th>id2</th><th>a1</th><th>a2</th></tr></thead><tbody><tr><th>1</th><td>'a'</td><td>0.088819</td><td>0.31133</td></tr><tr><th>2</th><td>'b'</td><td>0.437016</td><td>0.0314807</td></tr><tr><th>3</th><td>'c'</td><td>0.556724</td><td>0.842527</td></tr></tbody></table>"
"<table class=\"data-frame\"><thead><tr><th></th><th>id2</th><th>a1</th><th>a2</th></tr></thead><tbody><tr><th>1</th><td>'a'</td><td>0.754369</td><td>0.095943</td></tr><tr><th>2</th><td>'b'</td><td>0.494067</td><td>0.227082</td></tr><tr><th>3</th><td>'c'</td><td>0.622234</td><td>0.791082</td></tr></tbody></table>"
],
"text/plain": [
"3×3 DataFrames.DataFrame\n",
"│ Row │ id2 │ a1 │ a2 \n",
"├─────┼─────┼──────────┼──────────\n",
"│ 1 │ 'a' │ 0.088819 │ 0.31133 \n",
"│ 2 │ 'b' │ 0.437016 │ 0.0314807\n",
"│ 3 │ 'c' │ 0.556724 │ 0.842527 "
"│ Row │ id2 │ a1 │ a2 │\n",
"├─────┼─────┼──────────┼──────────┤\n",
"│ 1 │ 'a' │ 0.754369 │ 0.095943\n",
"│ 2 │ 'b' │ 0.494067 │ 0.227082\n",
"│ 3 │ 'c' │ 0.622234 │ 0.791082"
]
},
"execution_count": 14,
Expand All @@ -459,15 +463,15 @@
{
"data": {
"text/html": [
"<table class=\"data-frame\"><thead><tr><th></th><th>id</th><th>id2</th><th>a1</th><th>a2</th></tr></thead><tbody><tr><th>1</th><td>1</td><td>'a'</td><td>0.088819</td><td>0.31133</td></tr><tr><th>2</th><td>1</td><td>'b'</td><td>0.437016</td><td>0.0314807</td></tr><tr><th>3</th><td>1</td><td>'c'</td><td>0.556724</td><td>0.842527</td></tr></tbody></table>"
"<table class=\"data-frame\"><thead><tr><th></th><th>id</th><th>id2</th><th>a1</th><th>a2</th></tr></thead><tbody><tr><th>1</th><td>1</td><td>'a'</td><td>0.754369</td><td>0.095943</td></tr><tr><th>2</th><td>1</td><td>'b'</td><td>0.494067</td><td>0.227082</td></tr><tr><th>3</th><td>1</td><td>'c'</td><td>0.622234</td><td>0.791082</td></tr></tbody></table>"
],
"text/plain": [
"3×4 DataFrames.DataFrame\n",
"│ Row │ id │ id2 │ a1 │ a2 \n",
"├─────┼────┼─────┼──────────┼──────────\n",
"│ 1 │ 1 │ 'a' │ 0.088819 │ 0.31133 \n",
"│ 2 │ 1 │ 'b' │ 0.437016 │ 0.0314807\n",
"│ 3 │ 1 │ 'c' │ 0.556724 │ 0.842527 "
"│ Row │ id │ id2 │ a1 │ a2 │\n",
"├─────┼────┼─────┼──────────┼──────────┤\n",
"│ 1 │ 1 │ 'a' │ 0.754369 │ 0.095943\n",
"│ 2 │ 1 │ 'b' │ 0.494067 │ 0.227082\n",
"│ 3 │ 1 │ 'c' │ 0.622234 │ 0.791082"
]
},
"execution_count": 15,
Expand All @@ -494,13 +498,13 @@
{
"data": {
"text/html": [
"<table class=\"data-frame\"><thead><tr><th></th><th>id</th><th>a1</th><th>a2</th></tr></thead><tbody><tr><th>1</th><td>1</td><td>0.556724</td><td>0.842527</td></tr></tbody></table>"
"<table class=\"data-frame\"><thead><tr><th></th><th>id</th><th>a1</th><th>a2</th></tr></thead><tbody><tr><th>1</th><td>1</td><td>0.622234</td><td>0.791082</td></tr></tbody></table>"
],
"text/plain": [
"1×3 DataFrames.DataFrame\n",
"│ Row │ id │ a1 │ a2 │\n",
"├─────┼────┼──────────┼──────────┤\n",
"│ 1 │ 1 │ 0.556724 │ 0.842527"
"│ 1 │ 1 │ 0.622234 │ 0.791082"
]
},
"execution_count": 16,
Expand All @@ -521,18 +525,18 @@
{
"data": {
"text/html": [
"<table class=\"data-frame\"><thead><tr><th></th><th>variable</th><th>value</th></tr></thead><tbody><tr><th>1</th><td>x1</td><td>0.220844</td></tr><tr><th>2</th><td>x1</td><td>0.784599</td></tr><tr><th>3</th><td>x1</td><td>0.338827</td></tr><tr><th>4</th><td>x2</td><td>0.390671</td></tr><tr><th>5</th><td>x2</td><td>0.150449</td></tr><tr><th>6</th><td>x2</td><td>0.605126</td></tr></tbody></table>"
"<table class=\"data-frame\"><thead><tr><th></th><th>variable</th><th>value</th></tr></thead><tbody><tr><th>1</th><td>x1</td><td>0.678752</td></tr><tr><th>2</th><td>x1</td><td>0.929795</td></tr><tr><th>3</th><td>x1</td><td>0.884891</td></tr><tr><th>4</th><td>x2</td><td>0.925154</td></tr><tr><th>5</th><td>x2</td><td>0.474071</td></tr><tr><th>6</th><td>x2</td><td>0.731631</td></tr></tbody></table>"
],
"text/plain": [
"6×2 DataFrames.DataFrame\n",
"│ Row │ variable │ value │\n",
"├─────┼──────────┼──────────┤\n",
"│ 1 │ x1 │ 0.220844\n",
"│ 2 │ x1 │ 0.784599\n",
"│ 3 │ x1 │ 0.338827\n",
"│ 4 │ x2 │ 0.390671\n",
"│ 5 │ x2 │ 0.150449\n",
"│ 6 │ x2 │ 0.605126"
"│ 1 │ x1 │ 0.678752\n",
"│ 2 │ x1 │ 0.929795\n",
"│ 3 │ x1 │ 0.884891\n",
"│ 4 │ x2 │ 0.925154\n",
"│ 5 │ x2 │ 0.474071\n",
"│ 6 │ x2 │ 0.731631"
]
},
"execution_count": 17,
Expand Down

0 comments on commit 9ab6cc5

Please sign in to comment.