Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Osmo Nano: la piccola fotocamera alla prova sul campo
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
La nuova fotocamera compatta DJI spicca per l'abbinamento ideale tra le dimensioni ridotte e la qualità d'immagine. Può essere installata in punti di ripresa difficilmente utilizzabili con le tipiche action camera, grazie ad una struttura modulare con modulo ripresa e base con schermo che possono essere scollegati tra di loro. Un prodotto ideale per chi fa riprese sportive, da avere sempre tra le mani
FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III è la nuvoa fotocamera mirrorless pensata per chi si avvicina alla fotografia e ricerca una soluzione leggera e compatta, da avere sempre a disposizione ma che non porti a rinunce quanto a controllo dell'immagine.
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Da Las Vegas, la visione di Larry Ellison e la concretezza di Clay Magouyrk definiscono la nuova traiettoria di Oracle: portare l’intelligenza artificiale ai dati, non i dati all’intelligenza, costruendo un’infrastruttura cloud e applicativa in cui gli agenti IA diventano parte integrante dei processi aziendali, fino al cuore delle imprese europee
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-03-2013, 12:36   #61
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
Banryu sarà senz'altro d'accordo, almeno per PGI-Bis.
Eh... per me leggere i post di PGI è sempre fonte di ispirazione.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2013, 14:16   #62
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Eqque qua:

http://www.filedropper.com/findnew

Uso l'esempio javadoc adattato però per contare i file nascosti e normali:



778 secondi contro 20 secondi.

778 secondi: leggasi: 13 minuti

20 secondi: leggasi: un terzo di minuto

Mi verrebbe da mettere la faccina LOL ma non vi piace

