Opened 8 years ago

Last modified 11 months ago

#728 new feature request

switch to compacting collection when swapping occurs

Reported by: simonmar Owned by:
Priority: normal Milestone:
Component: Runtime System Version: 6.4.1
Keywords: compacting Cc: Bulat.Ziganshin@…, SamB, pho@…, anton.nik@…
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Runtime performance bug Difficulty: Moderate (less than a day)
Test Case: N/A Blocked By:
Blocking: Related Tickets:

Description

One avenue for tuning the GC to work better in low memory conditions is for it to auto-switch to compacting collection when swapping is happening. We can detect swapping using getrusage() on Unix systems. See:

http://www.haskell.org//pipermail/glasgow-haskell-users/2006-March/009863.html

Change History (12)

comment:1 Changed 8 years ago by igloo

  • Milestone set to 6.8
  • Test Case set to N/A

comment:2 Changed 7 years ago by guest

  • Cc Bulat.Ziganshin@… added

comment:3 Changed 7 years ago by guest

.. although i prefer to see it on Windows too :)

comment:4 Changed 6 years ago by simonmar

  • Milestone changed from 6.8 branch to _|_
  • Type changed from task to feature request

Not completely clear what to do here, but we want to keep the idea.

comment:5 Changed 6 years ago by SamB

  • Cc SamB added
  • Keywords compacting added
  • severity changed from normal to major

comment:6 Changed 6 years ago by simonmar

  • Architecture changed from Unknown to Unknown/Multiple

comment:7 Changed 6 years ago by simonmar

  • Operating System changed from Unknown to Unknown/Multiple

comment:8 Changed 4 years ago by PHO

  • Cc pho@… added

comment:9 Changed 4 years ago by simonmar

  • Difficulty changed from Moderate (1 day) to Moderate (less than a day)

comment:10 Changed 4 years ago by igloo

  • Type of failure set to Runtime performance bug

comment:11 Changed 4 years ago by lelf

  • Cc anton.nik@… added

comment:12 Changed 11 months ago by schyler

GetProcessMemoryInfo? for Windows may be able to return the information required to achieve this in the PROCESS_MEMORY_COUNTERS structure (see elements PagefileUsage?, PeakPagefileUsage?). It works on XP and newer, and I don't think there is any need to worry about anything older than that.

http://msdn.microsoft.com/en-us/library/windows/desktop/ms683219(v=vs.85).aspx

Note: See TracTickets for help on using tickets.