Esegui attività che richiedono tempo in backgroundCi sentiamo frustrati quando troviamo JMP bloccato dopo aver avviato uno script che richiede molto tempo. Ma anche nella maggior parte di tali situazioni, è attivo un solo thread della CPU. JMP dovrebbe essere in grado di sfruttare gli odierni processori multicore e continuare a lavorare anche durante l'esecuzione di uno script pesante.
ScriptingOggetto: Eseguire attività che richiedono tempo in background - Stato modificato in: RiconosciutoCiao @nao , Grazie per il tuo suggerimento! Abbiamo acquisito la tua richiesta e la prenderemo in considerazione.
Ri: Esegui attività che richiedono tempo in backgroundRiesumo questo argomento. Ho un Macbook Pro da 32 GB (RAM) e, anche se JMP è l'unico programma in esecuzione che richiede più di 100 MB di RAM (ovvero nessun altro programma affamato di RAM), non riesco a ottenere il mio Macbook Pro ( 2019) per allocare più di 2 GB di RAM a JMP. Mi rendo conto che questo è probabilmente più un problema Mac che JMP, ma sembra strano che io abbia 32 GB di RAM, di cui solo 1 va a JMP, e quindi l'analisi si blocca per un'ora prima del completamento (82 colonne x 1000 righe MD). Non posso semplicemente dire al mio computer di utilizzare tutto ciò che ha per l'applicazione in questione? Voglio dire, immagino che la CPU sia al 100% durante questa analisi MDS, ma sembra strano che la memoria assegnata a JMP non superi mai i 2 GB, nonostante abbia 30 GB di RAM inutilizzata! La stessa analisi sul mio Macbook Air da 8 GB di RAM richiede la stessa quantità di tempo. A parità di condizioni, un computer con 32 GB di RAM non dovrebbe gestire un grosso lavoro meglio di un computer con 8 GB di RAM?
Ri: Esegui attività che richiedono tempo in backgroundComprimo regolarmente i dati. Questo è molto utile quando devi lavorare su una grande tabella di dati. Ecco un altro trucco: quando devi lavorare su un enorme set di dati ma usi regolarmente solo un numero limitato di colonne e ci sono molte colonne usate in minima parte (o mai), puoi velocizzare le cose staccando le colonne usate meno frequentemente usando il comando Subset /function, creando una colonna ID condivisa su entrambe le tabelle e collegandole tramite Virtual Join.Ri: Esegui attività che richiedono tempo in backgroundGrazie per il chiarimento. Apprezzo decisamente la capacità di JMP di sfruttare i processori multicore in alcune attività specifiche, come mostrare istogrammi di più colonne. Apprezzo anche la capacità di JSL di multi-threading abilitato tramite la funzione Parallel Assign(). Un piccolo trucco che utilizzo spesso consiste nell'avviare un'istanza separata di JMP durante l'elaborazione di alcune attività che richiedono molto tempo. Il problema sorge quando non riusciamo a prevedere un'attività che richiede tempo in JSL, in genere passando attraverso una tabella di big data, e troviamo il blocco di JMP senza nemmeno mostrare una barra di avanzamento. In tali situazioni, è utile lavorare su un'istanza JMP separata, ma JMP non è progettato per facilitare tale utilizzo di più istanze ed è in genere molto confuso e spesso inefficiente poiché è necessario prestare molta attenzione a quale istanza di JMP sta facendo che cosa. Non posso fare a meno di perdere RStudio, che invia codici a R in esecuzione in background e continua ad accettare comandi mentre viene elaborata qualsiasi attività che richiede tempo.Ri: Esegui attività che richiedono tempo in backgroundJMP è decisamente consapevole del multi-thread e può utilizzare più core della CPU ... ma non tutte le piattaforme ne approfittano.
Di seguito è riportato un elenco di piattaforme JMP multithread: http://www.jmp.com/support/notes/49/280.html
E puoi anche provare a comprimere la tabella dei dati che può essere un enorme risparmio di memoria e tempo di esecuzione: https://community.jmp.com/t5/Discussions/how-to-optimize-the-cpu-memory-usage-in-jmp-on-Windows/td-p/8492
Re: Eseguire attività che richiedono molto tempo in background - Stato modificato in: Riconosciuto