arup-group / gelato

Gelato turns MATSim outputs into transport sustainability KPI metrics
GNU General Public License v3.0
10 stars 1 forks source link

Reduce memory footprint with quick wins #53

Closed mfitz closed 8 months ago

mfitz commented 9 months ago

Summary of Changes

Summary of Results

Memory usage has been significantly reduced, down to about 20% of the previous level in the case of the TE model. Processing times are also shorter thanks to no longer parsing the plans/population files. The log output of MemoryObserver from each run is included in full below, but can be summarised thus:

MATSim Model Branch Max used RAM Max total Run Method Notes
Paris East main 27.8 GB 28.7 GB Jar file -Xmx28g; with a bigger value, these numbers would be bigger too
Paris East reduce_memory_usage 12.5 GB 17.2 GB Jar file
TE main 165.0 GB 200.0 GB Docker in AWS Batch
TE reduce_memory_usage 35.2 GB 49.5 GB Docker in AWS Batch

Before Fixes

Using Paris East Baseline Locally

time java -Xmx25g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath="/Users/mickyfitz/gelato-data/kpi-outputs/paris-east/30pct/baseline/gelato.hprof" -jar target/gelato-0.0.3-alpha-with-dependencies-9485187-dirty.jar \
-mc /Users/mickyfitz/gelato-data/paris-east/30pct/baseline/output_config.xml \
-mo /Users/mickyfitz/gelato-data/paris-east/30pct/baseline \
-o ~/gelato-data/kpi-outputs/paris-east/30pct/baseline \
> ~/gelato-data/kpi-outputs/paris-east/30pct/baseline/memory-usage-branch-max-heap-25g.log

The process died before finishing populating the (Tablesaw) Link Log:

2024-02-25T21:39:59,921  INFO TablesawKpiCalculator:422 Creating Schedule Stop Table
2024-02-25T21:39:59,932  INFO TablesawKpiCalculator:457 Creating Schedule Transit Tables
2024-02-25T21:39:59,944  INFO TablesawKpiCalculator:475 Creating Vehicle Table
2024-02-25T21:40:04,938  INFO TablesawKpiCalculator:513 Creating Link Log Table
2024-02-25T21:40:43,179  INFO MemoryObserver:42 used RAM: 23380 MB  free: 2219 MB  total: 25600 MB
2024-02-25T21:42:06,009  INFO MemoryObserver:42 used RAM: 25065 MB  free: 534 MB  total: 25600 MB
java.lang.OutOfMemoryError: Java heap space
Dumping heap to /Users/mickyfitz/gelato-data/kpi-outputs/paris-east/30pct/baseline/gelato.hprof ...
Heap dump file created [39672716296 bytes in 79.735 secs]

Heap dump analysis holds no surprises and shows the packages and classes using the most memory to be:

Screenshot 2024-02-25 at 22 52 16 Screenshot 2024-02-25 at 22 39 11 Screenshot 2024-02-25 at 23 25 56

If I give the JVM 28GB of heap space, the process finishes normally but skates close to the limit with a high watermark of 27.8 GBs:

