From afdee5e8491a7ec802ad4c0897e2550cc405ac80 Mon Sep 17 00:00:00 2001 From: Neil Smith Date: Tue, 14 Jun 2022 14:53:22 +0100 Subject: [PATCH] Added profiling --- profiling/external_time_and_memory.png | Bin 0 -> 11336 bytes profiling/external_time_and_memory_linear.png | Bin 0 -> 14172 bytes profiling/external_time_and_memory_log.png | Bin 0 -> 11372 bytes profiling/imports.png | Bin 0 -> 37537 bytes profiling/internal_external_memory.png | Bin 0 -> 12221 bytes profiling/internal_external_memory_linear.png | Bin 0 -> 14485 bytes profiling/internal_external_memory_log.png | Bin 0 -> 12117 bytes profiling/internal_external_time.png | Bin 0 -> 12394 bytes profiling/internal_external_time_linear.png | Bin 0 -> 12210 bytes profiling/internal_time_and_memory.png | Bin 0 -> 12691 bytes profiling/internal_time_and_memory_linear.png | Bin 0 -> 12165 bytes profiling/internal_time_and_memory_log.png | Bin 0 -> 12840 bytes profiling/memory_combined.png | Bin 0 -> 13232 bytes profiling/modules.png | Bin 0 -> 16380 bytes profiling/packages.png | Bin 0 -> 16380 bytes profiling/performance.csv | 26 +++++++++++++++++ profiling/performance.md | 27 ++++++++++++++++++ profiling/run_times_combined.png | Bin 0 -> 14477 bytes profiling/run_times_linear.png | Bin 0 -> 10494 bytes profiling/run_times_log.png | Bin 0 -> 14648 bytes profiling/time-results.csv | 27 ++++++++++++++++++ profiling/time-results.md | 27 ++++++++++++++++++ profiling/times.csv | 25 ++++++++++++++++ profiling/times_raw.csv | 25 ++++++++++++++++ 24 files changed, 157 insertions(+) create mode 100644 profiling/external_time_and_memory.png create mode 100644 profiling/external_time_and_memory_linear.png create mode 100644 profiling/external_time_and_memory_log.png create mode 100644 profiling/imports.png create mode 100644 profiling/internal_external_memory.png create mode 100644 profiling/internal_external_memory_linear.png create mode 100644 profiling/internal_external_memory_log.png create mode 100644 profiling/internal_external_time.png create mode 100644 profiling/internal_external_time_linear.png create mode 100644 profiling/internal_time_and_memory.png create mode 100644 profiling/internal_time_and_memory_linear.png create mode 100644 profiling/internal_time_and_memory_log.png create mode 100644 profiling/memory_combined.png create mode 100644 profiling/modules.png create mode 100644 profiling/packages.png create mode 100644 profiling/performance.csv create mode 100644 profiling/performance.md create mode 100644 profiling/run_times_combined.png create mode 100644 profiling/run_times_linear.png create mode 100644 profiling/run_times_log.png create mode 100644 profiling/time-results.csv create mode 100644 profiling/time-results.md create mode 100644 profiling/times.csv create mode 100644 profiling/times_raw.csv diff --git a/profiling/external_time_and_memory.png b/profiling/external_time_and_memory.png new file mode 100644 index 0000000000000000000000000000000000000000..7f44a073db1496bf0290cc56402ea4a71c1bccb7 GIT binary patch literal 11336 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 CHG2>M literal 0 HcmV?d00001 diff --git a/profiling/external_time_and_memory_linear.png b/profiling/external_time_and_memory_linear.png new file mode 100644 index 0000000000000000000000000000000000000000..52e07c2bf76f438368747a40a08377b424ec985c GIT binary patch literal 14172 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%0D4^# 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 BMeqOs literal 0 HcmV?d00001 diff --git a/profiling/internal_external_memory_linear.png b/profiling/internal_external_memory_linear.png new file mode 100644 index 0000000000000000000000000000000000000000..c59f7fa600f0dd1a50a4777b0b44acd0121955b0 GIT binary patch literal 14485 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 z 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 Xm{5V)5CmTlL};GV#uxlx@#FshFvMmf literal 0 HcmV?d00001 diff --git a/profiling/internal_external_memory_log.png b/profiling/internal_external_memory_log.png new file mode 100644 index 0000000000000000000000000000000000000000..f63c7b3bba5008f234125dd38b4969c1164c941f GIT binary patch literal 12117 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 literal 0 HcmV?d00001 diff --git a/profiling/internal_external_time.png b/profiling/internal_external_time.png new file mode 100644 index 0000000000000000000000000000000000000000..c16cb188f3e89d1850c3ac1364f06a7815137f1d GIT binary patch literal 12394 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 literal 0 HcmV?d00001 diff --git a/profiling/internal_external_time_linear.png b/profiling/internal_external_time_linear.png new file mode 100644 index 0000000000000000000000000000000000000000..8ec00fded8bda960f8bad4f9827d623ed165f1ee GIT binary patch literal 12210 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 literal 0 HcmV?d00001 diff --git a/profiling/internal_time_and_memory.png b/profiling/internal_time_and_memory.png new file mode 100644 index 0000000000000000000000000000000000000000..376f60d8f1533d5d92628161209e704cdb9bbb89 GIT binary patch literal 12691 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 literal 0 HcmV?d00001 diff --git a/profiling/internal_time_and_memory_linear.png b/profiling/internal_time_and_memory_linear.png new file mode 100644 index 0000000000000000000000000000000000000000..a3a18513e097697e4416dec81f5a9e63b6bf32e0 GIT binary patch literal 12165 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 azQmY$9ewht4tx?1(bm*O=bX2`_kRGvUNQav literal 0 HcmV?d00001 diff --git a/profiling/internal_time_and_memory_log.png b/profiling/internal_time_and_memory_log.png new file mode 100644 index 0000000000000000000000000000000000000000..835f207f04ebe411ace5e3606f4d1618de150686 GIT binary patch literal 12840 zcmd6OXIPWj7H%LEm1b;6cLG+VMnI6FLjbX$Qbg%Rg7gyUB|(lDrD+5qO7oyXK$?J* zP~sRtA%IGi8bN|m1CbJGcPHwMbLM!@bN}5RdBXE$*R|Jr*Sp^RapSCskE^U6(8V9^ z=Hrb}Jfx_4aM$H4SA5Z0N=jaTHc<5OcU6*)9=-qu+30)xA{qh_*vkHJLGGpPgg{i1 zjgiO9gVUx4LMm+n(r1>d5z^>_a3*~Vvf+g?va zpOb0RyjqOT_wH2cs4F~&dqql61DXMD{W3Oa0R{QtkheI%s?He14% zvA&91syBT4`1WR)7|h2rNDAKzmM`uID^Z6JnvJ0)+>cuAhquPzd@K@O=pP6n#w2(A z!w*ln@S(?%NxinwRxjGDdUe&0nhF?DjA4Er$TTU~8AD1De3;SXY|lN&nXG7in*r;@a2aaG6Gw7~BO(n6rEv#sz633QM%G zTd&5YUN9OcjjHEedurNen>>3OaXxu5&>ESx6?Vpe5)GS8Xj;;T&0e0Leu~>^#?o2Y z1DC#m6OeVv5ieTLf%%yspCsZMWrzD3E_3+_^ zrZC$ruo3wp772Gj8Wv`ugR#zRV

