RapidWright
RapidWright copied to clipboard
Tracks current and peak memory usage
Augments the CodePerfTracker
so that when it is invoked to report memory usage, if the application is running in a Linux environment, it will also report current memory usage and peak memory usage as reported by the OS (/proc/<procid>/status
).
Some example output (not sure if I am sold on the formatting):
XML Parse & Device Load: 3.016s 742.214MBs | 1040.953MBs (curr) 1499.652MBs (peak)
EDIF Parse: 19.599s 1254.782MBs | 3754.152MBs (curr) 5458.785MBs (peak)
Read PhysDB Caches: 0.493s 134.568MBs | 4208.629MBs (curr) 5458.785MBs (peak)
(Read PhysDB Routing): ( 4.731s)
(Read PhysDB Placement): ( 5.233s)
Read Place & Route: 5.234s 1138.143MBs | 4359.684MBs (curr) 5555.418MBs (peak)
------------------------------------------------------------------------------
*Total*: 28.342s 3269.707MBs | 4538.379MBs (curr) 5555.418MBs (peak)
Unit Test Results
42 files 42 suites 8m 41s :stopwatch: 575 tests 567 :heavy_check_mark: 8 :zzz: 0 :x: 588 runs 580 :heavy_check_mark: 8 :zzz: 0 :x:
Results for commit 21357cf2.
:recycle: This comment has been updated with latest results.
It looks like there's not much value to the "current" field? This is the value seen by the OS, which is less accurate than JVM in terms of developer feedback. Peak value is valuable though!
It looks like there's not much value to the "current" field? This is the value seen by the OS, which is less accurate than JVM in terms of developer feedback. Peak value is valuable though!
I've removed the current field so it only displays peak now.