2024-02-25T21:17:50,733  INFO MemoryObserver:42 used RAM: 26 MB  free: 517 MB  total: 544 MB
2024-02-25T21:18:50,738  INFO MemoryObserver:42 used RAM: 5207 MB  free: 11544 MB  total: 16752 MB
2024-02-25T21:19:50,744  INFO MemoryObserver:42 used RAM: 13005 MB  free: 5650 MB  total: 18656 MB
2024-02-25T21:20:50,751  INFO MemoryObserver:42 used RAM: 20591 MB  free: 8080 MB  total: 28672 MB
2024-02-25T21:21:50,765  INFO MemoryObserver:42 used RAM: 26594 MB  free: 2077 MB  total: 28672 MB
2024-02-25T21:22:50,779  INFO MemoryObserver:42 used RAM: 23761 MB  free: 4910 MB  total: 28672 MB
2024-02-25T21:23:50,791  INFO MemoryObserver:42 used RAM: 24194 MB  free: 4477 MB  total: 28672 MB
2024-02-25T21:24:50,804  INFO MemoryObserver:42 used RAM: 25105 MB  free: 3566 MB  total: 28672 MB
2024-02-25T21:25:50,818  INFO MemoryObserver:42 used RAM: 25890 MB  free: 2781 MB  total: 28672 MB
2024-02-25T21:26:50,817  INFO MemoryObserver:42 used RAM: 25571 MB  free: 3100 MB  total: 28672 MB
2024-02-25T21:27:50,830  INFO MemoryObserver:42 used RAM: 27839 MB  free: 832 MB  total: 28672 MB
2024-02-25T21:28:50,840  INFO MemoryObserver:42 used RAM: 25546 MB  free: 3125 MB  total: 28672 MB
2024-02-25T21:29:50,850  INFO MemoryObserver:42 used RAM: 26386 MB  free: 2285 MB  total: 28672 MB

Using TE Model in AWS Batch

Ran to completion using a high-water mark of around 165GB, with 200GB reserved