OYcr43BN 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 literal 0 HcmV?d00001 diff --git a/profiling/run_times_log.png b/profiling/run_times_log.png new file mode 100644 index 0000000000000000000000000000000000000000..2098debecd5f00f01fff7a175ca192564b4bc0a3 GIT binary patch literal 14648 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 literal 0 HcmV?d00001 diff --git a/profiling/time-results.csv b/profiling/time-results.csv new file mode 100644 index 0000000..04e90b6 --- /dev/null +++ b/profiling/time-results.csv @@ -0,0 +1,27 @@ +Program,Elapsed time (s),Max memory +advent01, 00.39, 72440 +advent02, 00.41, 72440 +advent03, 00.37, 72504 +advent04, 00.43, 72504 +advent05, 00.43, 72440 +advent06, 00.41, 72504 +advent07, 00.39, 72444 +advent08, 00.44, 72508 +advent09, 00.66, 72508 +advent10, 00.36, 72444 +advent11, 16.75, 72504 +advent12, 00.38, 72508 +advent13, 00.36, 72436 +advent14, 00.61, 72508 +advent15, 02.15, 240372 +advent15loop, 01.88, 240444 +advent16, 00.38, 72444 +advent17, 01.77, 72444 +advent18, 00.39, 72444 +advent19, 00.46, 72504 +advent20, 04.12, 72436 +advent21, 00.39, 72508 +advent22, 02.02, 72500 +advent23, 01.91, 95500 +advent24, 03.48, 72504 +advent25, 00.41, 72504 diff --git a/profiling/time-results.md b/profiling/time-results.md new file mode 100644 index 0000000..70c50c0 --- /dev/null +++ b/profiling/time-results.md @@ -0,0 +1,27 @@ +| Program | Elapsed time (mm:ss) | Max memory | +| advent01 | 0:00.39 | 72440 | +| advent02 | 0:00.41 | 72440 | +| advent03 | 0:00.37 | 72504 | +| advent04 | 0:00.43 | 72504 | +| advent05 | 0:00.43 | 72440 | +| advent06 | 0:00.41 | 72504 | +| advent07 | 0:00.39 | 72444 | +| advent08 | 0:00.44 | 72508 | +| advent09 | 0:00.66 | 72508 | +| advent10 | 0:00.36 | 72444 | +| advent11 | 0:16.75 | 72504 | +| advent12 | 0:00.38 | 72508 | +| advent13 | 0:00.36 | 72436 | +| advent14 | 0:00.61 | 72508 | +| advent15 | 0:02.15 | 240372 | +| advent15loop | 0:01.88 | 240444 | +| advent16 | 0:00.38 | 72444 | +| advent17 | 0:01.77 | 72444 | +| advent18 | 0:00.39 | 72444 | +| advent19 | 0:00.46 | 72504 | +| advent20 | 0:04.12 | 72436 | +| advent21 | 0:00.39 | 72508 | +| advent22 | 0:02.02 | 72500 | +| advent23 | 0:01.91 | 95500 | +| advent24 | 0:03.48 | 72504 | +| advent25 | 0:00.41 | 72504 | diff --git a/profiling/times.csv b/profiling/times.csv new file mode 100644 index 0000000..57cd0b7 --- /dev/null +++ b/profiling/times.csv @@ -0,0 +1,25 @@ +cabal run advent01,0.19,0:02.61,295056 +cabal run advent02,0.03,0:00.30,78584 +cabal run advent03,0.02,0:00.29,78584 +cabal run advent04,0.02,0:00.31,77560 +cabal run advent05,0.13,0:00.69,77568 +cabal run advent06,0.03,0:00.30,78592 +cabal run advent07,0.04,0:00.31,77560 +cabal run advent08,0.15,0:01.21,77564 +cabal run advent09,0.03,0:00.30,78588 +cabal run advent10,0.03,0:00.29,78584 +cabal run advent11,0.03,0:00.31,78588 +cabal run advent12,0.19,0:01.47,77564 +cabal run advent13,0.04,0:00.29,77564 +cabal run advent14,0.02,0:00.32,77560 +cabal run advent15,0.22,0:01.70,78588 +cabal run advent16,0.04,0:00.31,77568 +cabal run advent17,0.02,0:00.30,78584 +cabal run advent18,0.09,0:00.46,78584 +cabal run advent19,0.10,0:04.08,78576 +cabal run advent20,0.29,0:02.73,207732 +cabal run advent21,0.19,0:01.36,78584 +cabal run advent22,0.11,0:01.06,78584 +cabal run advent23,2.27,0:27.17,98176 +cabal run advent24,4.12,0:28.00,78588 +cabal run advent25,0.22,0:04.57,77568 diff --git a/profiling/times_raw.csv b/profiling/times_raw.csv new file mode 100644 index 0000000..cfc98ea --- /dev/null +++ b/profiling/times_raw.csv @@ -0,0 +1,25 @@ +advent01,0.01,0:00.02,10212 +advent02,0.00,0:00.01,7876 +advent03,0.00,0:00.01,10760 +advent04,0.02,0:00.05,14236 +advent05,0.07,0:00.47,49372 +advent06,0.00,0:00.01,7948 +advent07,0.00,0:00.01,10164 +advent08,0.21,0:00.98,12252 +advent09,0.00,0:00.01,6644 +advent10,0.00,0:00.01,7456 +advent11,0.01,0:00.04,11272 +advent12,0.11,0:01.15,61132 +advent13,0.00,0:00.01,11504 +advent14,0.00,0:00.02,11020 +advent15,0.18,0:01.39,53240 +advent16,0.01,0:00.01,12128 +advent17,0.00,0:00.02,11604 +advent18,0.03,0:00.17,11812 +advent19,0.15,0:03.88,12524 +advent20,0.34,0:02.49,207144 +advent21,0.16,0:01.03,22020 +advent22,0.14,0:00.76,12508 +advent23,2.29,0:27.19,98824 +advent24,4.00,0:27.92,12432 +advent25,0.19,0:04.21,13748 -- 2.34.1