Torna indietro   Hardware Upgrade Forum > Hardware Upgrade > News

Recensione Zenfone 11 Ultra: il flagship ASUS ritorna a essere un 'padellone'
Recensione Zenfone 11 Ultra: il flagship ASUS ritorna a essere un 'padellone'
Zenfone 11 Ultra ha tantissime qualità interessanti, fra cui potenza da vendere, un display di primissimo livello, un comparto audio potente e prestazioni di connettività fra le migliori della categoria. Manca però dell'esclusività del predecessore, che in un settore composto da "padelloni" si distingueva per le sue dimensioni compatte. Abbiamo provato il nuovo flagship ASUS, e in questa recensione vi raccontiamo com'è andata.
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA
Abbiamo partecipato ad Appian World 2024, evento dedicato a partner e clienti che si è svolto recentemente nei pressi di Washington DC, vicino alla sede storica dell’azienda. Nel festeggiare il 25mo anniversario, Appian ha annunciato diverse novità in ambito intelligenza artificiale
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini
Primo contatto con il monitor Lenovo ThinkVision 3D 27 che grazie a particolari accorgimenti tecnici riesce a ricreare l'illusione della spazialità tridimensionale senza che sia necessario utilizzare occhialini
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-11-2017, 19:31   #201
Erotavlas_turbo
Senior Member
 
Iscritto dal: Jun 2007
Messaggi: 768
Quote:
Originariamente inviato da fano Guarda i messaggi
Riguardo la domanda un'applicazione scritta in C# può fare meglio di una scritta in C++? Certo in particolare quando si ha a che fare con operazioni con stringhe che in C# sono più ottimizzate (in C++ la prima domanda è: quale tipo di stringa? Ognuno si rifa la sua versione ):
https://blogs.msdn.microsoft.com/ric...ionary-reader/
Nessuno ha chiesto se può fare meglio genericamente, ma a livello di prestazioni.
Lo standard C++ contiene la libreria STL con il tipo string dallo standard C++98, prima ognuno reinventava la ruota (circa 20 anni fa).

Quote:
Originariamente inviato da fano Guarda i messaggi
certo dopo aver ottimizzato "a sangue" fino a riscrivere l'ennesima versione della class string, aver rinunciato al dizionario della libc++ e alla fine scrivendosi le proprio routine di I/O C++ fince su C# ma di poco e vale lo sbattimento?
Non ho ben capito. Il tipo string dentro STL non è ben ottimizzato!? Questo è vero, ma è solo un aspetto del linguaggio e se hai bisogno di prestazioni utilizzi le stringhe in C fonte 1 fonte 2.

Quote:
Originariamente inviato da fano Guarda i messaggi
Kernel scritte in C# o in Rust non sarebbero possibili? E Cosmos e Redox OS cosa sarebbero mai? Redox c'ha pure il Desktop se volete quindi è pure un po' più avanti di Cosmos!
Certo. Teoricamente si può fare in ogni linguaggio di programmazione (python, java, etc.), ma praticamente?! Una buona rassegna delle problematiche da affrontare per scrivere un sistema operativo fonte.
Cosmos e Redox OS al momento sono solo esempi giocattolo teorici.
Vedremo in futuro quando e se ci saranno casi di utilizzo reali (discussione linux vs rust).
Erotavlas_turbo è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2017, 21:28   #202
fano
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2095
Quote:
Originariamente inviato da Erotavlas_turbo Guarda i messaggi
Nessuno ha chiesto se può fare meglio genericamente, ma a livello di prestazioni.
Lo standard C++ contiene la libreria STL con il tipo string dallo standard C++98, prima ognuno reinventava la ruota (circa 20 anni fa).
Scusa ma hai letto tutti e 6 i capitoli? Un'implementazione "naive" in C# era tipo 6 volte più veloce dell'analoga versione C++
Poi ottimizzando fino a che appunto non è diventato C totalmente unsafe e sì C++ vinceva, ma di poco tipo 6%! La domanda qui che si fanno nel blog è per qualche ms in più di "efficienza" vale la pena di sbattersi a scrivere codice in C++?