2024-02-23T04:26:01,182  INFO MemoryObserver:42 used RAM: 51 MB  free: 1996 MB  total: 2048 MB
2024-02-23T04:27:01,182  INFO MemoryObserver:42 used RAM: 4068 MB  free: 6459 MB  total: 10528 MB
2024-02-23T04:28:01,183  INFO MemoryObserver:42 used RAM: 7935 MB  free: 15488 MB  total: 23424 MB
2024-02-23T04:29:01,183  INFO MemoryObserver:42 used RAM: 13215 MB  free: 11488 MB  total: 24704 MB
2024-02-23T04:30:01,184  INFO MemoryObserver:42 used RAM: 19861 MB  free: 7466 MB  total: 27328 MB
2024-02-23T04:31:01,184  INFO MemoryObserver:42 used RAM: 27679 MB  free: 8000 MB  total: 35680 MB
2024-02-23T04:32:01,184  INFO MemoryObserver:42 used RAM: 32639 MB  free: 15104 MB  total: 47744 MB
2024-02-23T04:33:01,185  INFO MemoryObserver:42 used RAM: 38160 MB  free: 9583 MB  total: 47744 MB
2024-02-23T04:34:01,185  INFO MemoryObserver:42 used RAM: 44492 MB  free: 21395 MB  total: 65888 MB
2024-02-23T04:35:01,186  INFO MemoryObserver:42 used RAM: 51144 MB  free: 14743 MB  total: 65888 MB
2024-02-23T04:36:01,186  INFO MemoryObserver:42 used RAM: 57069 MB  free: 37874 MB  total: 94944 MB
2024-02-23T04:37:01,187  INFO MemoryObserver:42 used RAM: 64539 MB  free: 30404 MB  total: 94944 MB
2024-02-23T04:38:01,187  INFO MemoryObserver:42 used RAM: 69357 MB  free: 25586 MB  total: 94944 MB
2024-02-23T04:39:01,188  INFO MemoryObserver:42 used RAM: 74793 MB  free: 20150 MB  total: 94944 MB
2024-02-23T04:40:01,188  INFO MemoryObserver:42 used RAM: 83145 MB  free: 11798 MB  total: 94944 MB
2024-02-23T04:41:01,189  INFO MemoryObserver:42 used RAM: 89328 MB  free: 54511 MB  total: 143840 MB
2024-02-23T04:42:01,189  INFO MemoryObserver:42 used RAM: 93008 MB  free: 50831 MB  total: 143840 MB
2024-02-23T04:43:01,190  INFO MemoryObserver:42 used RAM: 101632 MB  free: 42208 MB  total: 143840 MB
2024-02-23T04:44:01,190  INFO MemoryObserver:42 used RAM: 109015 MB  free: 34824 MB  total: 143840 MB
2024-02-23T04:45:01,191  INFO MemoryObserver:42 used RAM: 109685 MB  free: 34154 MB  total: 143840 MB
2024-02-23T04:46:01,191  INFO MemoryObserver:42 used RAM: 107648 MB  free: 36191 MB  total: 143840 MB
2024-02-23T04:47:01,191  INFO MemoryObserver:42 used RAM: 111939 MB  free: 31900 MB  total: 143840 MB
2024-02-23T04:48:01,192  INFO MemoryObserver:42 used RAM: 115160 MB  free: 28679 MB  total: 143840 MB
2024-02-23T04:49:01,192  INFO MemoryObserver:42 used RAM: 115371 MB  free: 28468 MB  total: 143840 MB
2024-02-23T04:50:01,193  INFO MemoryObserver:42 used RAM: 114946 MB  free: 28893 MB  total: 143840 MB
2024-02-23T04:51:01,193  INFO MemoryObserver:42 used RAM: 119410 MB  free: 24429 MB  total: 143840 MB
2024-02-23T04:52:01,193  INFO MemoryObserver:42 used RAM: 124322 MB  free: 19517 MB  total: 143840 MB
2024-02-23T04:53:01,194  INFO MemoryObserver:42 used RAM: 129186 MB  free: 14653 MB  total: 143840 MB
2024-02-23T04:54:01,194  INFO MemoryObserver:42 used RAM: 116178 MB  free: 27661 MB  total: 143840 MB
2024-02-23T04:55:01,195  INFO MemoryObserver:42 used RAM: 121090 MB  free: 22749 MB  total: 143840 MB
2024-02-23T04:56:01,195  INFO MemoryObserver:42 used RAM: 125954 MB  free: 17885 MB  total: 143840 MB
2024-02-23T04:57:01,195  INFO MemoryObserver:42 used RAM: 114656 MB  free: 29183 MB  total: 143840 MB
2024-02-23T04:58:01,196  INFO MemoryObserver:42 used RAM: 119840 MB  free: 23999 MB  total: 143840 MB
2024-02-23T04:59:01,196  INFO MemoryObserver:42 used RAM: 125392 MB  free: 18447 MB  total: 143840 MB
2024-02-23T05:00:01,196  INFO MemoryObserver:42 used RAM: 114675 MB  free: 29164 MB  total: 143840 MB
2024-02-23T05:01:01,197  INFO MemoryObserver:42 used RAM: 116781 MB  free: 27058 MB  total: 143840 MB
2024-02-23T05:02:01,197  INFO MemoryObserver:42 used RAM: 123434 MB  free: 20405 MB  total: 143840 MB
2024-02-23T05:03:01,198  INFO MemoryObserver:42 used RAM: 122140 MB  free: 21699 MB  total: 143840 MB
2024-02-23T05:04:01,198  INFO MemoryObserver:42 used RAM: 129050 MB  free: 14789 MB  total: 143840 MB
2024-02-23T05:05:01,199  INFO MemoryObserver:42 used RAM: 122992 MB  free: 20847 MB  total: 143840 MB
2024-02-23T05:06:01,199  INFO MemoryObserver:42 used RAM: 125276 MB  free: 18563 MB  total: 143840 MB
2024-02-23T05:07:01,199  INFO MemoryObserver:42 used RAM: 130292 MB  free: 13547 MB  total: 143840 MB
2024-02-23T05:08:01,200  INFO MemoryObserver:42 used RAM: 128384 MB  free: 15455 MB  total: 143840 MB
2024-02-23T05:09:01,200  INFO MemoryObserver:42 used RAM: 129215 MB  free: 14624 MB  total: 143840 MB
2024-02-23T05:10:01,201  INFO MemoryObserver:42 used RAM: 131138 MB  free: 12701 MB  total: 143840 MB
2024-02-23T05:11:01,201  INFO MemoryObserver:42 used RAM: 129618 MB  free: 14221 MB  total: 143840 MB
2024-02-23T05:12:01,201  INFO MemoryObserver:42 used RAM: 133472 MB  free: 10368 MB  total: 143840 MB
2024-02-23T05:13:01,202  INFO MemoryObserver:42 used RAM: 133917 MB  free: 9922 MB  total: 143840 MB
2024-02-23T05:14:01,202  INFO MemoryObserver:42 used RAM: 109637 MB  free: 83546 MB  total: 193184 MB
2024-02-23T05:15:01,203  INFO MemoryObserver:42 used RAM: 118117 MB  free: 75066 MB  total: 193184 MB
2024-02-23T05:16:01,203  INFO MemoryObserver:42 used RAM: 116698 MB  free: 76485 MB  total: 193184 MB
2024-02-23T05:17:01,204  INFO MemoryObserver:42 used RAM: 124947 MB  free: 68236 MB  total: 193184 MB
2024-02-23T05:18:01,204  INFO MemoryObserver:42 used RAM: 117221 MB  free: 75962 MB  total: 193184 MB
2024-02-23T05:19:01,204  INFO MemoryObserver:42 used RAM: 136362 MB  free: 56821 MB  total: 193184 MB
2024-02-23T05:20:01,205  INFO MemoryObserver:42 used RAM: 145608 MB  free: 47575 MB  total: 193184 MB
2024-02-23T05:21:01,205  INFO MemoryObserver:42 used RAM: 144042 MB  free: 49141 MB  total: 193184 MB
2024-02-23T05:22:01,206  INFO MemoryObserver:42 used RAM: 121342 MB  free: 71841 MB  total: 193184 MB
2024-02-23T05:23:01,206  INFO MemoryObserver:42 used RAM: 151031 MB  free: 42152 MB  total: 193184 MB
2024-02-23T05:24:01,206  INFO MemoryObserver:42 used RAM: 122033 MB  free: 71150 MB  total: 193184 MB
2024-02-23T05:25:01,207  INFO MemoryObserver:42 used RAM: 130517 MB  free: 62666 MB  total: 193184 MB
2024-02-23T05:26:01,207  INFO MemoryObserver:42 used RAM: 166485 MB  free: 26698 MB  total: 193184 MB
2024-02-23T05:27:01,208  INFO MemoryObserver:42 used RAM: 137570 MB  free: 55613 MB  total: 193184 MB
2024-02-23T05:28:01,208  INFO MemoryObserver:42 used RAM: 133026 MB  free: 60157 MB  total: 193184 MB
Screenshot 2024-02-25 at 23 41 03

