mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-25 23:44:35 +00:00
Set the default save config also in tracy-update.
This commit is contained in:
parent
0a187a65f6
commit
abf12f79c5
5
NEWS
5
NEWS
@ -123,9 +123,8 @@ vx.xx.x (xxxx-xx-xx)
|
|||||||
- Implemented retrieval of kernel symbol code on Linux.
|
- Implemented retrieval of kernel symbol code on Linux.
|
||||||
- Added support for multiple compression streams in trace files. This
|
- Added support for multiple compression streams in trace files. This
|
||||||
effectively parallelizes both load and save operations.
|
effectively parallelizes both load and save operations.
|
||||||
- The default save configuration in tracy-profiler and tracy-update is
|
- The default save setup is now set to Zstd level 3 with 4 compression
|
||||||
now set to Zstd level 3 with 4 compression streams. This gives both
|
streams. This gives both faster compression time and smaller file size.
|
||||||
shorter compression time and smaller file size.
|
|
||||||
|
|
||||||
|
|
||||||
v0.10.0 (2023-10-16)
|
v0.10.0 (2023-10-16)
|
||||||
|
@ -2682,12 +2682,13 @@ The new file contains the same data as the old one but with an updated internal
|
|||||||
The \texttt{update} utility supports optional higher levels of data compression, which reduce disk size of traces at the cost of increased compression times. The output files have a reasonable size and are quick to save and load with the default settings. A list of available compression modes and their respective results is available in table~\ref{compressiontimes} and figures~\ref{savesize}, \ref{savetime} and~\ref{loadtime}. The following command-line options control compression mode selection:
|
The \texttt{update} utility supports optional higher levels of data compression, which reduce disk size of traces at the cost of increased compression times. The output files have a reasonable size and are quick to save and load with the default settings. A list of available compression modes and their respective results is available in table~\ref{compressiontimes} and figures~\ref{savesize}, \ref{savetime} and~\ref{loadtime}. The following command-line options control compression mode selection:
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
|
\item \texttt{-4} -- selects LZ4 algorithm.
|
||||||
\item \texttt{-h} -- enables LZ4 HC compression.
|
\item \texttt{-h} -- enables LZ4 HC compression.
|
||||||
\item \texttt{-e} -- uses LZ4 extreme compression.
|
\item \texttt{-e} -- uses LZ4 extreme compression.
|
||||||
\item \texttt{-z level} -- selects Zstandard algorithm, with a specified compression level.
|
\item \texttt{-z level} -- selects Zstandard algorithm, with a specified compression level.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\begin{table}[h]
|
\begin{table}
|
||||||
\centering
|
\centering
|
||||||
\begin{tabular}[h]{c|c|c|c|c}
|
\begin{tabular}[h]{c|c|c|c|c}
|
||||||
\textbf{Mode} & \textbf{Size} & \textbf{Ratio} & \textbf{Save time} & \textbf{Load time} \\ \hline
|
\textbf{Mode} & \textbf{Size} & \textbf{Ratio} & \textbf{Save time} & \textbf{Load time} \\ \hline
|
||||||
@ -2721,7 +2722,7 @@ zstd 22 & 45.52 MB & 4.81\% & 15:11 & 621 \si{\milli\second}
|
|||||||
\label{compressiontimes}
|
\label{compressiontimes}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
\begin{figure}[h]
|
\begin{figure}
|
||||||
\begin{minipage}[c]{.475\textwidth}
|
\begin{minipage}[c]{.475\textwidth}
|
||||||
\begin{figure}[H]
|
\begin{figure}[H]
|
||||||
\centering\begin{tikzpicture}
|
\centering\begin{tikzpicture}
|
||||||
@ -2765,7 +2766,7 @@ zstd 22 & 45.52 MB & 4.81\% & 15:11 & 621 \si{\milli\second}
|
|||||||
\end{minipage}
|
\end{minipage}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
\begin{figure}[H]
|
\begin{figure}
|
||||||
\centering\begin{tikzpicture}
|
\centering\begin{tikzpicture}
|
||||||
\begin{axis}[xlabel=Mode,ylabel=Time (ms), legend pos=south west, width=0.475\textwidth]
|
\begin{axis}[xlabel=Mode,ylabel=Time (ms), legend pos=south west, width=0.475\textwidth]
|
||||||
\addplot[mark=x, red] plot coordinates {
|
\addplot[mark=x, red] plot coordinates {
|
||||||
@ -2784,7 +2785,7 @@ zstd 22 & 45.52 MB & 4.81\% & 15:11 & 621 \si{\milli\second}
|
|||||||
\label{loadtime}
|
\label{loadtime}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
Trace files created using the \emph{default}, \emph{hc} and \emph{extreme} modes are optimized for fast decompression and can be further compressed using file compression utilities. For example, using 7-zip results in archives of the following sizes: 77.2 MB, 54.3 MB, 52.4 MB.
|
Trace files created using the \emph{lz4}, \emph{lz4 hc} and \emph{lz4 extreme} modes are optimized for fast decompression and can be further compressed using file compression utilities. For example, using 7-zip results in archives of the following sizes: 77.2 MB, 54.3 MB, 52.4 MB.
|
||||||
|
|
||||||
For archival purposes, it is, however, much better to use the \emph{zstd} compression modes, which are faster, compress trace files more tightly, and are directly loadable by the profiler, without the intermediate decompression step.
|
For archival purposes, it is, however, much better to use the \emph{zstd} compression modes, which are faster, compress trace files more tightly, and are directly loadable by the profiler, without the intermediate decompression step.
|
||||||
|
|
||||||
@ -2794,7 +2795,7 @@ Saving and loading trace data can be parallelized using the \texttt{-j streams}
|
|||||||
|
|
||||||
Going overboard with the number of streams is not recommended, especially with the fast compression modes where it will be difficult to keep each stream busy. Also, complex compression codecs (e.g. zstd at level 22) have significantly worse compression rates when the work is divided. This is a fairly nuanced topic, and you are encouraged to do your own measurements, but for a rough guideline on the behavior, you can refer to tables~\ref{streamsize} and~\ref{streamspeedup}.
|
Going overboard with the number of streams is not recommended, especially with the fast compression modes where it will be difficult to keep each stream busy. Also, complex compression codecs (e.g. zstd at level 22) have significantly worse compression rates when the work is divided. This is a fairly nuanced topic, and you are encouraged to do your own measurements, but for a rough guideline on the behavior, you can refer to tables~\ref{streamsize} and~\ref{streamspeedup}.
|
||||||
|
|
||||||
\begin{table}[h]
|
\begin{table}
|
||||||
\centering
|
\centering
|
||||||
\begin{tabular}{c|c|c|c|c}
|
\begin{tabular}{c|c|c|c|c}
|
||||||
\diagbox[font=\footnotesize,width=5.25em,trim=lr]{\textbf{Mode}}{\textbf{Streams}} & \textbf{4} & \textbf{8} & \textbf{16} & \textbf{32} \\ \hline
|
\diagbox[font=\footnotesize,width=5.25em,trim=lr]{\textbf{Mode}}{\textbf{Streams}} & \textbf{4} & \textbf{8} & \textbf{16} & \textbf{32} \\ \hline
|
||||||
@ -2812,7 +2813,7 @@ Going overboard with the number of streams is not recommended, especially with t
|
|||||||
\label{streamsize}
|
\label{streamsize}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
\begin{table}[h]
|
\begin{table}
|
||||||
\centering
|
\centering
|
||||||
\begin{tabular}{c|c|c|c|c}
|
\begin{tabular}{c|c|c|c|c}
|
||||||
\diagbox[font=\footnotesize,width=5.25em,trim=lr]{\textbf{Mode}}{\textbf{Streams}} & \textbf{4} & \textbf{8} & \textbf{16} & \textbf{32} \\ \hline
|
\diagbox[font=\footnotesize,width=5.25em,trim=lr]{\textbf{Mode}}{\textbf{Streams}} & \textbf{4} & \textbf{8} & \textbf{16} & \textbf{32} \\ \hline
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
void Usage()
|
void Usage()
|
||||||
{
|
{
|
||||||
printf( "Usage: update [options] input.tracy output.tracy\n\n" );
|
printf( "Usage: update [options] input.tracy output.tracy\n\n" );
|
||||||
|
printf( " -4: enable LZ4 compression\n" );
|
||||||
printf( " -h: enable LZ4HC compression\n" );
|
printf( " -h: enable LZ4HC compression\n" );
|
||||||
printf( " -e: enable extreme LZ4HC compression (very slow)\n" );
|
printf( " -e: enable extreme LZ4HC compression (very slow)\n" );
|
||||||
printf( " -z level: use Zstd compression with given compression level\n" );
|
printf( " -z level: use Zstd compression with given compression level\n" );
|
||||||
@ -51,20 +52,23 @@ int main( int argc, char** argv )
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
tracy::FileCompression clev = tracy::FileCompression::Fast;
|
tracy::FileCompression clev = tracy::FileCompression::Zstd;
|
||||||
uint32_t events = tracy::EventType::All;
|
uint32_t events = tracy::EventType::All;
|
||||||
int zstdLevel = 1;
|
int zstdLevel = 3;
|
||||||
int streams = 1;
|
int streams = 4;
|
||||||
bool buildDict = false;
|
bool buildDict = false;
|
||||||
bool cacheSource = false;
|
bool cacheSource = false;
|
||||||
bool resolveSymbols = false;
|
bool resolveSymbols = false;
|
||||||
std::vector<std::string> pathSubstitutions;
|
std::vector<std::string> pathSubstitutions;
|
||||||
|
|
||||||
int c;
|
int c;
|
||||||
while( ( c = getopt( argc, argv, "hez:ds:crp:j:" ) ) != -1 )
|
while( ( c = getopt( argc, argv, "4hez:ds:crp:j:" ) ) != -1 )
|
||||||
{
|
{
|
||||||
switch( c )
|
switch( c )
|
||||||
{
|
{
|
||||||
|
case '4':
|
||||||
|
clev = tracy::FileCompression::Fast;
|
||||||
|
break;
|
||||||
case 'h':
|
case 'h':
|
||||||
clev = tracy::FileCompression::Slow;
|
clev = tracy::FileCompression::Slow;
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user