It’s a replacement for IndexedDB called VideoDB. It stores metadata locally on the PC while storing the actual data on your GPU.
Here are my benchmarks for PUT and GET. Each “row” is 1kb in size and I have an RTX-3090 (relatively slow given today’s standards):
PUT:
[RESULTS] Stress Test Performance:
jsonStress: ADD=92,276 rec/sec, PUT=9,433 rec/sec, DEL=19,513 rec/sec
float32Stress: ADD=369,846 rec/sec, PUT=9,948 rec/sec, DEL=19,454 rec/sec
float64Stress: ADD=320,723 rec/sec, PUT=9,884 rec/sec, DEL=18,084 rec/sec
int32Stress: ADD=374,717 rec/sec, PUT=9,806 rec/sec, DEL=18,616 rec/sec
uint8Stress: ADD=425,966 rec/sec, PUT=9,940 rec/sec, DEL=19,257 rec/sec
[RESULTS] Total Data Transferred (ADD/PUT): 7.78 GB
GET:
[TASK] Accuracy Test / GET Benchmark
[INFO] Successfully created VideoDB instance.
[STEP] Creating 1 store(s), each with 10000 records…
[SUCCESS] All stores created and populated.
[STEP] Verifying accuracy on 10000 random rows (out of 10000)…
[SUCCESS] All sampled records match exactly! Accuracy confirmed.
[STEP] Starting SEQUENTIAL GET performance test (3 seconds)…
[RESULTS] SEQUENTIAL GET: ~301 GETs/sec
[STEP] Starting RANDOM GET performance test (3 seconds)…
[RESULTS] RANDOM GET: ~297 GETs/sec
[STEP] Starting NON-CONTIGUOUS BATCHED GET performance test (3 seconds)…
[RESULTS] NON-CONTIGUOUS BATCHED GET: ~5,657 GETs/sec
[STEP] Starting CONTIGUOUS BATCHED GET performance test (3 seconds)…
[RESULTS] CONTIGUOUS BATCHED GET: ~7,392 GETs/sec
[INFO] Accuracy Test / GET Benchmark Completed.
o1 wrote the class in TypeScript / Javascript - this has never been written before.
o1 wrote the class documentation and JSDoc headers on all methods and functions.
o1 wrote the demo page to showcase and benchmark the class, along with advanded benchmark and performance metrics
I started writing this on Friday, January 10th at 2:00 PM and we finished the whole thing in 5 days.
People on the internet tried to do this and gave up because it was too complex, and o1ProMode finished it in less than a week.