After Fixes

Using Paris East Baseline Locally

time java -Xmx25g -jar target/gelato-0.0.3-alpha-with-dependencies-fd38862.jar \
-mc /Users/mickyfitz/gelato-data/paris-east/30pct/baseline/output_config.xml \
-mo /Users/mickyfitz/gelato-data/paris-east/30pct/baseline \
-o ~/gelato-data/kpi-outputs/paris-east/30pct/baseline/memory-reduce-branch \
> ~/gelato-data/kpi-outputs/paris-east/30pct/baseline/memory-reduce-branch/memory-usage-branch-max-heap-25g.log

Ran to completion using a high-water mark of around 12.5GB, with 17.2GB reserved (previously 27.8GB and 28.7GB respectively with a max heap value of 28GBs)

grep MemoryObserver ~/gelato-data/kpi-outputs/paris-east/30pct/baseline/memory-reduce-branch/memory-usage-branch-max-heap-25g.log

2024-02-28T12:46:44,331  INFO MemoryObserver:42 used RAM: 26 MB  free: 517 MB  total: 544 MB
2024-02-28T12:47:44,337  INFO MemoryObserver:42 used RAM: 2255 MB  free: 2880 MB  total: 5136 MB
2024-02-28T12:48:44,343  INFO MemoryObserver:42 used RAM: 4143 MB  free: 992 MB  total: 5136 MB
2024-02-28T12:49:44,349  INFO MemoryObserver:42 used RAM: 6394 MB  free: 5029 MB  total: 11424 MB
2024-02-28T12:50:44,353  INFO MemoryObserver:42 used RAM: 9326 MB  free: 3793 MB  total: 13120 MB
2024-02-28T12:51:44,359  INFO MemoryObserver:42 used RAM: 7071 MB  free: 6048 MB  total: 13120 MB
2024-02-28T12:52:44,366  INFO MemoryObserver:42 used RAM: 12533 MB  free: 2618 MB  total: 15152 MB
2024-02-28T12:53:44,374  INFO MemoryObserver:42 used RAM: 6732 MB  free: 10547 MB  total: 17280 MB
2024-02-28T12:54:44,381  INFO MemoryObserver:42 used RAM: 12552 MB  free: 4727 MB  total: 17280 MB
2024-02-28T12:55:44,388  INFO MemoryObserver:42 used RAM: 9522 MB  free: 7757 MB  total: 17280 MB

