Changeset 392


Ignore:
Timestamp:
Aug 8, 2022, 8:04:09 PM (2 years ago)
Author:
alloc
Message:

Added command to invalidate file caches
Added a debug+profiling build target

Location:
binary-improvements2
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements2/7dtd-server-fixes/7dtd-server-fixes.csproj

    r391 r392  
    4747    <DebugSymbols>true</DebugSymbols>
    4848  </PropertyGroup>
     49  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Profiler|AnyCPU' ">
     50    <OutputPath>..\bin\Mods\Allocs_CommonFunc\</OutputPath>
     51    <DefineConstants>ENABLE_PROFILER</DefineConstants>
     52    <DebugSymbols>true</DebugSymbols>
     53    <DebugType>full</DebugType>
     54  </PropertyGroup>
    4955  <ItemGroup>
    5056    <Reference Include="Assembly-CSharp">
     
    8389  <ItemGroup>
    8490    <Compile Include="src\AssemblyInfo.cs" />
     91    <Compile Include="src\FileCache\InvalidateCachesCmd.cs" />
    8592    <Compile Include="src\JSON\JsonManualBuilder.cs" />
    8693    <Compile Include="src\LiveData\Animals.cs" />
  • binary-improvements2/7dtd-server-fixes/src/FileCache/AbstractCache.cs

    r351 r392  
     1using System.Collections.Generic;
     2
    13namespace AllocsFixes.FileCache {
    24        public abstract class AbstractCache {
    35                public abstract byte[] GetFileContent (string _filename);
     6                public abstract (int, int) Invalidate ();
     7
     8                protected AbstractCache () {
     9                        caches.Add (this);
     10                }
     11
     12                private static readonly List<AbstractCache> caches = new List<AbstractCache> ();
     13                public static (int, int) InvalidateAllCaches () {
     14                        int filesDropped = 0;
     15                        int bytesDropped = 0;
     16                       
     17                        foreach (AbstractCache cache in caches) {
     18                                (int, int) returned = cache.Invalidate ();
     19                                filesDropped += returned.Item1;
     20                                bytesDropped += returned.Item2;
     21                        }
     22
     23                        return (filesDropped, bytesDropped);
     24                }
    425        }
    526}
  • binary-improvements2/7dtd-server-fixes/src/FileCache/DirectAccess.cs

    r391 r392  
    1414                        return null;
    1515                }
     16
     17                public override (int, int) Invalidate () {
     18                        return (0, 0);
     19                }
    1620        }
    1721}
  • binary-improvements2/7dtd-server-fixes/src/FileCache/MapTileCache.cs

    r391 r392  
    114114                }
    115115
     116                public override (int, int) Invalidate () {
     117                        return (0, 0);
     118                }
     119
    116120                private static byte[] ReadAllBytes (string _path) {
    117121                        using (FileStream fileStream = new FileStream(_path, FileMode.Open, FileAccess.Read, FileShare.Read, 4096)) {
  • binary-improvements2/7dtd-server-fixes/src/FileCache/SimpleCache.cs

    r391 r392  
    2929                        return null;
    3030                }
     31
     32                public override (int, int) Invalidate () {
     33                        (int, int) result = (0, 0);
     34                       
     35                        lock (fileCache) {
     36                                result.Item1 = fileCache.Count;
     37                                foreach ((string _, byte[] data) in fileCache) {
     38                                        result.Item2 += data.Length;
     39                                }
     40                               
     41                                fileCache.Clear ();
     42                        }
     43
     44                        return result;
     45                }
    3146        }
    3247}
  • binary-improvements2/CommandExtensions/CommandExtensions.csproj

    r391 r392  
    3232    <DebugType>full</DebugType>
    3333    <DebugSymbols>true</DebugSymbols>
     34  </PropertyGroup>
     35  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Profiler|AnyCPU' ">
     36    <OutputPath>..\bin\Mods\TFP_CommandExtensions\</OutputPath>
     37    <DefineConstants>ENABLE_PROFILER</DefineConstants>
     38    <DebugSymbols>true</DebugSymbols>
     39    <DebugType>full</DebugType>
    3440  </PropertyGroup>
    3541  <ItemGroup>
  • binary-improvements2/MapRendering/MapRendering.csproj

    r391 r392  
    3535    <DebugType>full</DebugType>
    3636    <DebugSymbols>true</DebugSymbols>
     37  </PropertyGroup>
     38  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Profiler|AnyCPU' ">
     39    <OutputPath>..\bin\Mods\TFP_MapRendering\</OutputPath>
     40    <DefineConstants>ENABLE_PROFILER</DefineConstants>
     41    <DebugSymbols>true</DebugSymbols>
     42    <DebugType>full</DebugType>
    3743  </PropertyGroup>
    3844  <ItemGroup>
  • binary-improvements2/MarkersMod/MarkersMod.csproj

    r391 r392  
    3535    <DebugType>full</DebugType>
    3636    <DebugSymbols>true</DebugSymbols>
     37  </PropertyGroup>
     38  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Profiler|AnyCPU' ">
     39    <OutputPath>..\bin\Mods\Xample_MarkersMod\</OutputPath>
     40    <DefineConstants>ENABLE_PROFILER</DefineConstants>
     41    <DebugSymbols>true</DebugSymbols>
     42    <DebugType>full</DebugType>
    3743  </PropertyGroup>
    3844  <ItemGroup>
  • binary-improvements2/SpaceWizards.HttpListener/SpaceWizards.HttpListener.csproj

    r391 r392  
    2727  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_Profiler|AnyCPU' ">
    2828    <OutputPath>..\bin\Mods\TFP_WebServer\</OutputPath>
    29     <DefineConstants>ENABLE_PROFILER;UNITY_NETFRAMEWORK</DefineConstants>
     29    <DefineConstants>UNITY_NETFRAMEWORK;ENABLE_PROFILER</DefineConstants>
    3030    <Optimize>true</Optimize>
    3131    <WarningLevel>4</WarningLevel>
     
    3939    <DefineConstants>UNITY_NETFRAMEWORK</DefineConstants>
    4040    <DebugSymbols>true</DebugSymbols>
     41  </PropertyGroup>
     42  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Profiler|AnyCPU' ">
     43    <OutputPath>..\bin\Mods\TFP_WebServer\</OutputPath>
     44    <DefineConstants>UNITY_NETFRAMEWORK;ENABLE_PROFILER</DefineConstants>
     45    <DebugSymbols>true</DebugSymbols>
     46    <DebugType>full</DebugType>
     47    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    4148  </PropertyGroup>
    4249  <ItemGroup>
  • binary-improvements2/WebServer/WebServer.csproj

    r391 r392  
    3535    <DebugType>full</DebugType>
    3636    <DebugSymbols>true</DebugSymbols>
     37  </PropertyGroup>
     38  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Profiler|AnyCPU' ">
     39    <OutputPath>..\bin\Mods\TFP_WebServer\</OutputPath>
     40    <DefineConstants>ENABLE_PROFILER</DefineConstants>
     41    <DebugSymbols>true</DebugSymbols>
     42    <DebugType>full</DebugType>
    3743  </PropertyGroup>
    3844  <ItemGroup>
Note: See TracChangeset for help on using the changeset viewer.