Quote:
Originariamente inviato da Erotavlas_turbo Guarda i messaggi
Non ho ben capito. Il tipo string dentro STL non è ben ottimizzato!? Questo è vero, ma è solo un aspetto del linguaggio e se hai bisogno di prestazioni utilizzi le stringhe in C fonte 1 fonte 2.
Vedi? A quel punto se ti riduci ad usare le stringhe C e magari "a fare giochi" di puntatore per trovare stringhe dentro stringhe cosa stai usando C++ a fare? Ti piace dire di compilare con g++, ma poi stai scivendo codice C!

Poi se voglio mica mi impedisce qualcuno di fare le stringhe in C# con i char * sai? Solo che devo usare unsafe e tu non devi mai usare unsafe

Quote:
Originariamente inviato da Erotavlas_turbo Guarda i messaggi
Certo. Teoricamente si può fare in ogni linguaggio di programmazione (python, java, etc.), ma praticamente?! Una buona rassegna delle problematiche da affrontare per scrivere un sistema operativo fonte.
Beh Python è un linguaggio di scripting di solito interpretato, Java per contro non ha le strutture e unsafe che aiutano molto in C# appunto perché posso fare i giochi di puntatori!

Quote:
Originariamente inviato da Erotavlas_turbo Guarda i messaggi
Cosmos e Redox OS al momento sono solo esempi giocattolo teorici.
Vedremo in futuro quando e se ci saranno casi di utilizzo reali (discussione linux vs rust).
Teorico Cosmos? Se intendi che esiste solo "sulla carta" di devo smentire gira eccome e pure sull'hardware reale (deve essere un po' vecchiotto però!), abbiamo già le routine di I/O perfettamente funzionante quindi siamo già un po' oltre l'Hello World Kernel.
Ho testato la classe Encoding con sta roba satanica:

Codice:
            Encoding Encoder = new UTF8Encoding();
            string text;
            byte[] result;
            byte[] expectedResult;

            text = "Cosmos is wonderful!";
            result = Encoder.GetBytes(text);
            expectedResult = UTF8EnglishText;
            Assert.IsTrue(EqualityHelper.ByteArrayAreEquals(result, expectedResult), "UTF8 Encoding of English text failed byte arrays different");

            text = "Cosmos è fantastico!";
            result = Encoder.GetBytes(text);
            expectedResult = UTF8ItalianText;
            Assert.IsTrue(EqualityHelper.ByteArrayAreEquals(result, expectedResult), "UTF8 Encoding of Italian text failed byte arrays different");

            text = "Cosmos es genial!";
            result = Encoder.GetBytes(text);
            expectedResult = UTF8SpanishText;
            Assert.IsTrue(EqualityHelper.ByteArrayAreEquals(result, expectedResult), "UTF8 Encoding of Spanish text failed byte arrays different");

            text = "Cosmos ist großartig!";
            result = Encoder.GetBytes(text);
            expectedResult = UTF8GermanicText;
            Assert.IsTrue(EqualityHelper.ByteArrayAreEquals(result, expectedResult), "UTF8 Encoding of Germanic text failed byte arrays different");

            text = "Cosmos είναι υπέροχος!";
            result = Encoder.GetBytes(text);
            expectedResult = UTF8GreekText;
            Assert.IsTrue(EqualityHelper.ByteArrayAreEquals(result, expectedResult), "UTF8 Encoding of Greek text failed byte arrays different");

            text = "Cosmos 素晴らしいです!";
            result = Encoder.GetBytes(text);
            expectedResult = UTF8JapanaseText;
            Assert.IsTrue(EqualityHelper.ByteArrayAreEquals(result, expectedResult), "UTF8 Encoding of Japanese text failed byte arrays different");

           /* This the only case on which UFT-16 must use a surrugate pairs... it is a Gothic letter go figure! */
            text = "��";
            result = Encoder.GetBytes(text);
            expectedResult = UTF8GothicText;
            Assert.IsTrue(EqualityHelper.ByteArrayAreEquals(result, expectedResult), "UTF8 Encoding of Gothic text failed byte arrays different");
/* E poi l'inverso */
E la velocità era "imbarazzante" il terminale mi scorreva via alla velocità della luce! C & Linux sarebbero stati più veloci? Sì solo perché la libiconv avrebbe dato errore appena incontrato "è" probabilmente: se compilata male come nel 99% delle distro supporta solo ASCII

