Files
ferro-ta/benchmarks/artifacts/latest/benchmark_vs_talib.json
T
2026-03-24 02:02:10 +05:30

262 lines
5.8 KiB
JSON

{
"schema_version": 1,
"command": "python benchmarks/bench_vs_talib.py",
"n_warmup": 1,
"n_runs": 7,
"sizes": [
10000,
100000
],
"talib_available": true,
"runtime": {
"generated_at_utc": "2026-03-23T20:26:40.738132+00:00",
"python_version": "3.13.5",
"platform": "macOS-26.3.1-arm64-arm-64bit-Mach-O",
"machine": "arm64"
},
"git": {
"commit": "9011250f992119170242cf17a67834c67b91bcdb",
"dirty": true
},
"summary": {
"total_rows": 24,
"by_size": [
{
"size": 10000,
"rows": 12,
"wins": 8,
"win_rate": 0.6666666666666666,
"median_speedup": 1.0546,
"min_speedup": 0.7174,
"max_speedup": 2.0135
},
{
"size": 100000,
"rows": 12,
"wins": 7,
"win_rate": 0.5833333333333334,
"median_speedup": 1.0896,
"min_speedup": 0.4965,
"max_speedup": 3.6029
}
]
},
"results": [
{
"indicator": "SMA",
"size": 10000,
"ferro_ta_ms": 0.0093,
"talib_ms": 0.0167,
"speedup": 1.7937,
"ferro_ta_m_bars_s": 1076.19,
"talib_m_bars_s": 599.99
},
{
"indicator": "SMA",
"size": 100000,
"ferro_ta_ms": 0.0765,
"talib_ms": 0.1346,
"speedup": 1.7589,
"ferro_ta_m_bars_s": 1306.49,
"talib_m_bars_s": 742.8
},
{
"indicator": "EMA",
"size": 10000,
"ferro_ta_ms": 0.02,
"talib_ms": 0.0214,
"speedup": 1.0687,
"ferro_ta_m_bars_s": 500.0,
"talib_m_bars_s": 467.84
},
{
"indicator": "EMA",
"size": 100000,
"ferro_ta_ms": 0.1998,
"talib_ms": 0.1883,
"speedup": 0.9425,
"ferro_ta_m_bars_s": 500.42,
"talib_m_bars_s": 530.97
},
{
"indicator": "RSI",
"size": 10000,
"ferro_ta_ms": 0.0475,
"talib_ms": 0.048,
"speedup": 1.0088,
"ferro_ta_m_bars_s": 210.34,
"talib_m_bars_s": 208.52
},
{
"indicator": "RSI",
"size": 100000,
"ferro_ta_ms": 0.4804,
"talib_ms": 0.4635,
"speedup": 0.9647,
"ferro_ta_m_bars_s": 208.15,
"talib_m_bars_s": 215.77
},
{
"indicator": "BBANDS",
"size": 10000,
"ferro_ta_ms": 0.0215,
"talib_ms": 0.0433,
"speedup": 2.0135,
"ferro_ta_m_bars_s": 465.12,
"talib_m_bars_s": 230.99
},
{
"indicator": "BBANDS",
"size": 100000,
"ferro_ta_ms": 0.1686,
"talib_ms": 0.4275,
"speedup": 2.535,
"ferro_ta_m_bars_s": 593.03,
"talib_m_bars_s": 233.94
},
{
"indicator": "MACD",
"size": 10000,
"ferro_ta_ms": 0.0495,
"talib_ms": 0.065,
"speedup": 1.3134,
"ferro_ta_m_bars_s": 202.19,
"talib_m_bars_s": 153.95
},
{
"indicator": "MACD",
"size": 100000,
"ferro_ta_ms": 0.4459,
"talib_ms": 0.6334,
"speedup": 1.4205,
"ferro_ta_m_bars_s": 224.28,
"talib_m_bars_s": 157.88
},
{
"indicator": "ATR",
"size": 10000,
"ferro_ta_ms": 0.0483,
"talib_ms": 0.0502,
"speedup": 1.0405,
"ferro_ta_m_bars_s": 207.07,
"talib_m_bars_s": 199.0
},
{
"indicator": "ATR",
"size": 100000,
"ferro_ta_ms": 0.4705,
"talib_ms": 0.4788,
"speedup": 1.0174,
"ferro_ta_m_bars_s": 212.52,
"talib_m_bars_s": 208.88
},
{
"indicator": "STOCH",
"size": 10000,
"ferro_ta_ms": 0.0915,
"talib_ms": 0.066,
"speedup": 0.721,
"ferro_ta_m_bars_s": 109.24,
"talib_m_bars_s": 151.52
},
{
"indicator": "STOCH",
"size": 100000,
"ferro_ta_ms": 1.5285,
"talib_ms": 0.7589,
"speedup": 0.4965,
"ferro_ta_m_bars_s": 65.42,
"talib_m_bars_s": 131.77
},
{
"indicator": "ADX",
"size": 10000,
"ferro_ta_ms": 0.0692,
"talib_ms": 0.0522,
"speedup": 0.7538,
"ferro_ta_m_bars_s": 144.49,
"talib_m_bars_s": 191.7
},
{
"indicator": "ADX",
"size": 100000,
"ferro_ta_ms": 0.6209,
"talib_ms": 0.5731,
"speedup": 0.923,
"ferro_ta_m_bars_s": 161.05,
"talib_m_bars_s": 174.49
},
{
"indicator": "CCI",
"size": 10000,
"ferro_ta_ms": 0.0731,
"talib_ms": 0.0829,
"speedup": 1.1333,
"ferro_ta_m_bars_s": 136.75,
"talib_m_bars_s": 120.66
},
{
"indicator": "CCI",
"size": 100000,
"ferro_ta_ms": 0.7028,
"talib_ms": 0.8164,
"speedup": 1.1617,
"ferro_ta_m_bars_s": 142.3,
"talib_m_bars_s": 122.49
},
{
"indicator": "OBV",
"size": 10000,
"ferro_ta_ms": 0.0156,
"talib_ms": 0.0112,
"speedup": 0.7174,
"ferro_ta_m_bars_s": 640.0,
"talib_m_bars_s": 892.14
},
{
"indicator": "OBV",
"size": 100000,
"ferro_ta_ms": 0.2953,
"talib_ms": 0.2808,
"speedup": 0.9509,
"ferro_ta_m_bars_s": 338.6,
"talib_m_bars_s": 356.08
},
{
"indicator": "MFI",
"size": 10000,
"ferro_ta_ms": 0.0239,
"talib_ms": 0.0203,
"speedup": 0.8516,
"ferro_ta_m_bars_s": 418.85,
"talib_m_bars_s": 491.81
},
{
"indicator": "MFI",
"size": 100000,
"ferro_ta_ms": 0.1721,
"talib_ms": 0.62,
"speedup": 3.6029,
"ferro_ta_m_bars_s": 581.11,
"talib_m_bars_s": 161.29
},
{
"indicator": "WMA",
"size": 10000,
"ferro_ta_ms": 0.0105,
"talib_ms": 0.0203,
"speedup": 1.9363,
"ferro_ta_m_bars_s": 956.21,
"talib_m_bars_s": 493.83
},
{
"indicator": "WMA",
"size": 100000,
"ferro_ta_ms": 0.0869,
"talib_ms": 0.1868,
"speedup": 2.1506,
"ferro_ta_m_bars_s": 1151.08,
"talib_m_bars_s": 535.24
}
]
}