Comments (10)
Use similar binary search implemented in #90 against bus line not possible
Store raw data in cache, DO NOT STORE OBJECTS; will cause memory issues.
< 10,000 busses
https://bt.mta.info/wiki/Developers/SIRIVehicleMonitoring
Please note that the calls made without either a VehicleRef or LineRef produces quite a load on the system, so use them sparingly. Any developers found to be making repeated calls (e.g. at less than 30 second intervals) for all vehicles in the system may find their key revoked.
from onemta.
Only this subclass needs to be modified
Stop monitoring should derive values from vehicle request if possible.
from onemta.
JSON parser needs to be massively optimized to avoid memory issues; use JIT (just-in-time) parsing, where we load immediate keys into memory, then parse the subsequent object when requested.
This count needs to be optimized to only run once: not possible due to split logic
https://sites.google.com/site/gson/streaming
https://stackoverflow.com/a/11876086
Regex may actually be more inefficient since we are rescanning the string multiple times. Use character loop stream instead.
Return a method to parse for:
OneMTA/src/main/java/dev/katsute/onemta/Json.java
Lines 197 to 200 in f3dfe30
and
OneMTA/src/main/java/dev/katsute/onemta/Json.java
Lines 235 to 238 in f3dfe30
from onemta.
@mashiro-san create a branch upgrade-json
from onemta.
@Katsute I have created a new branch upgrade-json@f3dfe30
from onemta.
- get methods need to be optimized so synchronized isn't blocking threads
- pull bus stop alert info from gtfs feed
- derive stop vehicles from all vehicles
from onemta.
Use CopyOnWriteArrayList to allow concurrent reads and locked writes.
In order to make write thread safe, have synchronized write block also check if its expired before fetching (any current active writes will make the result not expired, any queued writes will see that the resource is no longer expired and will return the new one instead).
Get first then check if expired to prevent concurrency issues.
from onemta.
@mashiro-san create a new branch upgrade cache
from onemta.
@Katsute I have created a new branch upgrade-cache@ebf9c8e
from onemta.
Possibly use #100 to implement this.
from onemta.
Related Issues (20)
- Use GTFS bus feeds HOT 4
- Stop description not used
- Move test resource download to bash script
- Alert description is null HOT 1
- Maven deployment needs to be updated
- Arrival/departure time is incorrect HOT 2
- Add support for station transfer data HOT 6
- Add method to refresh realtime data HOT 5
- Add method to check if subway is express HOT 2
- Alert start/end periods are incorrect HOT 2
- Utility methods HOT 2
- Invalid LineRef for Bus Company HOT 2
- Update tests causing issues HOT 2
- Cancelled Trip API HOT 2
- Document enums HOT 4
- zip files for MTA busses have changed HOT 1
- (internal) zip changes for MTA bus static data HOT 5
- Optimize data resource + CSV searches HOT 2
- Failing to `resolveSubwayFeed` on express routes HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from onemta.