Sciagraph vs. Fil

Fil is a free, open-source memory profiler for Python. It shares some design goals with Sciagraph, but is also different in many ways.

  Fil Sciagraph
Use case Data processing, but can also be used for any Python application Data processing only
Offline development
Memory profiling ✅ with some limitations: uses sampling, so not useful for applications allocating <100MB RAM
Multiprocessing support
Performance profiling
Runtime overhead Up to 40-50% Negligible to ~5%
Supported platforms Linux, macOS Linux, macOS
Pricing Open source, unlimited free use Commercial software. Limited free plan, paid plans

In more detail:

  • Fil is open source, unlike Sciagraph.
  • Sciagraph has performance profiling; Fil does not, it only does memory profiling.
  • If you purchase the appropriate plan, Sciagraph can be used in production, unlike Fil.
  • Fil can track much smaller memory allocations because it tracks all allocations; Sciagraph uses sampling so will only work well on applications that use more memory (100MB and up).