joplin / joplin/plugin-bibtex

Stress test

Open
#13 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
31
Forks
8
PR merge metrics
No merged PRs in 30d

Description

I stress tested the code with large `.bib` files. I already did that before with a ~300KB file, but this time I tried much larger files.

## Method
I couldn't find a BibTeX file with 1GB of data so I downloaded [this](https://shelah.logic.at/v1/listb.bib) file. After that, I wrote a [script](https://ideone.com/G53WKF) that makes another copy of the file and then starts duplicating its contents over and over again until it reaches a certain size that I specify.

## Machine specs
- **Processor**: `Intel Core i5-10210U (1.60GHz × 8)`
- **RAM**: `16GB`
- **Disk**: `240GB SSD`
- **OS**: `Ubuntu 20.04 64-bit`

### Results
After adjusting the size parameter and observing what happens to the plugin when I execute the main command, I came up with the following conclusions:
- If the size is above `512MB` (about equivalent to `536870912 Bytes`, which is about equivalent to `0x1FFFFFE8 Bytes` in Hexadecimal), nothing happens for one or two seconds then the below alert appears:
![Cannot create a string longer than 0x1FFFFFE8 characters](https://i.ibb.co/CWM6tQG/Screenshot-from-2021-07-03-00-01-31.png)
- If the size is below `512MB`, nothing happens for about 20 seconds or so, then the call stack will not afford that much data and will throw an error like this:
![Maximum call stack size exceeded](https://i.ibb.co/qn1ttVm/Screenshot-from-2021-07-03-00-07-32.png)
- If the size `<= 12MB` (which accounts for about `40,000` references), the plugin works fine and there are no issues at all.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.