Using TE Model in AWS Batch

Ran to completion using a high-water mark of around 35GB, with 49GB reserved (previously 165GB and 200GB respectively)

-------------------------------------------------------------------------------------------------------
|                                 Gelato Memory Usage, TE Model                                       |
|-----------------------------------------------------------------------------------------------------|
| 2024-02-28T02:10:03,751  INFO MemoryObserver:42 used RAM: 51 MB  free: 1868 MB  total: 1920 MB      |
| 2024-02-28T02:11:03,752  INFO MemoryObserver:42 used RAM: 3212 MB  free: 1171 MB  total: 4384 MB    |
| 2024-02-28T02:12:03,752  INFO MemoryObserver:42 used RAM: 2710 MB  free: 1673 MB  total: 4384 MB    |
| 2024-02-28T02:13:03,753  INFO MemoryObserver:42 used RAM: 3089 MB  free: 1294 MB  total: 4384 MB    |
| 2024-02-28T02:14:03,753  INFO MemoryObserver:42 used RAM: 3944 MB  free: 1303 MB  total: 5248 MB    |
| 2024-02-28T02:15:03,754  INFO MemoryObserver:42 used RAM: 2902 MB  free: 2377 MB  total: 5280 MB    |
| 2024-02-28T02:16:03,754  INFO MemoryObserver:42 used RAM: 5601 MB  free: 1086 MB  total: 6688 MB    |
| 2024-02-28T02:17:03,755  INFO MemoryObserver:42 used RAM: 4978 MB  free: 1709 MB  total: 6688 MB    |
| 2024-02-28T02:18:03,755  INFO MemoryObserver:42 used RAM: 4633 MB  free: 2054 MB  total: 6688 MB    |
| 2024-02-28T02:19:03,755  INFO MemoryObserver:42 used RAM: 6107 MB  free: 2340 MB  total: 8448 MB    |
| 2024-02-28T02:20:03,756  INFO MemoryObserver:42 used RAM: 7395 MB  free: 1052 MB  total: 8448 MB    |
| 2024-02-28T02:21:03,756  INFO MemoryObserver:42 used RAM: 5944 MB  free: 2663 MB  total: 8608 MB    |
| 2024-02-28T02:22:03,757  INFO MemoryObserver:42 used RAM: 5055 MB  free: 3552 MB  total: 8608 MB    |
| 2024-02-28T02:23:03,757  INFO MemoryObserver:42 used RAM: 6787 MB  free: 2492 MB  total: 9280 MB    |
| 2024-02-28T02:24:03,758  INFO MemoryObserver:42 used RAM: 8374 MB  free: 3145 MB  total: 11520 MB   |
| 2024-02-28T02:25:03,758  INFO MemoryObserver:42 used RAM: 8892 MB  free: 2627 MB  total: 11520 MB   |
| 2024-02-28T02:26:03,758  INFO MemoryObserver:42 used RAM: 7836 MB  free: 3683 MB  total: 11520 MB   |
| 2024-02-28T02:27:03,759  INFO MemoryObserver:42 used RAM: 8689 MB  free: 2830 MB  total: 11520 MB   |
| 2024-02-28T02:28:03,759  INFO MemoryObserver:42 used RAM: 11043 MB  free: 1500 MB  total: 12544 MB  |
| 2024-02-28T02:29:03,760  INFO MemoryObserver:42 used RAM: 9186 MB  free: 3357 MB  total: 12544 MB   |
| 2024-02-28T02:30:03,760  INFO MemoryObserver:42 used RAM: 18562 MB  free: 1245 MB  total: 19808 MB  |
| 2024-02-28T02:31:03,761  INFO MemoryObserver:42 used RAM: 16389 MB  free: 6970 MB  total: 23360 MB  |
| 2024-02-28T02:32:03,761  INFO MemoryObserver:42 used RAM: 15858 MB  free: 9325 MB  total: 25184 MB  |
| 2024-02-28T02:33:03,762  INFO MemoryObserver:42 used RAM: 19550 MB  free: 11553 MB  total: 31104 MB |
| 2024-02-28T02:34:03,762  INFO MemoryObserver:42 used RAM: 14799 MB  free: 16304 MB  total: 31104 MB |
| 2024-02-28T02:35:03,762  INFO MemoryObserver:42 used RAM: 18863 MB  free: 12240 MB  total: 31104 MB |
| 2024-02-28T02:36:03,763  INFO MemoryObserver:42 used RAM: 23775 MB  free: 7328 MB  total: 31104 MB  |
| 2024-02-28T02:37:03,763  INFO MemoryObserver:42 used RAM: 16022 MB  free: 15081 MB  total: 31104 MB |
| 2024-02-28T02:38:03,764  INFO MemoryObserver:42 used RAM: 20854 MB  free: 10249 MB  total: 31104 MB |
| 2024-02-28T02:39:03,764  INFO MemoryObserver:42 used RAM: 25766 MB  free: 5337 MB  total: 31104 MB  |
| 2024-02-28T02:40:03,764  INFO MemoryObserver:42 used RAM: 16358 MB  free: 14745 MB  total: 31104 MB |
| 2024-02-28T02:41:03,765  INFO MemoryObserver:42 used RAM: 21254 MB  free: 9849 MB  total: 31104 MB  |
| 2024-02-28T02:42:03,765  INFO MemoryObserver:42 used RAM: 26310 MB  free: 4793 MB  total: 31104 MB  |
| 2024-02-28T02:43:03,766  INFO MemoryObserver:42 used RAM: 17574 MB  free: 13529 MB  total: 31104 MB |
| 2024-02-28T02:44:03,766  INFO MemoryObserver:42 used RAM: 23190 MB  free: 7913 MB  total: 31104 MB  |
| 2024-02-28T02:45:03,766  INFO MemoryObserver:42 used RAM: 24102 MB  free: 7001 MB  total: 31104 MB  |
| 2024-02-28T02:46:03,767  INFO MemoryObserver:42 used RAM: 18540 MB  free: 13395 MB  total: 31936 MB |
| 2024-02-28T02:47:03,767  INFO MemoryObserver:42 used RAM: 19087 MB  free: 13840 MB  total: 32928 MB |
| 2024-02-28T02:48:03,768  INFO MemoryObserver:42 used RAM: 25834 MB  free: 7189 MB  total: 33024 MB  |
| 2024-02-28T02:49:03,768  INFO MemoryObserver:42 used RAM: 18814 MB  free: 14209 MB  total: 33024 MB |
| 2024-02-28T02:50:03,768  INFO MemoryObserver:42 used RAM: 27437 MB  free: 5586 MB  total: 33024 MB  |
| 2024-02-28T02:51:03,769  INFO MemoryObserver:42 used RAM: 18639 MB  free: 14384 MB  total: 33024 MB |
| 2024-02-28T02:52:03,769  INFO MemoryObserver:42 used RAM: 21920 MB  free: 13023 MB  total: 34944 MB |
| 2024-02-28T02:53:03,770  INFO MemoryObserver:42 used RAM: 24903 MB  free: 10040 MB  total: 34944 MB |
| 2024-02-28T02:54:03,770  INFO MemoryObserver:42 used RAM: 21059 MB  free: 13884 MB  total: 34944 MB |
| 2024-02-28T02:55:03,771  INFO MemoryObserver:42 used RAM: 29683 MB  free: 5260 MB  total: 34944 MB  |
| 2024-02-28T02:56:03,771  INFO MemoryObserver:42 used RAM: 22144 MB  free: 12799 MB  total: 34944 MB |
| 2024-02-28T02:57:03,771  INFO MemoryObserver:42 used RAM: 23473 MB  free: 11854 MB  total: 35328 MB |
| 2024-02-28T02:58:03,772  INFO MemoryObserver:42 used RAM: 16296 MB  free: 19031 MB  total: 35328 MB |
| 2024-02-28T02:59:03,772  INFO MemoryObserver:42 used RAM: 24624 MB  free: 10703 MB  total: 35328 MB |
| 2024-02-28T03:00:03,773  INFO MemoryObserver:42 used RAM: 28410 MB  free: 6917 MB  total: 35328 MB  |
| 2024-02-28T03:01:03,773  INFO MemoryObserver:42 used RAM: 25893 MB  free: 12122 MB  total: 38016 MB |
| 2024-02-28T03:02:03,773  INFO MemoryObserver:42 used RAM: 24663 MB  free: 13352 MB  total: 38016 MB |
| 2024-02-28T03:03:03,774  INFO MemoryObserver:42 used RAM: 28512 MB  free: 9503 MB  total: 38016 MB  |
| 2024-02-28T03:04:03,774  INFO MemoryObserver:42 used RAM: 27262 MB  free: 10753 MB  total: 38016 MB |
| 2024-02-28T03:05:03,775  INFO MemoryObserver:42 used RAM: 35229 MB  free: 2786 MB  total: 38016 MB  |
| 2024-02-28T03:06:03,775  INFO MemoryObserver:42 used RAM: 28910 MB  free: 9169 MB  total: 38080 MB  |
| 2024-02-28T03:07:03,776  INFO MemoryObserver:42 used RAM: 26210 MB  free: 11869 MB  total: 38080 MB |
| 2024-02-28T03:08:03,776  INFO MemoryObserver:42 used RAM: 32342 MB  free: 7017 MB  total: 39360 MB  |
| 2024-02-28T03:09:03,776  INFO MemoryObserver:42 used RAM: 23323 MB  free: 16484 MB  total: 39808 MB |
| 2024-02-28T03:10:03,777  INFO MemoryObserver:42 used RAM: 27498 MB  free: 15509 MB  total: 43008 MB |
| 2024-02-28T03:11:03,777  INFO MemoryObserver:42 used RAM: 27661 MB  free: 17938 MB  total: 45600 MB |
| 2024-02-28T03:12:03,778  INFO MemoryObserver:42 used RAM: 30365 MB  free: 19138 MB  total: 49504 MB |
-------------------------------------------------------------------------------------------------------
mfitz commented 8 months ago

Cool. I find it a bit funny, since tablesaw tables is what I started with for the Link Log 😅 I will make sure to check how my additional KPIs impact the memory profile 😄

Yeah, the key is to hide the fact that we're using Tablesaw - keep it out of the API.