Linux non è che sia meglio di Cosmos o Redox OS (anzi tutt'altro), ma è stato fortunato a venir "fuori" nel momento giusto...
__________________
Cosmos C# Open Source Managed Operating System
Cosmos Thread Ufficiale
Cosmos Official Site Vuoi collaborare allo sviluppo? Unisciti alla chat!

Ultima modifica di fano : 26-11-2017 alle 21:37.
fano è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2017, 21:47   #203
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
Quote:
Originariamente inviato da !fazz Guarda i messaggi
mi sento un pò tirato in causa, ma solo un po...
Già. Pensavo proprio a te, che ci hai a che fare spesso.
Quote:
Originariamente inviato da fano Guarda i messaggi
Non so io ad aver inventato la definizione "C is portable assembler"
Senz'altro, ma ciò non vuol dire che tale affermazione abbia fondamento.
Quote:
il senso di quello che intendevo è che C è una via di mezzo ha costrutti di alto livello, nasconde i registri, ma poi ti permette di fare cose alla "assembler" tipo prendere un array di char scriverci un indirizzo a "caso", castarlo a puntatore a funzione ed eseguirlo ed eccoti bel bello in kernel mode partendo da un'applicazione utente!
Sì, si possono fare queste porcate, ma ciò che puoi fare lavorando in assembly è di gran lunga peggio.

Inoltre il C è molto, ma molto più ad alto livello dell'assembly. Anzi, a voler essere pignoli e standard alla mano, ha ben poco di basso livello.
Quote:
Originariamente inviato da Erotavlas_turbo Guarda i messaggi
se hai bisogno di prestazioni utilizzi le stringhe in C fonte 1 fonte 2.
Le stringhe in C sono anche peggio, visto che conoscere la lunghezza richiede tempo O(n).

E' una delle peggiori strutture dati / implementazioni che siano state scelte per le stringhe.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2017, 21:52   #204
Erotavlas_turbo
Senior Member
 
Iscritto dal: Jun 2007
Messaggi: 768
Quote:
Originariamente inviato da fano Guarda i messaggi
Scusa ma hai letto tutti e 6 i capitoli? Un'implementazione "naive" in C# era tipo 6 volte più veloce dell'analoga versione C++
Poi ottimizzando fino a che appunto non è diventato C totalmente unsafe e sì C++ vinceva, ma di poco tipo 6%! La domanda qui che si fanno nel blog è per qualche ms in più di "efficienza" vale la pena di sbattersi a scrivere codice in C++?
Ho letto solo le conclusioni, mi è bastato vedere due benchmark su stackoverflow, che ti ho riportato, dove C vince di molto fonte.
Se chiedi allo sviluppatore di C#, Microsoft, a proposito del suo linguaggio, cosa vuoi ti dica?

Quote:
Originariamente inviato da fano Guarda i messaggi
Vedi? A quel punto se ti riduci ad usare le stringhe C e magari "a fare giochi" di puntatore per trovare stringhe dentro stringhe cosa stai usando C++ a fare? Ti piace dire di compilare con g++, ma poi stai scivendo codice C!
Il C++ include praticamente tutto il C e quindi non vedo problemi a fare ciò.

Quote:
Originariamente inviato da fano Guarda i messaggi
Poi se voglio mica mi impedisce qualcuno di fare le stringhe in C# con i char * sai? Solo che devo usare unsafe e tu non devi mai usare unsafe
Certo.

Quote:
Originariamente inviato da fano Guarda i messaggi
Beh Python è un linguaggio di scripting di solito interpretato, Java per contro non ha le strutture e unsafe che aiutano molto in C# appunto perché posso fare i giochi di puntatori!
Si è vero, ma come è scritto nel link che ti ho riportato non tutti i linguaggi si prestano per scrivere un sistema operativo.

Quote:
Originariamente inviato da fano Guarda i messaggi
Teorico Cosmos? Se intendi che esiste solo "sulla carta" di devo smentire gira eccome e pure sull'hardware reale (deve essere un po' vecchiotto però!), abbiamo già le routine di I/O perfettamente funzionante quindi siamo già un po' oltre l'Hello World Kernel.
Ho testato la classe Encoding con sta roba satanica:
Teorico giocattolo intendo che non ci siano utilizzi reali. Se mi sbaglio, fammi qualche esempio.
Direttamente da wikipedia:
As of 2016, Cosmos does not aim to become a full operating system, but rather a toolkit to allow other developers to simply and easily build their own operating systems, or as one of the project leaders put it, to act as "operating system Legos".
Se è sbagliato, segnalalo e la correggeranno.

