Diff
checker
Testo
Testo
Immagini
Documenti
Excel
Cartelle
Legal
Enterprise
Applicazione per desktop
Prezzi
Accedi
Scarica Diffchecker Desktop
Confronta il testo
Trova la differenza tra due file di testo
Strumenti
Cronologia
Editor live
Comprimi invariate
Senza a capo
Layout
Diviso
Unificato
Livello di dettaglio
Intelligente
Parola
Carattere
Evidenziazione sintassi
Scegli sintassi
Ignora
Trasforma testo
Vai alla prima modifica
Modifica input
Diffchecker Desktop
Il modo più sicuro per usare Diffchecker. Ottieni l'app Diffchecker Desktop: i tuoi diff non lasciano mai il tuo computer!
Ottieni Desktop
Untitled diff
Creato
8 anni fa
Il diff non scade mai
Eliminare
Esporta
Condividere
Spiegare
3 rimozioni
Linee
Totale
Rimosso
Caratteri
Totale
Rimosso
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
64 linee
Copia tutti
17 aggiunte
Linee
Totale
Aggiunto
Caratteri
Totale
Aggiunto
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
75 linee
Copia tutti
Copia
Copiato
Copia
Copiato
#if UNITY_EDITOR
using System;
using System;
using System.Collections.Generic;
using System.Collections.Generic;
Copia
Copiato
Copia
Copiato
using System.Globalization;
using System.Text;
using System.Text;
using UnityEditor;
using UnityEditor;
using UnityEditor.Compilation;
using UnityEditor.Compilation;
using UnityEngine;
using UnityEngine;
Copia
Copiato
Copia
Copiato
/// <summary>
/// https://gist.github.com/karljj1/9c6cce803096b5cd4511cf0819ff517b
/// </summary>
[InitializeOnLoad]
[InitializeOnLoad]
public class AsmdefDebug
public class AsmdefDebug
{
{
const string AssemblyReloadEventsEditorPref = "AssemblyReloadEventsTime";
const string AssemblyReloadEventsEditorPref = "AssemblyReloadEventsTime";
const string AssemblyCompilationEventsEditorPref = "AssemblyCompilationEvents";
const string AssemblyCompilationEventsEditorPref = "AssemblyCompilationEvents";
static readonly int ScriptAssembliesPathLen = "Library/ScriptAssemblies/".Length;
static readonly int ScriptAssembliesPathLen = "Library/ScriptAssemblies/".Length;
Copia
Copiato
Copia
Copiato
private static string AssemblyTotalCompilationTimeEditorPref = "AssemblyTotalCompilationTime";
static Dictionary<string, DateTime> s_StartTimes = new Dictionary<string, DateTime>();
static Dictionary<string, DateTime> s_StartTimes = new Dictionary<string, DateTime>();
static StringBuilder s_BuildEvents = new StringBuilder();
static StringBuilder s_BuildEvents = new StringBuilder();
static double s_CompilationTotalTime;
static double s_CompilationTotalTime;
static AsmdefDebug()
static AsmdefDebug()
{
{
CompilationPipeline.assemblyCompilationStarted += CompilationPipelineOnAssemblyCompilationStarted;
CompilationPipeline.assemblyCompilationStarted += CompilationPipelineOnAssemblyCompilationStarted;
CompilationPipeline.assemblyCompilationFinished += CompilationPipelineOnAssemblyCompilationFinished;
CompilationPipeline.assemblyCompilationFinished += CompilationPipelineOnAssemblyCompilationFinished;
AssemblyReloadEvents.beforeAssemblyReload += AssemblyReloadEventsOnBeforeAssemblyReload;
AssemblyReloadEvents.beforeAssemblyReload += AssemblyReloadEventsOnBeforeAssemblyReload;
AssemblyReloadEvents.afterAssemblyReload += AssemblyReloadEventsOnAfterAssemblyReload;
AssemblyReloadEvents.afterAssemblyReload += AssemblyReloadEventsOnAfterAssemblyReload;
}
}
static void CompilationPipelineOnAssemblyCompilationStarted(string assembly)
static void CompilationPipelineOnAssemblyCompilationStarted(string assembly)
{
{
s_StartTimes[assembly] = DateTime.UtcNow;
s_StartTimes[assembly] = DateTime.UtcNow;
}
}
static void CompilationPipelineOnAssemblyCompilationFinished(string assembly, CompilerMessage[] arg2)
static void CompilationPipelineOnAssemblyCompilationFinished(string assembly, CompilerMessage[] arg2)
{
{
Copia
Copiato
Copia
Copiato
var time = s_StartTimes[assembly];
var timeSpan = DateTime.UtcNow - s_StartTimes[assembly];
var timeSpan = DateTime.UtcNow - s_StartTimes[assembly];
s_CompilationTotalTime += timeSpan.TotalMilliseconds;
s_CompilationTotalTime += timeSpan.TotalMilliseconds;
Copia
Copiato
Copia
Copiato
s_BuildEvents.AppendFormat("{0:0.00}s {1}\n", timeSpan.TotalMilliseconds / 1000f,
assembly.Substring(ScriptAssembliesPathLen, assembly.Length - ScriptAssembliesPathLen));
s_BuildEvents.AppendFormat("{0:0.00}s {1}\n", timeSpan.TotalMilliseconds / 1000f,
assembly.Substring(ScriptAssembliesPathLen, assembly.Length - ScriptAssembliesPathLen));
}
}
static void AssemblyReloadEventsOnBeforeAssemblyReload()
static void AssemblyReloadEventsOnBeforeAssemblyReload()
{
{
Copia
Copiato
Copia
Copiato
s_BuildEvents.AppendFormat("compilation total: {0:0.00}s\n",
s_CompilationTotalTime / 1000f
);
var totalCompilationTimeSeconds = s_CompilationTotalTime / 1000f;
s_BuildEvents.AppendFormat("compilation total: {0:0.00}s\n",
totalCompilationTimeSeconds
);
EditorPrefs.SetString(AssemblyReloadEventsEditorPref, DateTime.UtcNow.ToBinary().ToString());
EditorPrefs.SetString(AssemblyReloadEventsEditorPref, DateTime.UtcNow.ToBinary().ToString());
EditorPrefs.SetString(AssemblyCompilationEventsEditorPref, s_BuildEvents.ToString());
EditorPrefs.SetString(AssemblyCompilationEventsEditorPref, s_BuildEvents.ToString());
Copia
Copiato
Copia
Copiato
EditorPrefs.SetString(AssemblyTotalCompilationTimeEditorPref, totalCompilationTimeSeconds.ToString(CultureInfo.InvariantCulture));
}
}
static void AssemblyReloadEventsOnAfterAssemblyReload()
static void AssemblyReloadEventsOnAfterAssemblyReload()
{
{
var binString = EditorPrefs.GetString(AssemblyReloadEventsEditorPref);
var binString = EditorPrefs.GetString(AssemblyReloadEventsEditorPref);
Copia
Copiato
Copia
Copiato
var totalCompilationTimeSeconds = float.Parse(EditorPrefs.GetString(AssemblyTotalCompilationTimeEditorPref, AssemblyTotalCompilationTimeEditorPref));
Copia
Copiato
Copia
Copiato
long bin
= 0
;
long bin
;
if (long.TryParse(binString, out bin))
if (long.TryParse(binString, out bin))
{
{
var date = DateTime.FromBinary(bin);
var date = DateTime.FromBinary(bin);
var time = DateTime.UtcNow - date;
var time = DateTime.UtcNow - date;
var compilationTimes = EditorPrefs.GetString(AssemblyCompilationEventsEditorPref);
var compilationTimes = EditorPrefs.GetString(AssemblyCompilationEventsEditorPref);
Copia
Copiato
Copia
Copiato
var totalTimeSeconds = totalCompilationTimeSeconds + time.TotalSeconds;
if (!string.IsNullOrEmpty(compilationTimes))
if (!string.IsNullOrEmpty(compilationTimes))
{
{
Copia
Copiato
Copia
Copiato
Debug.Log(
"Compilation Report
\n" + compilationTimes + "Assembly Reload Time: " + time.TotalSeconds + "s\n");
Debug.Log(
$
"Compilation Report
: {totalTimeSeconds:F2} seconds
\n" + compilationTimes + "Assembly Reload Time: " + time.TotalSeconds + "s\n");
}
}
}
}
}
}
}
}
Copia
Copiato
Copia
Copiato
#endif
Diff salvati
Testo originale
Apri file
using System; using System.Collections.Generic; using System.Text; using UnityEditor; using UnityEditor.Compilation; using UnityEngine; [InitializeOnLoad] public class AsmdefDebug { const string AssemblyReloadEventsEditorPref = "AssemblyReloadEventsTime"; const string AssemblyCompilationEventsEditorPref = "AssemblyCompilationEvents"; static readonly int ScriptAssembliesPathLen = "Library/ScriptAssemblies/".Length; static Dictionary<string, DateTime> s_StartTimes = new Dictionary<string, DateTime>(); static StringBuilder s_BuildEvents = new StringBuilder(); static double s_CompilationTotalTime; static AsmdefDebug() { CompilationPipeline.assemblyCompilationStarted += CompilationPipelineOnAssemblyCompilationStarted; CompilationPipeline.assemblyCompilationFinished += CompilationPipelineOnAssemblyCompilationFinished; AssemblyReloadEvents.beforeAssemblyReload += AssemblyReloadEventsOnBeforeAssemblyReload; AssemblyReloadEvents.afterAssemblyReload += AssemblyReloadEventsOnAfterAssemblyReload; } static void CompilationPipelineOnAssemblyCompilationStarted(string assembly) { s_StartTimes[assembly] = DateTime.UtcNow; } static void CompilationPipelineOnAssemblyCompilationFinished(string assembly, CompilerMessage[] arg2) { var time = s_StartTimes[assembly]; var timeSpan = DateTime.UtcNow - s_StartTimes[assembly]; s_CompilationTotalTime += timeSpan.TotalMilliseconds; s_BuildEvents.AppendFormat("{0:0.00}s {1}\n", timeSpan.TotalMilliseconds / 1000f, assembly.Substring(ScriptAssembliesPathLen, assembly.Length - ScriptAssembliesPathLen)); } static void AssemblyReloadEventsOnBeforeAssemblyReload() { s_BuildEvents.AppendFormat("compilation total: {0:0.00}s\n", s_CompilationTotalTime / 1000f); EditorPrefs.SetString(AssemblyReloadEventsEditorPref, DateTime.UtcNow.ToBinary().ToString()); EditorPrefs.SetString(AssemblyCompilationEventsEditorPref, s_BuildEvents.ToString()); } static void AssemblyReloadEventsOnAfterAssemblyReload() { var binString = EditorPrefs.GetString(AssemblyReloadEventsEditorPref); long bin = 0; if (long.TryParse(binString, out bin)) { var date = DateTime.FromBinary(bin); var time = DateTime.UtcNow - date; var compilationTimes = EditorPrefs.GetString(AssemblyCompilationEventsEditorPref); if (!string.IsNullOrEmpty(compilationTimes)) { Debug.Log("Compilation Report\n" + compilationTimes + "Assembly Reload Time: " + time.TotalSeconds + "s\n"); } } } }
Testo modificato
Apri file
#if UNITY_EDITOR using System; using System.Collections.Generic; using System.Globalization; using System.Text; using UnityEditor; using UnityEditor.Compilation; using UnityEngine; /// <summary> /// https://gist.github.com/karljj1/9c6cce803096b5cd4511cf0819ff517b /// </summary> [InitializeOnLoad] public class AsmdefDebug { const string AssemblyReloadEventsEditorPref = "AssemblyReloadEventsTime"; const string AssemblyCompilationEventsEditorPref = "AssemblyCompilationEvents"; static readonly int ScriptAssembliesPathLen = "Library/ScriptAssemblies/".Length; private static string AssemblyTotalCompilationTimeEditorPref = "AssemblyTotalCompilationTime"; static Dictionary<string, DateTime> s_StartTimes = new Dictionary<string, DateTime>(); static StringBuilder s_BuildEvents = new StringBuilder(); static double s_CompilationTotalTime; static AsmdefDebug() { CompilationPipeline.assemblyCompilationStarted += CompilationPipelineOnAssemblyCompilationStarted; CompilationPipeline.assemblyCompilationFinished += CompilationPipelineOnAssemblyCompilationFinished; AssemblyReloadEvents.beforeAssemblyReload += AssemblyReloadEventsOnBeforeAssemblyReload; AssemblyReloadEvents.afterAssemblyReload += AssemblyReloadEventsOnAfterAssemblyReload; } static void CompilationPipelineOnAssemblyCompilationStarted(string assembly) { s_StartTimes[assembly] = DateTime.UtcNow; } static void CompilationPipelineOnAssemblyCompilationFinished(string assembly, CompilerMessage[] arg2) { var timeSpan = DateTime.UtcNow - s_StartTimes[assembly]; s_CompilationTotalTime += timeSpan.TotalMilliseconds; s_BuildEvents.AppendFormat("{0:0.00}s {1}\n", timeSpan.TotalMilliseconds / 1000f, assembly.Substring(ScriptAssembliesPathLen, assembly.Length - ScriptAssembliesPathLen)); } static void AssemblyReloadEventsOnBeforeAssemblyReload() { var totalCompilationTimeSeconds = s_CompilationTotalTime / 1000f; s_BuildEvents.AppendFormat("compilation total: {0:0.00}s\n", totalCompilationTimeSeconds); EditorPrefs.SetString(AssemblyReloadEventsEditorPref, DateTime.UtcNow.ToBinary().ToString()); EditorPrefs.SetString(AssemblyCompilationEventsEditorPref, s_BuildEvents.ToString()); EditorPrefs.SetString(AssemblyTotalCompilationTimeEditorPref, totalCompilationTimeSeconds.ToString(CultureInfo.InvariantCulture)); } static void AssemblyReloadEventsOnAfterAssemblyReload() { var binString = EditorPrefs.GetString(AssemblyReloadEventsEditorPref); var totalCompilationTimeSeconds = float.Parse(EditorPrefs.GetString(AssemblyTotalCompilationTimeEditorPref, AssemblyTotalCompilationTimeEditorPref)); long bin; if (long.TryParse(binString, out bin)) { var date = DateTime.FromBinary(bin); var time = DateTime.UtcNow - date; var compilationTimes = EditorPrefs.GetString(AssemblyCompilationEventsEditorPref); var totalTimeSeconds = totalCompilationTimeSeconds + time.TotalSeconds; if (!string.IsNullOrEmpty(compilationTimes)) { Debug.Log($"Compilation Report: {totalTimeSeconds:F2} seconds\n" + compilationTimes + "Assembly Reload Time: " + time.TotalSeconds + "s\n"); } } } } #endif
Trovare la differenza