Comments (2)
I completely rewrote some parts of rawutil to make it more readable (it needed that...) and to limit exchanges of heavy data blocks. It should be a bit faster now. I also added a function to transparently use file objects, so I'll convert some 3DSkit modules to use it, it will completely avoid these performance problems. I already converted unpack.GARC, so you can test. You won't win a lot of time, because I cannot really faster the files decompression, but that's a little gain.
from 3dskit.
It can be the culprit, rawutil is very helpful, but actually a bit slow... The problem is that in your 55MB GARC (and probably in the 1.8 GB one), there are thousands of files, so thousands of FATO entries, so thousands of values to unpack. And also, as you say, parts of the data can be copied because of recursive call for the iterator [] in the structure, and because rawutil uses struct.unpack_from for the format characters presents in struct, with the whole data... So the thousands of times.... I'll try to optimize rawutil.
from 3dskit.
Related Issues (20)
- BFLIM replacement in ALYT files results in a crash HOT 40
- Mini repacking: "3DSkit is currently unable to pack this format" HOT 4
- No support for unpacking BFFNT v4.1 HOT 6
- Error extracting nx_bffnt font ,I don't know why. HOT 10
- BFFNT OverflowError: signed integer is greater than maximum HOT 8
- Error unpacking new BFLYT Nintendo Switch HOT 18
- Error unpacking new BFLAN Nintendo Switch HOT 23
- Error packing new BFLYT Nintendo Switch HOT 3
- Extracting files inside exefs Nintendo Switch HOT 3
- bksnd support HOT 3
- No Support for packing BFFNT v4.1 HOT 25
- Error extracting .bflyt "KeyError: '__parent'" HOT 1
- packing BFFNT
- UnsupportedDataFormatError: Unsupported texture format RGB565 (104) HOT 52
- Dbz Supersonic warriors 2 .arc files not supported HOT 2
- Download link? HOT 1
- Add a way to extract and convert the formats in Tank Troopers
- Error unpacking ALYT files HOT 2
- Show message if program is run without any arguments HOT 1
- BFLIM unpacking/repacking of non-multiple of 8px images results in weirdly distorted images HOT 6
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 3dskit.