Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fatal Error Call #33

Closed
djmaxw3ll opened this issue Jul 21, 2020 · 4 comments
Closed

Fatal Error Call #33

djmaxw3ll opened this issue Jul 21, 2020 · 4 comments
Labels
bug Something isn't working

Comments

@djmaxw3ll
Copy link

image

@alza-bitz alza-bitz added the bug Something isn't working label Jul 22, 2020
@alza-bitz
Copy link
Contributor

Thanks for reporting this @djmaxw3ll 🙂

What is the size of the collection you're trying to convert, how many tracks?

Thanks

@djmaxw3ll
Copy link
Author

djmaxw3ll commented Jul 28, 2020 via email

alza-bitz added a commit that referenced this issue Jul 29, 2020
Investigation to determine if GraalVM can be used to fix #33.
So that Clojure/Java impl of data.xml is used instead of ClojureScript.

Using Clojure 1.10.2-alpha1 and spec-tools 0.10.0
Using xfthhxk fix for luchiniatwork/cambada#9
Working for files that don't exist (Traktor to Rekordbox)
Error for files that exist, from mp3-parser (Traktor to Rekordbox)
Error for all files? (Rekordbox to Traktor)
alza-bitz added a commit that referenced this issue Sep 27, 2020
Investigation to determine if GraalVM can be used to fix #33.
Now working for files that exist (Traktor to Rekordbox)
Fixed error from mp3-parser
alza-bitz added a commit that referenced this issue Sep 28, 2020
Investigation to determine if GraalVM can be used to fix #33.
Now working for files that exist (Traktor to Rekordbox)
Fixed error from mp3-parser
alza-bitz added a commit that referenced this issue Sep 29, 2020
Investigation to determine if GraalVM can be used to fix #33.
Now working for all files (Rekordbox to Traktor)
alza-bitz added a commit that referenced this issue Oct 1, 2020
Investigation to determine if GraalVM can be used to fix #33.
Now working for all files (Rekordbox to Traktor)
alza-bitz added a commit that referenced this issue Oct 1, 2020
Investigation to determine if GraalVM can be used to fix #33.
Now working for all files (Rekordbox to Traktor)
@alza-bitz
Copy link
Contributor

Hi @djmaxw3ll,

Some good news, I've now got a working build that should allow larger collections to be processed more efficiently without running out of memory 🙂

Here's a very informal performance comparison between the existing NodeJS build and the new experimental GraalVM build...

alex@localhost:/mnt/d/Projects/dj-data-converter$ time nodejs ./out/cli.js -w /mnt/c/Users/alex/Documents/Native\ Instruments/Traktor\ 2.11.3/collection.nml

Conversion completed

real    3m48.585s
user    2m1.602s
sys     0m6.789s

alex@localhost:/mnt/d/Projects/dj-data-converter$ time ./target/dj-data-converter -w /mnt/c/Users/alex/Documents/Native\ Instruments/Traktor\ 2.11.3/collection.nml

Conversion completed

real    1m20.615s
user    0m38.234s
sys     0m4.089s

Looks promising, although this is just execution time of course and not memory usage. However, I'm hoping that memory usage will be lower on GraalVM, because the Clojure/Java implementation of data.xml parsing is much more efficient than the ClojureScript/NodeJS implementation, and will therefore allow larger files to be processed without running out of memory.

The next step is to modify the Azure Devops build to produce Windows and/or Mac GraalVM images for testing.

Regarding Windows and/or Mac, from the screenshot above it looks like you're on Windows, is that correct @djmaxw3ll?

Thanks!

@alza-bitz
Copy link
Contributor

Hi @djmaxw3ll,

I've got a Windows build for you to test with, see attached...

Please can you download, run it on your Traktor collection and let me know the result?

Thanks! 🙂

dj-data-converter-win.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants