|
73 | 73 |
|
74 | 74 | # differintP Changelog |
75 | 75 |
|
| 76 | +## 0.0.x |
| 77 | + |
76 | 78 | ### 0.0.2 (7/3/2025) |
77 | 79 |
|
78 | 80 | - Optimized core functions: `GL`, `RL`, and `RLpoint` |
79 | 81 | - Added GPU-accelerated `GL` (`GL_gpu`) via [CuPy](https://cupy.dev/) (optional dependency) |
80 | 82 | - Modernized package setup and build system |
81 | 83 |
|
82 | | -#### GL: |
| 84 | +[Benchmark](https://github.com/iparsw/differintC/blob/main/BENCHMARK.md) Result for GL: |
83 | 85 |
|
84 | 86 | | count | differintP | differint | |
85 | 87 | | ----- | ----------- | ----------- | |
|
91 | 93 | | 1+e7 | * | * | |
92 | 94 |
|
93 | 95 |
|
94 | | -#### RL |
| 96 | +[Benchmark](https://github.com/iparsw/differintC/blob/main/BENCHMARK.md) Result for RL |
95 | 97 |
|
96 | 98 | | count | differintP | differint | |
97 | 99 | | ----- | ----------- | ----------- | |
|
100 | 102 | | 1+e4 | 1372.8949 ms| 3.8757 ms | |
101 | 103 |
|
102 | 104 |
|
103 | | -#### RLpoint |
| 105 | +[Benchmark](https://github.com/iparsw/differintC/blob/main/BENCHMARK.md) Result for RLpoint |
104 | 106 |
|
105 | 107 | | count | differintP | differint | |
106 | 108 | | ----- | ----------- | ----------- | |
|
109 | 111 | | 1+e4 | 1.0374 ms | 9.7152 ms | |
110 | 112 | | 1+e5 | 12.5892 ms | 108.2792 ms | |
111 | 113 | | 1+e6 | 126.6893 ms | 995.7722 ms | |
112 | | -| 1+e7 | 1257.0316 ms| * | |
| 114 | +| 1+e7 | 1257.0316 ms| * | |
| 115 | + |
| 116 | + |
| 117 | +### 0.0.3 (7/4/2025) |
| 118 | + |
| 119 | +- **Redesigned `GLpoint`:** Now uses a fast, single-pass recurrence to compute the Grünwald-Letnikov fractional derivative at the endpoint. This new implementation is both efficient and direct. |
| 120 | +- Legacy and alternative endpoint methods (`GLpoint_direct` and `GLpoint_via_GL`) have been moved to `special.py` for reference and comparison. |
| 121 | + |
| 122 | +[Benchmark](https://github.com/iparsw/differintC/blob/main/BENCHMARK.md) Result for GLpoint: |
| 123 | + |
| 124 | +| count | differintP | differint | Speedup Factor | |
| 125 | +| ----- | ----------- | ------------ | -------------- | |
| 126 | +| 1+e2 | 0.0148 ms | 0.0416 ms | x2.81 | |
| 127 | +| 1+e3 | 0.0276 ms | 0.4213 ms | x15.26 | |
| 128 | +| 1+e4 | 0.0397 ms | 3.8376 ms | x96.66 | |
| 129 | +| 1+e5 | 0.3285 ms | 36.303 ms | x110.5 | |
| 130 | +| 1+e6 | 5.267 ms | 385.9205 ms | x73.27 | |
| 131 | +| 1+e7 | 51.2645 ms | 3674.3541 ms | x71.67 | |
| 132 | + |
| 133 | + |
| 134 | +- **Optimized `GLI` implementation:** |
| 135 | + |
| 136 | + - Replaced class-based coefficient calculation with direct variable computation for improved clarity and performance. |
| 137 | + - Vectorized the 3-point Lagrange interpolation step for all interior points. |
| 138 | + - Switched from per-point convolution in a loop to a single global convolution for the entire array, greatly increasing speed. |
| 139 | + - Introduced a hybrid approach: uses direct convolution for arrays smaller than 800 points and FFT convolution for larger arrays to ensure optimal performance. |
| 140 | + |
| 141 | +[Benchmark](https://github.com/iparsw/differintC/blob/main/BENCHMARK.md) Result for GLI: |
| 142 | + |
| 143 | +| count | differintP | differint | Speedup Factor | |
| 144 | +| ----- | ----------- | ------------ | -------------- | |
| 145 | +| 1+e2 | 0.7582 ms | 0.0536 ms | x14.14 | |
| 146 | +| 1+e3 | 7.391 ms | 0.1832 ms | x40.34 | |
| 147 | +| 1+e4 | 128.3709 ms | 0.6801 ms | x188.7 | |
| 148 | +| 2+e4 | 15181 ms | 5.3272 ms | x2849 | |
| 149 | + |
| 150 | +- Wiki Pages for |
| 151 | + - `CaputoL1point` `CaputoL2point` `CaputoL2Cpoint` `CaputoFromRLpoint` |
| 152 | + - `CRONE` `GL` `GLpoint` `GLI` `GL_gpu` |
| 153 | + - `RL` `RLpoint` |
0 commit comments