mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2025-07-07 15:55:00 +00:00

* Add compile time benchmark for the demo artwork * Implement node input replacement batching isometric-fountain time: [7.4307 ms 7.5072 ms 7.5974 ms] change: [-19.302% -18.136% -16.903%] (p = 0.00 < 0.05) Performance has improved. Found 10 outliers among 100 measurements (10.00%) 6 (6.00%) high mild 4 (4.00%) high severe painted-dreams time: [1.8108 ms 1.8223 ms 1.8350 ms] change: [-12.422% -11.524% -10.650%] (p = 0.00 < 0.05) Performance has improved. Found 13 outliers among 100 measurements (13.00%) 5 (5.00%) high mild 8 (8.00%) high severe procedural-string-lights time: [551.65 µs 560.58 µs 571.13 µs] change: [-5.7783% -2.5770% +1.3136%] (p = 0.20 > 0.05) No change in performance detected. Found 6 outliers among 100 measurements (6.00%) 1 (1.00%) high mild 5 (5.00%) high severe red-dress time: [9.7951 ms 9.9006 ms 10.016 ms] change: [-18.812% -17.558% -16.292%] (p = 0.00 < 0.05) Performance has improved. Found 5 outliers among 100 measurements (5.00%) 5 (5.00%) high mild valley-of-spires time: [4.7294 ms 4.7837 ms 4.8442 ms] change: [-16.889% -15.712% -14.615%] (p = 0.00 < 0.05) Performance has improved. Found 16 outliers among 100 measurements (16.00%) 11 (11.00%) high mild 5 (5.00%) high severe * Implement node dependency tracking isometric-fountain time: [6.5695 ms 6.6418 ms 6.7227 ms] change: [-13.426% -12.112% -10.681%] (p = 0.00 < 0.05) Performance has improved. Found 10 outliers among 100 measurements (10.00%) 5 (5.00%) high mild 5 (5.00%) high severe painted-dreams time: [1.7406 ms 1.7566 ms 1.7742 ms] change: [-4.7386% -3.5484% -2.3707%] (p = 0.00 < 0.05) Performance has improved. Found 11 outliers among 100 measurements (11.00%) 10 (10.00%) high mild 1 (1.00%) high severe procedural-string-lights time: [585.40 µs 590.98 µs 596.82 µs] change: [-3.7739% +0.7591% +4.6293%] (p = 0.76 > 0.05) No change in performance detected. Found 3 outliers among 100 measurements (3.00%) 3 (3.00%) high mild red-dress time: [8.4314 ms 8.5072 ms 8.5899 ms] change: [-26.797% -25.374% -23.958%] (p = 0.00 < 0.05) Performance has improved. Found 11 outliers among 100 measurements (11.00%) 5 (5.00%) high mild 6 (6.00%) high severe valley-of-spires time: [4.3700 ms 4.4118 ms 4.4579 ms] change: [-11.470% -10.198% -8.9826%] (p = 0.00 < 0.05) Performance has improved. Found 12 outliers among 100 measurements (12.00%) 7 (7.00%) high mild 5 (5.00%) high severe * Remove clone and use rustc hash for storing nodes isometric-fountain time: [5.9220 ms 5.9854 ms 6.0570 ms] change: [-11.974% -10.539% -9.2291%] (p = 0.00 < 0.05) Performance has improved. Found 12 outliers among 100 measurements (12.00%) 4 (4.00%) high mild 8 (8.00%) high severe painted-dreams time: [1.5337 ms 1.5470 ms 1.5618 ms] change: [-11.901% -10.907% -9.9075%] (p = 0.00 < 0.05) Performance has improved. Found 9 outliers among 100 measurements (9.00%) 5 (5.00%) high mild 4 (4.00%) high severe procedural-string-lights time: [496.44 µs 501.44 µs 506.33 µs] change: [-20.002% -15.633% -12.213%] (p = 0.00 < 0.05) Performance has improved. Found 4 outliers among 100 measurements (4.00%) 3 (3.00%) high mild 1 (1.00%) high severe red-dress time: [7.7037 ms 7.7871 ms 7.8774 ms] change: [-11.906% -10.576% -9.2560%] (p = 0.00 < 0.05) Performance has improved. Found 8 outliers among 100 measurements (8.00%) 7 (7.00%) high mild 1 (1.00%) high severe valley-of-spires time: [3.9182 ms 3.9501 ms 3.9851 ms] change: [-14.615% -13.075% -11.500%] (p = 0.00 < 0.05) Performance has improved. Found 1 outliers among 100 measurements (1.00%) 1 (1.00%) high severe * Fix test depending on stable node order * Simplify flattening * Remove unused dependant vec size safeguards * Improve topological sort and make assert debug only isometric-fountain time: [2.9515 ms 2.9971 ms 3.0459 ms] change: [-61.270% -60.533% -59.747%] (p = 0.00 < 0.05) Performance has improved. Found 11 outliers among 100 measurements (11.00%) 7 (7.00%) high mild 4 (4.00%) high severe Benchmarking painted-dreams: Warming up for 3.0000 s Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 8.1s, enable flat sampling, or reduce sample count to 50. painted-dreams time: [1.1134 ms 1.1322 ms 1.1494 ms] change: [-40.991% -37.660% -34.129%] (p = 0.00 < 0.05) Performance has improved. Found 1 outliers among 100 measurements (1.00%) 1 (1.00%) high severe procedural-string-lights time: [391.88 µs 397.80 µs 403.84 µs] change: [-19.953% -17.762% -14.930%] (p = 0.00 < 0.05) Performance has improved. Found 6 outliers among 100 measurements (6.00%) 3 (3.00%) high mild 3 (3.00%) high severe red-dress time: [3.0722 ms 3.1179 ms 3.1707 ms] change: [-59.878% -59.168% -58.422%] (p = 0.00 < 0.05) Performance has improved. Found 12 outliers among 100 measurements (12.00%) 5 (5.00%) high mild 7 (7.00%) high severe valley-of-spires time: [2.0234 ms 2.0470 ms 2.0737 ms] change: [-48.994% -47.910% -46.907%] (p = 0.00 < 0.05) Performance has improved. Found 9 outliers among 100 measurements (9.00%) 2 (2.00%) high mild 7 (7.00%) high severe * Improve id remapping logic by reusing id mapping isometric-fountain time: [2.2464 ms 2.2841 ms 2.3260 ms] change: [-25.693% -23.790% -22.024%] (p = 0.00 < 0.05) Performance has improved. Found 6 outliers among 100 measurements (6.00%) 5 (5.00%) high mild 1 (1.00%) high severe Benchmarking painted-dreams: Warming up for 3.0000 s Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 7.3s, enable flat sampling, or reduce sample count to 50. painted-dreams time: [869.96 µs 886.99 µs 902.36 µs] change: [-26.928% -19.590% -8.0737%] (p = 0.00 < 0.05) Performance has improved. Found 1 outliers among 100 measurements (1.00%) 1 (1.00%) high severe procedural-string-lights time: [291.60 µs 296.60 µs 302.45 µs] change: [-28.175% -25.168% -22.078%] (p = 0.00 < 0.05) Performance has improved. Found 8 outliers among 100 measurements (8.00%) 2 (2.00%) high mild 6 (6.00%) high severe red-dress time: [2.7946 ms 2.8356 ms 2.8800 ms] change: [-10.991% -9.0546% -6.9757%] (p = 0.00 < 0.05) Performance has improved. Found 7 outliers among 100 measurements (7.00%) 7 (7.00%) high mild valley-of-spires time: [1.5583 ms 1.5801 ms 1.6039 ms] change: [-24.165% -22.811% -21.213%] (p = 0.00 < 0.05) Performance has improved. Found 7 outliers among 100 measurements (7.00%) 7 (7.00%) high mild * Remove flame graph file
81 lines
2.4 KiB
Nix
81 lines
2.4 KiB
Nix
# This is a helper file for people using NixOS as their operating system.
|
|
# If you don't know what this file does, you can safely ignore it.
|
|
|
|
# If you are using Nix as your package manager, you can run 'nix-shell'
|
|
# in the root directory of the project and Nix will open a bash shell
|
|
# with all the packages needed to build and run Graphite installed.
|
|
# A shell.nix file is used in the Nix ecosystem to define a development
|
|
# environment with specific dependencies. When you enter a Nix shell using
|
|
# this file, it ensures that all the specified tools and libraries are
|
|
# available regardless of the host system's configuration. This provides
|
|
# a reproducible development environment across different machines and developers.
|
|
|
|
# You can enter the Nix shell and run Graphite like normal with:
|
|
# > npm start
|
|
# Or you can run it like this without needing to first enter the Nix shell:
|
|
# > nix-shell --command "npm start"
|
|
|
|
let
|
|
# Get oxalica's Rust overlay for better Rust integration
|
|
rust-overlay-source = builtins.fetchGit {
|
|
url = "https://github.com/oxalica/rust-overlay";
|
|
};
|
|
|
|
# Import it so we can use it in Nix
|
|
rust-overlay = import rust-overlay-source;
|
|
|
|
# Import system packages overlaid with the Rust overlay
|
|
pkgs = import <nixpkgs> {
|
|
overlays = [ rust-overlay ];
|
|
};
|
|
|
|
# Define the rustc we need
|
|
rustc-wasm = pkgs.rust-bin.stable.latest.default.override {
|
|
targets = [ "wasm32-unknown-unknown" ];
|
|
# wasm-pack needs this
|
|
extensions = [ "rust-src" "rust-analyzer" "clippy"];
|
|
};
|
|
in
|
|
# Make a shell with the dependencies we need
|
|
pkgs.mkShell {
|
|
packages = with pkgs; [
|
|
rustc-wasm
|
|
nodejs
|
|
cargo
|
|
cargo-watch
|
|
cargo-nextest
|
|
cargo-expand
|
|
wasm-pack
|
|
binaryen
|
|
wasm-bindgen-cli
|
|
vulkan-loader
|
|
libxkbcommon
|
|
llvm
|
|
gcc-unwrapped.lib
|
|
llvmPackages.libcxxStdenv
|
|
pkg-config
|
|
# used for profiling
|
|
gnuplot
|
|
samply
|
|
cargo-flamegraph
|
|
|
|
# For Tauri
|
|
openssl
|
|
glib
|
|
gtk3
|
|
libsoup
|
|
webkitgtk
|
|
|
|
# For Raw-rs tests
|
|
libraw
|
|
|
|
# Use Mold as a linker
|
|
mold
|
|
];
|
|
|
|
# Hacky way to run Cargo through Mold
|
|
LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [pkgs.openssl pkgs.vulkan-loader pkgs.libxkbcommon pkgs.llvmPackages.libcxxStdenv pkgs.gcc-unwrapped.lib pkgs.llvm pkgs.libraw];
|
|
shellHook = ''
|
|
alias cargo='mold --run cargo'
|
|
'';
|
|
}
|