Quote:
Originariamente inviato da fano Guarda i messaggi
E la velocità era "imbarazzante" il terminale mi scorreva via alla velocità della luce! C & Linux sarebbero stati più veloci? Sì solo perché la libiconv avrebbe dato errore appena incontrato "è" probabilmente: se compilata male come nel 99% delle distro supporta solo ASCII.
Hai un benchmark per affermare ciò? Altrimenti le impressioni lasciano il tempo che trovano...

Quote:
Originariamente inviato da fano Guarda i messaggi
Linux non è che sia meglio di Cosmos o Redox OS (anzi tutt'altro), ma è stato fortunato a venir "fuori" nel momento giusto...
Linux è un kernel che hai i suoi pregi e difetti come altri kernel cosi come il sistema operativo GNU/linux. Il confronto su reddit mette dei seri punti interrogativi su quali siano i valori aggiunti di Redox OS rispetto a GNU/linux. Non ho trovato niente di simile Cosmos vs GNU/linux, ma non mi aspetto grandi differenze.

Nell'informatica, e non solo, di solito chi arriva prima vince e linux è venuto fuori al momento giusto quando serviva un kernel al progetto GNU. Tuttavia ha 20-25 anni di vantaggio su Cosmos e Redox OS.
Forse fucsia OS di bigG potrebbe essere l'unico rivale di GNU/linux.

Ultima modifica di Erotavlas_turbo : 26-11-2017 alle 21:56.
Erotavlas_turbo è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2017, 21:55   #205
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
Abbastanza probabile.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2017, 23:59   #206
fano
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2095
Quote:
Originariamente inviato da Erotavlas_turbo Guarda i messaggi
Teorico giocattolo intendo che non ci siano utilizzi reali. Se mi sbaglio, fammi qualche esempio.
Direttamente da wikipedia:
As of 2016, Cosmos does not aim to become a full operating system, but rather a toolkit to allow other developers to simply and easily build their own operating systems, or as one of the project leaders put it, to act as "operating system Legos".
Se è sbagliato, segnalalo e la correggeranno.
No, non è sbagliato, ma è un modo un po' "romantico" per dire che Cosmos è solo un kernel non un S.O completo, come Linux nei fatti... è solo un kernel i S.O. hanno nomi esotici tipo "Fedora", "Ubuntu", Mandriva, ecc...

Cosmos non sarà mai il "Windows di domani", non ci interessa il Desktop: quella è una battaglia persa in partenza: lo "Windows di domani" è... Windows.
Ci interessa invece avere un S.O. basato su Cosmos nei router, nei settop-box, perché no pure nei telefoni!
__________________
Cosmos C# Open Source Managed Operating System
Cosmos Thread Ufficiale
Cosmos Official Site Vuoi collaborare allo sviluppo? Unisciti alla chat!
fano è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Zenfone 11 Ultra: il flagship ASUS ritorna a essere un 'padellone' Recensione Zenfone 11 Ultra: il flagship ASUS ri...
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA Appian: non solo low code. La missione è ...
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini Lenovo ThinkVision 3D 27, la steroscopia senza o...
La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing La Formula E può correre su un tracciato ...
Lenovo LEGION e LOQ: due notebook diversi, stessa anima gaming Lenovo LEGION e LOQ: due notebook diversi, stess...
Wacom Movink: per la prima volta il disp...
HPE Aruba presenta i nuovi access point ...
Lamborghini presenta Urus SE, prima vers...
Scuderia Ferrari e HP insieme: ufficiale...
Snapdragon X Plus, un nuovo SoC per i no...
L'iPad 10,9'' 64 GB è sceso a meno di 40...
Steam: basta ai furbetti dell'accesso an...
Motorola Edge 40 Neo con fotocamera da 5...
Arriva Kasperksy Next, la nuova gamma di...
Fallout, un successo senza fine: 1 milio...
Windows 11, arrivano le pubblicità...
Raccontaci la tecnologia che preferisci ...
AMD Ryzen 7 8700F e Ryzen 5 8400F: in ar...
Qual è l'impatto ambientale dei s...
WhatsApp, in arrivo una nuova feature pe...
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: 15:39.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Served by www2v
1