{
  "WorkItem": {
    "AffectedComponent": {
      "Name": "",
      "DisplayName": ""
    },
    "ClosedComment": "This is fixed either in changeset 80525 or earlier.  The first release with this change will be v1.9.1.6.  ",
    "ClosedDate": "2011-07-11T06:04:40.613-07:00",
    "CommentCount": 0,
    "Custom": null,
    "Description": "Garbage collection is significantly hurting performance when we zip many files at a high rate.  The visual studio memory profiler says the most expensive memory allocation is occuring in the following function:\n \n private static string SimplifyFwdSlashPath(string path)\n{\n    if (path.StartsWith(\"./\"))\n    {\n        path = path.Substring(2);\n    }\n    path = path.Replace(\"/./\", \"/\");\n    path = new Regex(@\"^(.*/)?([^/\\\\.]+/\\\\.\\\\./)(.+)$\").Replace(path, \"$1$3\");\n    return path;\n}\n \nCan this be made more efficient in its memory usage?",
    "LastUpdatedDate": "2013-05-16T05:31:37.393-07:00",
    "PlannedForRelease": "v1.9.1.8 DotNetZip - Latest Stable",
    "ReleaseVisibleToPublic": true,
    "Priority": {
      "Name": "Low",
      "Severity": 50,
      "Id": 1
    },
    "ProjectName": "DotNetZip",
    "ReportedDate": "2011-04-28T12:10:46.59-07:00",
    "Status": {
      "Name": "Closed",
      "Id": 4
    },
    "ReasonClosed": {
      "Name": "Unassigned"
    },
    "Summary": "Poor memory performance when adding files",
    "Type": {
      "Name": "Issue",
      "Id": 3
    },
    "VoteCount": 1,
    "Id": 13436
  },
  "FileAttachments": [],
  "Comments": [
    {
      "Message": "I should mention some further data, it is the Regex constructor that is most costly.  Since the regex expression is not changing, you can probably create the Regex object as a static and reuse it.\r\n",
      "PostedDate": "2011-04-28T16:38:47.507-07:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2011-06-16T10:37:55.103-07:00",
      "Id": -2147483648
    },
    {
      "Message": "Seems like a good request to me - thanks for the bug report. ",
      "PostedDate": "2011-06-16T10:43:19.483-07:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2011-07-11T06:04:40.613-07:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2013-02-21T18:43:15.78-08:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2013-05-16T05:31:37.393-07:00",
      "Id": -2147483648
    }
  ]
}