Comments (5)
Emscripten has IDBFS, IndexedDB based, https://kripken.github.io/emscripten-site/docs/api_reference/Filesystem-API.html
Found this when debugging, may not be representative of normal usage, but profiling often shows SQLite taking a lot of time:
from netcraft.
Maybe replace sqlite with a hand-tailored binary format? How many of the database-y features are really needed? Looks like it is fairly well abstracted in src/db.h and src/db.c (contains SQL).
from netcraft.
Would lmdb https://en.wikipedia.org/wiki/Lightning_Memory-Mapped_Database be a viable alternative? Or write something custom from scratch.
from netcraft.
There may be problems with the included sqlite compiling under emscripten, found this old pull request: emscripten-core/emscripten#1144 "Added SQLite3 distribution tailored for Emscripten ASM.js compilation" - it is said to remove function pointer casting for asm.js compilation. There is also https://github.com/kripken/sql.js (how does it differ from building sqlite with emscripten with no changes? is https://github.com/kripken/sql.js/commits/master/c/sqlite3.c unmodified?)
from netcraft.
Note there is a USE_CACHE option in src/config.h, set to 1. The database is always used in offline mode. But in online mode (used #localhost
connecting to WebSandboxMC), changed to 0, comparing the performance graph in Chrome. Before (with USE_CACHE 1), see the sqlite3_exec calls:
after, with USE_CACHE 0, less heavy:
from netcraft.
Related Issues (20)
- Cookie to save login session?
- Screenshots look brighter than they are - saving alpha channel? HOT 1
- Liquids should target block underneath when mining HOT 2
- Crouching with shift should allow sliding along edges
- Crouching while falling but not flying allows hovering midair
- [VR] Use window size as vr size, allow resizing by retoggling to reinitialize
- Touch controls should allow full game interaction
- Use only terrain from server, remove local generation when online
- Update glfw to fix build and runtime warnings HOT 1
- Touch events not received on initial page load
- /list command to list player names and count online
- [VR] Google Cardboard support
- [Touch] Block should mine only when touching in same place without moving
- Showing chunk boundary borders
- View bobbing when walking HOT 1
- Rendered arm of player in first person HOT 1
- Crafting HOT 1
- Try out "Voxelus"? HOT 1
- Texture Management Change
- Build failing on Linux when building LLVM from source 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 netcraft.