EDIT: dimenticavo: i file(la dll e l'eseguibile windows) sono stati creati con Visual Studio 2012. Quindi potrebbe essere necessario, per poter eseguire il pogramma, installare i runtime del compilatore che potete scaricare gratuitamente da qui:

http://www.microsoft.com/it-it/downl....aspx?id=30679


Ultima modifica di Vincenzo1968 : 18-03-2013 alle 00:10. Motivo: Aggiunta versione C#.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2013, 14:22   #63
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Ah dimenticavo: nella mia dll ho usato l'algoritmo ricorsivo. Se usassi l'algoritmo iterativo ci impiegherebbe molto meno tempo.

Vediamo chi ha il coraggio di negare che, in situazioni come queste, non sarebbe il caso di usare Java-C(via JNI o, meglio, via JNA).

Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2013, 14:30   #64
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Eh... per me leggere i post di PGI è sempre fonte di ispirazione.
Grande PGI-Bis! Com'è che non posta più? L'avete fatto incazzare come con repne?
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2013, 14:32   #65
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
https://github.com/twall/jna#readme

Java Native Access (JNA)

The definitive JNA reference (including an overview and usage details) is in the JavaDoc. Please read the overview.

JNA provides Java programs easy access to native shared libraries (DLLs on Windows) without writing anything but Java code—no JNI or native code is required. This functionality is comparable to Windows' Platform/Invoke and Python's ctypes. Access is dynamic at runtime without code generation.

JNA allows you to call directly into native functions using natural Java method invocation. The Java call looks just like it does in native code. Most calls require no special handling or configuration; no boilerplate or generated code is required.

The JNA library uses a small native library stub to dynamically invoke native code. The developer uses a Java interface to describe functions and structures in the target native library. This makes it quite easy to take advantage of native platform features without incurring the high overhead of configuring and building JNI code for multiple platforms.

While some attention is paid to performance, correctness and ease of use take priority.

JNA includes a platform library with many native functions already mapped as well as a set of utility interfaces that simplify native access.

Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2013, 15:25   #66
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Comunque vale davvero la pena di rileggerseli con attenzione questi due magnifici thread:

http://www.hwupgrade.it/forum/showth...0#post18906850

http://www.hwupgrade.it/forum/showth...7#post18984007

Ancora non ho trovato il thread che dovrebbe giustificare quella squallida frase in firma
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2013, 16:08   #67
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da franksisca Guarda i messaggi
ho letto tutto, e tralasciando l'ot, non vedo l'ora di vedere il confronto, sono sempre stato curioso sugli impatti della jvm nelle applicazioni
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2013, 16:33   #68
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
778 secondi: leggasi: 13 minuti

20 secondi: leggasi: un terzo di minuto

Mi verrebbe da mettere la faccina LOL ma non vi piace
Prima dei tempi guarderei i risultati, che sono diversi...
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2013, 17:06   #69
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da shinya Guarda i messaggi
Prima dei tempi guarderei i risultati, che sono diversi...
Perché Java, a un certo punto, lancia, non si sa perché, l'eccezione AccessDeniedException sulla cartella C:\Qoobox\BackEnv; si vede nell'immagine postata.

Ma quello è codice preso da JavaDoc come m'avete consigliato. Postate il vostro codice che rifaccio i benchmark.

Inoltre, Shinya, puoi accertarti della bontà dell'applicazione C provandola su una cartella con pochi file. Marcane qualcuno col flag hidden e vedi.

Ultima modifica di Vincenzo1968 : 15-03-2013 alle 17:10.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2013, 17:14   #70
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
dio maledica Sun, Gosling e tutti quelli che hanno collaborato a questo strumento del diavolo.(cit.)

Indovinate, di chi è la frase citata?

http://www.hwupgrade.it/forum/showpo...02&postcount=2

Sottovento, che è? che dici?

Il linguaggio critica, non le persone che ci lavorano: "Sun è assolutamente indifendibile su queste porcate da dilettanti allo sbaraglio.".

Sottove', 'mbé?

EDIT:

Josling & soci dovevano andare a zappare invece di fare tutto questo danno.

http://www.hwupgrade.it/forum/showpo...9&postcount=17

Ultima modifica di Vincenzo1968 : 15-03-2013 alle 18:45.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2013, 18:45   #71
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
dio maledica Sun, Gosling e tutti quelli che hanno collaborato a questo strumento del diavolo.(cit.)

Indovinate, di chi è la frase citata?

http://www.hwupgrade.it/forum/showpo...02&postcount=2

Sottovento, che è? che dici?

Il linguaggio critica, non le persone che ci lavorano: "Sun è assolutamente indifendibile su queste porcate da dilettanti allo sbaraglio.".

Sottove', 'mbé?
Questo e' l'ultimo messaggio che scrivo, e' meglio che mi prenda una pausa da questo forum.

Evidentemente sono io che ho frainteso: sai, quando scrivi LOL, metti ometti a braccia conserte e tutto l'armamentario, significa che stai ridendo in faccia al tuo interlocutore, vuoi sottolineare il fatto che la tua controparte ha detto una c...ta.
Molti di questi interlocutori possono pensarla in maniera diversa da te, ma non e' un buon motivo per questo comportamento.
Ho cercato di fartelo notare, ma hai risposto andando a prendere qua e la' dei messaggi, tentando di giustificare il tuo comportamento.
Giustificatissimo!! Continua pure cosi', alla grande. Piace a tutti. Non badare a me, io ho una cosa da fare, non rispondero' piu'.
Sui forum puo' capitare di avere diverbi ed anche arrabbiarsi con chi la pensa in maniera diversa e vede come fenomenale una tecnologia o un linguaggio che ti fa schifo. Ma onestamente, non ho mai trovato nessuno offensivo, nonostante i toni accesi. Stiamo parlando di cose soggettive, quindi il problema puo' essere benissimo mio, ma non sono l'unico a sentirsi offeso dal tuo modo di fare.
Se vuoi un suggerimento da amico, prova a pensare a queste parole, potresti guadagnarci. Anzi, ci guadagneremmo tutti. So che non puoi lasciare l'ultima parola a nessuno e quindi il mio post scatenera' un'altra ridda di risposte.
Non preoccuparti, non ne leggero' nemmeno una.

Ad ogni modo: come sempre, il tuo programma C++ e' SBAGLIATO. Succede, quando si scrive software per umiliare gli altri, dev'esserci una specie di legge del contrappasso informatico.
Meglio scriverlo ancora: SBAGLIATO. Nella mia directory di test avevo 9 files, nessuno hidden ed ovviamente ne ha trovato un altro numero.

Veniamo ora al programma java. Con una piccola modifica (che non pubblichero' per evitare continui scorni), ho ottenuto i risultati seguenti (riporto anche quelli del tuo programma, anche se fuori concorso perche' errato - serve solo per riferimento con i tempi):

Codice:
C:\LastMessageInForum>ptime ViciudFindFile64 c:\

ptime 1.0 for Win32, Freeware - http://www.pc-tools.net/
Copyright(C) 2002, Jem Berkes <[email protected]>

===  ViciudFindFile64 c:\ ===


Hidden : 3539
Other  : 390305
Total  : 393844


Execution time: 13.804 s

C:\LastMessageInForum>ptime java -jar ScanDir.jar c:\

ptime 1.0 for Win32, Freeware - http://www.pc-tools.net/
Copyright(C) 2002, Jem Berkes <[email protected]>

===  java -jar ScanDir.jar c:\ ===
Hidden: 1371
Regular:341736

Execution time: 42.025 s
C:\LastMessageInForum>

Naturalmente, questo taglia la testa al toro, visto che monto un disco da mezzo tera: PASSARE AL C++ NON CONVIENE NEMMENO IN QUESTO CASO!!
Si tratta di pochi secondi in piu' per scandire l'intero hard disk, e produrre il risultato CORRETTO (verificato).

Questo e' importante, ho deciso di scrivere ancora questo messaggio per evitare che qualcuno, impressionato dalle prestazioni che hai pubblicato, fosse tentato di fare un grave errore, buttare via portabilita', robustezza e tutto il resto, solo per ottenere una prestazione migliore.
Non c'e' alcuna prestazione migliore.

D'altronde era ragionevole: si tratta di una chiamata di sistema, ed effettuarla da C++ invece che da Java non dovrebbe cambiare troppo, no?

L'unica cosa che cambia, e' che Java qualcosa di piu', ovvero un sistema piu' robusto di controllo degli accessi (i.e. le eccezioni di cui parlavi), che giustifica l'overhead.

Per inciso: questa e' solo la prima prova, e' scontato che possa migliorare ancora i tempi, ma non era questo lo scopo. E poi, come dicevo, ho una cosa importante da fare
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2013, 18:57   #72
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Ad ogni modo: come sempre, il tuo programma C++ e' SBAGLIATO. Succede, quando si scrive software per umiliare gli altri, dev'esserci una specie di legge del contrappasso informatico.
Meglio scriverlo ancora: SBAGLIATO. Nella mia directory di test avevo 9 files, nessuno hidden ed ovviamente ne ha trovato un altro numero.


L'unica cosa che mi sono dimenticato è che il mio programma conta anche le cartelle nascoste, non soltanto i file. Che sia sbagliato lo dici tu. Io ho effettuato parecchie prove e funziona perfettamente.

E che io voglia umiliare qualcuno lo dici tu. Non mi sono mai sognato di umiliare nessuno e tantomeno Vicius che, nonostante le discussioni accese e i litigi, mi sta simpatico.
Avevo chiesto, a Vicius, di postare un suo esempio e m'ha risposto di cercarmelo su JavaDoc. Io quello ho trovato. Tu hai risolto migliorando notevolmente i tempi; posta il codice, nell'interesse generale.

Dai che posto la versione iterativa e confrontiamo i tempi.

Ultima modifica di Vincenzo1968 : 15-03-2013 alle 19:03.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2013, 19:36   #73
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Eqque qua:



Ho modificato il mio programma in modo da fargli contare solo i file e non anche le cartelle.
Come mai la versione Java trova soltanto 86 file quando sono invece 88 come correttamente riportato dalla mia versione C? Ripeto, il programmino Java l'ho copiato dai JavaDoc come consigliatomi da Vicius.

Questo? Taglia la testa al toro?
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2013, 19:57   #74
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
E questo? La taglia la testa al toro?



Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2013, 20:37   #75
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
E questo? La taglia la testa al toro?



Prima di tutto voglio farti notare una piccola incongruenza nei dati che hai riportato oggi. Nella prima prova la versione Java risulta quasi 39 volte più lenta della versione C. In quest'ultima è invece solo 4 volte più lenta. Immagino che entrambi i programmi non abbiano subito modifiche tra le due prove. Ma allora come mai? Prova a pensarci che no è difficile da capire.

Per quanto riguarda il tuo programmino java io avrei usato DirectoryStream. Anche SimpleFileVisitor può andare bene ma è più lento perché legge da solo gli attributi standard di tutti i file che a te non interessano. L'errore grave è stato usare DosFileAttributes. Usando quella classe rendi non portabile il tuo programma su altri sistemi. In java c'è Files.isHidden() che fa già quello in maniera portabile. L'uso di PathMatcher se poi gli passi "*.*" e non dai la possibilità di modificare il pattern è completamente inutile. Se provi a riscriverlo potresti migliorarlo un po' rendendo i tempi simili alla versione C.
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2013, 21:06   #76
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da VICIUS Guarda i messaggi
Prima di tutto voglio farti notare una piccola incongruenza nei dati che hai riportato oggi. Nella prima prova la versione Java risulta quasi 39 volte più lenta della versione C. In quest'ultima è invece solo 4 volte più lenta. Immagino che entrambi i programmi non abbiano subito modifiche tra le due prove. Ma allora come mai? Prova a pensarci che no è difficile da capire.

Per quanto riguarda il tuo programmino java io avrei usato DirectoryStream. Anche SimpleFileVisitor può andare bene ma è più lento perché legge da solo gli attributi standard di tutti i file che a te non interessano. L'errore grave è stato usare DosFileAttributes. Usando quella classe rendi non portabile il tuo programma su altri sistemi. In java c'è Files.isHidden() che fa già quello in maniera portabile. L'uso di PathMatcher se poi gli passi "*.*" e non dai la possibilità di modificare il pattern è completamente inutile. Se provi a riscriverlo potresti migliorarlo un po' rendendo i tempi simili alla versione C.
Ho aggiorato il link con la nuova versione che conta solo i file e non le cartelle.

C'è anche la versione Java che, dietro tuo consiglio, mi sono andato a cercare su JavaDoc. Fai le prove e facci sapere. Quindi "il tuo" non è "il tuo" ma "il loro", di JavaDoc.

Non sarebbe il caso di postare un po' di codice a questo punto? Io, essendo niubbo di Java più di questo non so fare. Postatele le vostre versioni invece di criticare e basta.

Ultima modifica di Vincenzo1968 : 17-03-2013 alle 23:44. Motivo: Aggiunta versione C#.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2013, 21:12   #77
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
E comunque, Vicius, già una volta, nel contest 19, mi avevi accusato di barare sui tempi. Poi s'è scoperto, grazie a AnonimoVeneziano, che era un discorso di disco lento sul tuo portatile.

Vabbé che mi stai simpatico, però, vedi di non approfittarne eh!
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2013, 21:39   #78
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
E comunque, Vicius, già una volta, nel contest 19, mi avevi accusato di barare sui tempi. Poi s'è scoperto, grazie a AnonimoVeneziano, che era un discorso di disco lento sul tuo portatile.

Vabbé che mi stai simpatico, però, vedi di non approfittarne eh!
Non ti sto accusando di barare. Ti ho solo fatto notare che i tuoi numeri non tornano. Io so perché la prima misurazione che hai fatto è completamente sballata. Ti ho suggerito di indagare perché magari impari qualcosa.
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2013, 21:43   #79
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
Ho aggiorato il link con la nuova versione che conta solo i file e non le cartelle:

http://www.filedropper.com/viciusfindfilenew

C'è anche la versione Java che, dietro tuo consiglio, mi sono andato a cercare su JavaDoc. Fai le prove e facci sapere. Quindi "il tuo" non è "il tuo" ma "il loro", di JavaDoc.

Non sarebbe il caso di postare un po' di codice a questo punto? Io, essendo niubbo di Java più di questo non so fare. Postatele le vostre versioni invece di criticare e basta.
Se avessi voluto criticare e basta mi sarebbe bastato darti del incompetente chiudendo con un "super mega lol + faccina".

Invece ti ho detto dove secondo me hai sbagliato e cosa potresti fare per migliorare il tuo programma. Sono stato piuttosto costruttivo.
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2013, 23:02   #80
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Sul portatilino i tempi migliorano:





Fino a quando non posterete il codice riterrò validi quest benchmark. E non perché non vi creda. Credo che Sottovento sia riuscito veramente a ridurre notevolmente i tempi dell'applicazione Java(a patto però che faccia restituire il conteggio corretto ). Ma faccio come avete fatto voi con me: se non postate il codice(o perlomeno l'eseguibile,(.class, .jar)) io cito Vicius: la vostra è fuffa.


