Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: [JAVA] Prestazioni

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    47

    [JAVA] Prestazioni

    Salve a tutti, avrei una piccola domanda da fare a tutti i programmatori java, secondo voi un'applicazione java può avere le stesse prestazioni, non dal punto di vista del tempo o delle risorse, ma di risultati rispetto alla stessa applicazione scritta in C?
    Grazie a tutti..
    ..::AXIS RuLez::..

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    160
    se ho capito cosa intendi con "prestazioni di risultati", cioè come numero di risultati ottenibili, penso proprio di no.
    Java è stato progettato per girare su più piattaforme. In C puoi fare semplicemente TUTTO, perchè, ad esempio, puoi scrivere codice assembly, in java sei legato a ciò che ti offre la virtual machine, oltre quello non puoi andare.
    Certo il C ha lo svantaggio di essere legato ad una architettura, se vuoi disegnare uan finestra per windows devi usare le api di windows e la portabilità se ne va a quel paese.
    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    47
    siccome l'applicazione che ho creato è un modulo di annotazione per l'identifinder, in pratica prende un file di testo e lo etichetta in base al calcolo delle probabilità, i risultati che ho ottenuti sono pari al 85,7% delle parole etichettate totali, mentre la stessa applicazione in c ha prestazioni dell'88,6%; la mia domanda è relativa al fatto se aver ottenuto 85,7 rispetto a 88,6 è normale in quanto java oppure c'è qualcosa di sbagliato nel programma da me scritto..
    ..::AXIS RuLez::..

  4. #4
    dipende da cosa devi fare, per calcoli matematici ottieni prestazioni molto vicine a quelle dei linguaggi a più basso livello, se invece per esempio devi gestire I/O ad alta velocità sulle porte non ce la fai a raggiungere prestazioni decenti.

    Certo, le prestazioni non sono proprio identiche ma come avrai notato c'è una piccolissima discrepanza tra i risultati.

    Puoi comunque anche provare a compilare tutto con gcj, e eseguire il compilato come se lo avessi fatto in C.
    Ci sono cose che non si possono sapere. Per tutto il resto c'è man

    Prima di fare domande stupide: 1) googla 2) leggi le manpages 3) sparati.

  5. #5
    Originariamente inviato da axis82
    siccome l'applicazione che ho creato è un modulo di annotazione per l'identifinder, in pratica prende un file di testo e lo etichetta in base al calcolo delle probabilità, i risultati che ho ottenuti sono pari al 85,7% delle parole etichettate totali, mentre la stessa applicazione in c ha prestazioni dell'88,6%; la mia domanda è relativa al fatto se aver ottenuto 85,7 rispetto a 88,6 è normale in quanto java oppure c'è qualcosa di sbagliato nel programma da me scritto..
    Che con java nonb puoi fare tutto è vero ma solo in parte, grazie alle jni ti avvicini molto al poter fare tutto, a patto ovviamente di perdere la portabilità perchè una parte del codice la dovrai scrivere in linguaggio nativo.
    Per il tuo problema spiega un po meglio di cosa si tratta perchè almeno io non ho capito nulla.
    Cos'è l'identifiender?In che soa consiste questa etichettatura in base al calcolo delle probabilità?Che metodo hai usato per ottenere questo risultato statistico che hai citato?
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  6. #6
    Originariamente inviato da stai_tranquillo
    dipende da cosa devi fare, per calcoli matematici ottieni prestazioni molto vicine a quelle dei linguaggi a più basso livello, se invece per esempio devi gestire I/O ad alta velocità sulle porte non ce la fai a raggiungere prestazioni decenti.

    Certo, le prestazioni non sono proprio identiche ma come avrai notato c'è una piccolissima discrepanza tra i risultati.

    Puoi comunque anche provare a compilare tutto con gcj, e eseguire il compilato come se lo avessi fatto in C.
    gcj non supporta tutto però, se hai usato anche una solo cosa non supportata (ad esempio le swing) non riuscirai a compilare.
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  7. #7
    Originariamente inviato da unomichisiada
    gcj non supporta tutto però, se hai usato anche una solo cosa non supportata (ad esempio le swing) non riuscirai a compilare.
    tempo fa ho scaricato e testato una versione completa di eclipse compilata con gcj, e funzionava tutto. Ovvio che perdi la portabilità e alcune cose sono ancora mal supportate, ma awt e swing sono supportati, anche se non del tutto.

    In ogni caso, se uno ha bisogno di prestazioni può fare anche un mix tra compilato-gcj e java normale.. sempre che non abbia esigenze di portabilità.
    Ci sono cose che non si possono sapere. Per tutto il resto c'è man

    Prima di fare domande stupide: 1) googla 2) leggi le manpages 3) sparati.

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    47
    L'identifinder è un tool di machine learning per il riconoscimento di named entity, ovvero riconosce in un testo in base ad alcune regole Nomi di persone, luoghi, organizzazioni, date etc..
    la fase di learning genera 2 file in cui sono contenuti dei valori che verranno utilizzati per il calcolo delle probabilità.
    la mia applicazione prende il testo da etichettare, legge parola per parola e tramite il calcolo delle probabilità basato sulla parola letta e su quella precedente, riconosce se è una parola interessante ai fini dell'etichettatura o meno.
    il mio problema è di riuscire ad arrivare a prestazioni almeno pari a quelle che si hanno con la stessa applicazione in c, e volevo sapere se è possibile riuscire a fare questa cosa..
    ..::AXIS RuLez::..

  9. #9
    quello dipende da come scrivi il programma, non c'entra niente con le prestazioni del linguaggio..

    se ottieni risultati differenti evidentemente utilizzi algoritmi differenti tra i due programmi.
    Ci sono cose che non si possono sapere. Per tutto il resto c'è man

    Prima di fare domande stupide: 1) googla 2) leggi le manpages 3) sparati.

  10. #10
    Originariamente inviato da stai_tranquillo
    tempo fa ho scaricato e testato una versione completa di eclipse compilata con gcj, e funzionava tutto. Ovvio che perdi la portabilità e alcune cose sono ancora mal supportate, ma awt e swing sono supportati, anche se non del tutto.

    In ogni caso, se uno ha bisogno di prestazioni può fare anche un mix tra compilato-gcj e java normale.. sempre che non abbia esigenze di portabilità.
    Ciao, mi permetto di insistere,gcj NON supporta per nulla le swing (non ancora) e nemmeno la totalità delle awt (quasi tutto). Eclipse è un caso particolare, è stato scritto usando le swt per le quali c'è invece il pieno supporto alla compilazione in linguaggio nativo. Anche il supporto per moli dei package della sun è ancora abbstanza limitato.Se non sei ancora convinto o vuoi saperne di più ti invito a consultare il sito ufficiale http://gcc.gnu.org/java/index.html. Comunque certo chi ha dato vita al 3d potrebbe compilarsi solo la parte relativa all'algoritmo, ma a quel punto la vedrei meglio con le jni,tanto la portabilità viene persa comunque.
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.