Graphite icon indicating copy to clipboard operation
Graphite copied to clipboard

Fix #[range] to act as a soft min/max

Open mTvare6 opened this issue 7 months ago • 4 comments

Follow up to #2464

mTvare6 avatar May 28 '25 21:05 mTvare6

We still need to cap it in the frontend component because of dragging the value, which needs to bottom out and be instantly reversible by changing the mouse direction instead of having to travel the full distance it wasn't moving beyond its backend-enforced cap. I'll have to do some thinking about this.

Keavon avatar May 30 '25 19:05 Keavon

Performance Benchmark Results

compile_demo_art_iai::compile_group::compile_to_proto with_setup_0:load_from_name(isometric-fountain) Instructions: 25,124,142 (master) -> 25,102,250 (HEAD) : $$\color{lime}-0.09\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     311,567|    310,870          -0.22%
D1mw                      97,295|     98,974          +1.73%
DLmr                      29,054|     28,586          -1.61%
DLmw                      48,779|     33,343         -31.64%
Dr                     6,082,467|  6,080,321          -0.04%
Dw                     4,306,340|  4,299,330          -0.16%
EstimatedCycles       39,684,301| 39,207,165          -1.20%
I1mr                      43,876|     50,502         +15.10%
ILmr                         847|        867          +2.36%
Ir                    25,124,142| 25,102,250          -0.09%
L1hits                35,060,211| 35,021,555          -0.11%
LLhits                   374,058|    397,550          +6.28%
RamHits                   78,680|     62,796         -20.19%
TotalRW               35,512,949| 35,481,901          -0.09%

compile_demo_art_iai::compile_group::compile_to_proto with_setup_1:load_from_name(painted-dreams) Instructions: 13,089,121 (master) -> 12,285,217 (HEAD) : $$\color{lime}-6.14\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     156,970|    146,268          -6.82%
D1mw                      49,832|     47,345          -4.99%
DLmr                         564|        330         -41.49%
DLmw                      15,867|     15,386          -3.03%
Dr                     3,170,050|  2,976,467          -6.11%
Dw                     2,235,030|  2,095,593          -6.24%
EstimatedCycles       19,923,813| 18,718,803          -6.05%
I1mr                      21,841|     23,386          +7.07%
ILmr                         737|        735          -0.27%
Ir                    13,089,121| 12,285,217          -6.14%
L1hits                18,265,558| 17,140,278          -6.16%
LLhits                   211,475|    200,548          -5.17%
RamHits                   17,168|     16,451          -4.18%
TotalRW               18,494,201| 17,357,277          -6.15%

compile_demo_art_iai::compile_group::compile_to_proto with_setup_2:load_from_name(procedural-string-lights) Instructions: 2,205,999 (master) -> 2,657,571 (HEAD) : $$\color{red}+20.47\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                      22,623|     27,640         +22.18%
D1mw                      10,837|     12,568         +15.97%
DLmr                          22|         22          +0.00%
DLmw                       1,567|      2,610         +66.56%
Dr                       509,976|    616,312         +20.85%
Dw                       372,649|    449,778         +20.70%
EstimatedCycles        3,310,850|  4,012,163         +21.18%
I1mr                       4,749|      6,770         +42.56%
ILmr                         724|        721          -0.41%
Ir                     2,205,999|  2,657,571         +20.47%
L1hits                 3,050,415|  3,676,683         +20.53%
LLhits                    35,896|     43,625         +21.53%
RamHits                    2,313|      3,353         +44.96%
TotalRW                3,088,624|  3,723,661         +20.56%

compile_demo_art_iai::compile_group::compile_to_proto with_setup_3:load_from_name(parametric-dunescape) Instructions: 14,477,695 (master) -> 12,553,372 (HEAD) : $$\color{lime}-13.29\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     187,402|    155,936         -16.79%
D1mw                      65,836|     50,733         -22.94%
DLmr                          54|         44         -18.52%
DLmw                      14,371|     12,172         -15.30%
Dr                     3,469,087|  3,010,949         -13.21%
Dw                     2,484,952|  2,144,880         -13.69%
EstimatedCycles       21,978,778| 19,010,247         -13.51%
I1mr                      18,908|     20,695          +9.45%
ILmr                         857|        837          -2.33%
Ir                    14,477,695| 12,553,372         -13.29%
L1hits                20,159,588| 17,481,837         -13.28%
LLhits                   256,864|    214,311         -16.57%
RamHits                   15,282|     13,053         -14.59%
TotalRW               20,431,734| 17,709,201         -13.33%

compile_demo_art_iai::compile_group::compile_to_proto with_setup_4:load_from_name(red-dress) Instructions: 30,714,611 (master) -> 30,068,892 (HEAD) : $$\color{lime}-2.10\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     392,536|    383,265          -2.36%
D1mw                     130,799|    126,464          -3.31%
DLmr                      42,473|     40,765          -4.02%
DLmw                      58,823|     63,978          +8.76%
Dr                     7,376,611|  7,225,528          -2.05%
Dw                     5,234,486|  5,116,967          -2.25%
EstimatedCycles       48,674,666| 47,837,847          -1.72%
I1mr                      47,622|     54,721         +14.91%
ILmr                         875|        879          +0.46%
Ir                    30,714,611| 30,068,892          -2.10%
L1hits                42,754,751| 41,846,937          -2.12%
LLhits                   468,786|    458,828          -2.12%
RamHits                  102,171|    105,622          +3.38%
TotalRW               43,325,708| 42,411,387          -2.11%

compile_demo_art_iai::compile_group::compile_to_proto with_setup_5:load_from_name(valley-of-spires) Instructions: 19,072,063 (master) -> 19,061,296 (HEAD) : $$\color{lime}-0.06\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     237,449|    234,798          -1.12%
D1mw                      77,011|     76,337          -0.88%
DLmr                      11,822|     12,177          +3.00%
DLmw                      28,361|     29,567          +4.25%
Dr                     4,601,746|  4,602,658          +0.02%
Dw                     3,259,098|  3,254,969          -0.13%
EstimatedCycles       29,552,005| 29,589,253          +0.13%
I1mr                      33,032|     37,555         +13.69%
ILmr                         788|        775          -1.65%
Ir                    19,072,063| 19,061,296          -0.06%
L1hits                26,585,415| 26,570,233          -0.06%
LLhits                   306,521|    306,171          -0.11%
RamHits                   40,971|     42,519          +3.78%
TotalRW               26,932,907| 26,918,923          -0.05%

github-actions[bot] avatar Jul 01 '25 02:07 github-actions[bot]

This current solution disregards the backend's hard max and lets the frontend display a false state until its layout gets re-sent:

https://github.com/user-attachments/assets/b989ebad-fab4-4697-8fa9-75be1852f997

Keavon avatar Jul 09 '25 02:07 Keavon

@otdavies requested in a chat with me:

also, I want auto-tangents to also go negative

I believe doing that can't happen till this PR is done.

Keavon avatar Aug 02 '25 09:08 Keavon