Ultima modifica di Vincenzo1968 : 15-03-2013 alle 23:05.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati Oracle AI World 2025: l'IA cambia tutto, a parti...
Micron e millisecondi: la piattaforma ServiceNow guida l'infrastruttura IT di Aston Martin F1 Micron e millisecondi: la piattaforma ServiceNow...
ASUS GeForce RTX 5080 Noctua OC Edition: una custom fenomenale, ma anche enorme ASUS GeForce RTX 5080 Noctua OC Edition: una cus...
Record storico per i giochi Windows su L...
GPU introvabili: Microsoft accusa i mine...
RedTiger prende di mira i gamer: furto d...
Microsoft sotto accusa: avrebbe nascosto...
Il computer quantistico senza errori di ...
Cybersecurity, intelligenza artificiale ...
Xiaomi avvia la distribuzione globale di...
Addio cavi in auto: 3 adattatori per Car...
OPPO e Google sempre più vicini s...
Sorpresa! Non è Tesla il marchio ...
Microsoft corre ai ripari: scoperta fall...
Xiaomi 15T e 15T Pro da 549€ su Amazon: ...
Friggitrice ad aria Philips Airfryer Ser...
Francesca Barra nuda: la popolare condut...
La prossima Alpine A110 sarà elet...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:02.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v