Hard drive transfer rate -> Windows Vista x64 vs Windows 7 x64

I test sulla velocità di trasferimento dati effettuati sul notebook poco tempo fa mi hanno notevolmente stupito, tanto che ho pensato di ripetere qualche benchmark simile sul mio notebook prima dell’upgrade del sistema operativo da Windows Vista (64 bit) a Windows 7 (64 bit pure lui).

Anche in questo caso mi sono limitato a misurare i tempi di trasferimento di file di grosse dimensioni da un hard disk esterno USB al disco locale, ed anche in questo caso i risultati si sono rivelati a dir poco interessanti..

-

Dati dei sistemi utilizzati nei test


Sistema operativo

  1. Windows Vista Business SP2 X64 patchato al 15/09/2009
  2. Windows 7 Ultimate X64 patchato al 26/09/2009

PC

  1. Acer Travelmate 5720G: Intel core 2 duo T7700, RAM 4GB

Hard disk

  1. Notebook: Hitachi HTS542525K9SA00 250GB – Filesystem NTFS
  2. USB: WD Elements 500GB – Filesystem NTFS

Tipologie di test

  1. From usb to local: scrittura su disco locale (1) lettura da USB (2)
  2. From local to usb: lettura da disco locale (1) scrittura su USB (2)

Metodologia

  1. Per le operazioni sui file è stato utilizzato explorer da interfaccia grafica, e i tempi misurati sono stati rilevati con l’utilizzo dell’eseguibile process monitor (vedi screen sotto). Sono stati effettuati 3 test di trasferimento con file diversi per ogni tipologia di prova, in modo da limitare la varianza ed effettuare una media attendibile sulle velocità. Tutti i test sono stati ripetuti nello stesso identico modo sia su Vista che su Seven, mantenendo gli stessi collegamenti, lo stesso hardware e scrivendo sulle stesse partizioni, in modo che l’unico fattore di diversità fosse il sistema operativo.

-

RISULTATI


Windows Vista x64

From usb to local

  1. 28 sec = 699.383.816 / 28 = 23,8 MB/s
  2. 27 sec = 699 MB/ 27 = 25,88MB/s
  3. 58 sec = 1,45 GB/ 58 = 25,77MB/s

Velocità media di trasferimento: 25.15 MB/s

From local to usb

  1. 40 sec = 749.450.149 / 40 = 17,8 MB/s
  2. 37 sec = 699 / 37 = 18,89 MB/s
  3. 80 sec = 1,45 / 80 = 18,56 MB/s

Velocità media di trasferimento: 18.41 MB/s


Windows 7 x64

From usb to local

  1. 26 sec = 688MB / 26 = 26,4 MB/s
  2. 54 sec = 1.46GB / 54 = 27,68 MB/s
  3. 24 sec = 699MB / 24 = 29,1 MB/s

Velocità media di trasferimento: 27.72 MB/s ovvero 10,21% in più rispetto a Vista x64

From local to usb

  1. 35 sec = 699MB / 35 = 20 MB/s
  2. 70 sec = 1.46GB = 21.35 MB/s
  3. 33 sec = 699MB / 33 = 21.18 MB/s

Velocità media di trasferimento: 20.84 MB/s ovvero 13.19% in più rispetto a Vista x64

-

Anche in questo caso i risultati parlano da soli, pare che a Redmond abbiano deciso di rimboccarsi le maniche e i miglioramenti da quel che si può misurare almeno in questo campo sono tangibili.

inizio_copia

Process monitor: inizio della copia, sulla colonna più a destra si possono leggere l operazioni svolte dal sistema operativo per l’allocazione del nuovo file, e poi l’inizio della copia a blocchi sequenziali di bytes.

fine_copia

Process monitor: fine della copia, sulla colonna più a destra si possono leggere i blocchi sequenziali di bytes copiati, e come ultima l’operazione di chiusura del file.

Upgrade from Vista to Windows 7

Tagged Under : , , ,

Ho appena concluso l’aggiornamento della mia workstation da Windows Vista 64 a Windows Seven 64.

L’aggiornamento (per ora) è stato meno doloroso del previsto: tutto l’hardware precedentemente installato è ancora correttamente riconosciuto, e questa era la cosa che mi preoccupava maggiormente visto che alcuni dei componenti installati (come ad esempio la pinnacle pctv 100) non sono particolarmente recenti.

Ma d’altra parte Seven non è altro che Vista con una reputazione migliore (ma minore) e un’interfaccia più trasparente, non è così? :-)

Gli unici dispositivi non funzionanti sono il drive cd virtuale installato da daemon tools e la scheda di rete virtuale di hamachi; tuttavia non sono componenti critici e sono talmente diffusi che non credo passerà molto tempo prima che vengano rilasciati gli aggiornamenti per la compatibilità.

Per quanto riguarda il software invece fino ad ora non ho notato problemi di sorta: Visual Studio 2008 funziona ancora così come MSSQL 2008, il device mobile center continua a dialogare con Windows Mobile per cui le applicazioni più critiche (seppur di casa MS) per lo sviluppo non sembrano soffrire problemi di compatibilità.

L’unica incompatibilità notata fin’ora fortunatamente si è risolta da sè: la suite di Pinnacle TV Center Pro ha perso definitivamente la capacità di avviarsi e quindi di gestire la scheda TV; per una volta però non mi posso lamentare perchè il mastodontico Media Center, che nella versione installata su Vista 64 non riconosceva il tv tuner analogico, in questa l’ha riconosciuto al volo provvedendo per scusarsi alla ricerca immediata dei canali e a fornirmi tutte le informazioni possibile relative alle trasmissioni.

Notevole l’usabilità del media center che per quanto riguarda la TV è in grado di mostrare in modo comodo ed efficace tutta la programmazione in realtime dei canali televisivi, di gestire la registrazione automatica oltre che per canale anche per programma, e interfacciarsi con il televideo in un paio di click.

Netbook data transfer: Linux VS Windows 7

Tagged Under : , , , , , ,

Da qualche giorno ho acquistato un irresistibile giocattolino, una di quelle meraviglie della tecnica impensabili fino a pochi anni fa, che recentemente sta conquistando enormi fette di mercato nel settore dei pc: uno spettacolo di portabilità ed efficienza, ovvero ciò che per il campo di utilizzo viene comunemente definito Netbook.

Dopo svariate ricerche ho trovato nell’Acer Aspire One D150 un ottimo compromesso tra prezzo e dotazione, anche se praticamente fino ad ora tutti i netbook se la giocano principalmente sull’hard disk (SSD vs SATA) e sulla batteria (3 celle vs 6 celle), meno sul quantitativo di RAM (da 512MB a 2GB) installata e poco sullo schermo (8.9″ vs 10″ vs 11″), visto che la piattaforma su cui viene distribuito l’Atom sui netbook è solo quella dell’intel e la scelta tra 945 o GN40 di certo non fa una gran differenza.

Sicuramente si vedranno enormi evoluzioni a breve visto che il segmento è appena nato, e visto che su piattaforme fisse Nvidia ha già iniziato a distribuire soluzioni di un certo livello che offrono un pool di connessioni di I/O (HDMI, eSata, LAN Gigabit, ecc…) e un comparto grafico di tutto rispetto e ben superiori rispetto a ciò che si può trovare sulla maggioranza dei netpc attualmente sugli scaffali.

Il D150 che ho tra le mani monta un TOSHIBA MK1655GSX, disco assolutamente silenzioso e discretamente prestante, con 8MB di cache e rotazione a 5400rpm come la maggioranza dei dischi da 2,5″.

Per quanto mi riguarda il netbook è uno strumento dedicato principalmente a 2 compiti:

  • accesso ad internet con maggior comodità rispetto a quanto si possa fare da un PDA quando il portatile da 4Kg è troppo scomodo da poter essere portato appresso
  • gestione e condivisione di file all’interno della rete locale1

Dal momento che lo sfruttamento delle potenzialità del dispositivo2 è una delle caratteristiche più importanti per questa tipologia di utilizzo, ho voluto effettuare alcuni test di trasferimento dati per tastare con mano la qualità di gestione dei dischi dai due sistemi operativi principali che vi si possono installare in questo momento.

Dati dei sistemi utilizzati nei test


Sistema operativo

  1. Netbook 1: Windows 7 Ultimate X86 patchato all’11/09/2009
  2. Netbook 2: Ubuntu 9.04 con Xfce, kernel 2.6.28-15-generic
  3. PC: Windows Vista 64bit SP2

PC

  1. Acer Aspire D150 160GB hard disk, 1GB ram
  2. Intel Core2duo E4300@3.1GHz, 6GB ram, Asus P5N-E SLI

Hard disk

  1. Netbook: Toshiba MK1655GSX – Filesystem NTFS su Windows 7 ed EXT3 su Linux
  2. PC: HD Seagate Barracuda 500Gb SATA-II NCQ 7200 RPM 32Mb ST350032 – Filesystem NTFS
  3. USB: WD Elements 500GB – Filesystem NTFS

Network

  1. Netbook: Ethernet Attansic L1e 10/100MB
  2. PC: Ethernet Nvidia Gigabit controller
  3. Switch: Cisco Gigabit 8 porte

Tipologie di test

  1. LOCAL READ: lettura da disco locale (1) scrittura su USB (3)
  2. LOCAL WRITE: scrittura su disco locale (1) lettura da USB (3)
  3. NETWORK READ: lettura da disco locale (1) e scrittura su PC remoto(2)
  4. NETWORK WRITE: scrittura su  disco locale (1) e lettura da PC remoto(2)

Metodologia

  1. Per le operazioni su Windows 7 si è utilizzato explorer da interfaccia grafica, e i tempi misurati sono stati rilevati in concomitanza con l’apertura del popup della copia e la chiusura dello stesso3
  2. Per le operazioni su Linux si è utilizzata la shell e i tempi sono stati rilevati dal comando time. Il file system remoto è stato montato utilizzando le utility del pacchetto smbfs.

RISULTATI4


Windows 7

  1. File da 4.555.188KB copiato in 529s ==> 8,40MB/s
  2. File da 4.694.939.550B copiato in 163s ==> 27,46MB/s
  3. File da 992.837.632KB copiato in 83s ==> 11,40MB/s
  4. File da 992.837.632KB copiato in 84s ==> 11,27MB/s

Linux

  1. File da 4.555.188KB copiato in 10m 44.292s ==> 6.90MB
  2. File da 4.555.188KB copiato in 1m 28.830s ==> 18MB/s
  3. File da 1.463.969.792B copiato in 3m 47.732 s ==> 6,15MB/s
  4. File da 1.463.969.792B copiato in 4m 7.730s ==> 5,65MB/s

read_network_7_L

Test 3 su Windows 7: trasferimento dal disco locale al PC in rete

write7_L

Test 2 su Windows 7: trasferimento dal disco USB al disco locale

I risultati parlano da se, avevo avuto questo sentore verificando la relativa lentezza nella velocità di trasferimento osservata sulla Ubuntu, che personalmente ritengo una distribuzione eccezionale vista la semplicità di utilizzo e perfetta su questi netbook: è leggera e veloce, tutto l’hardware viene riconosciuto durante l’installazione e, sorpresa delle sorprese, finalmente  è possibile condividere la connessione al pc tramite il PDA con windows mobile usandolo come modem UMTS senza ricompilare nulla, visto che il modulo rndis è già perfettamente integrato nel kernel.

Ma a parte le considerazioni sul sistema operativo, i numeri non sono contestabili e i vantaggi che arrivano al 100% nei trasferimenti di rete da parte di Windows 7 decretano una gestione dell’hardware pesantemente migliore per quanto riguarda il comparto disco-rete.

  1. determinante l’assorbimento di energia elettrica estremamente ridotto []
  2. e in particolare della velocità di trasferimento dati []
  3. certo non è un gran metodo ma funziona e se si considera uno scarto del 2-3% può essere ritenuto affidabile []
  4. note per la lettura: i numeri si riferiscono alla tipologia di test, quindi il test 1 è quello di LOCAL READ, ecc.. []

Pinnacle PCTV Stereo (PCTV 100i) on Vista X64

Tagged Under : , , , , , , , ,

pinnacleOvvero come ti recupero un’ottima scheda TV analogica1 ormai abbandonata a se stessa, e la faccio rivivere assicurandole un futuro migliore2.

Da qualche tempo infatti cercavo di far funzionare, senza esserci mai riuscito, questa ottima scheda TV su quello che dovrebbe essere il più recente sistema op. ufficialmente rilasciato da casa Microsoft, in grado di indirizzare un quantitativo di memoria decente senza andare in overflow3.

Infatti sebbene la scheda abbia sempre funzionato sotto Linux e XP senza grossi problemi, non avevo ancora trovato il modo di farla funzionare in altri ambienti semplicemente perchè seppur la Pinnacle abbia rilasciato dei driver – brr – beta a 64bit per tutte le schede di vecchia generazione, il software rilasciato originariamente per la gestione dei canali (la mia era dotata di un Pinnacle PCTV Stereo v5.9), già vecchio qualche anno fa, si rifiuta di riconoscere l’hardware sotto Vista negandone pertando qualunque possibilità di utilizzo.

Chiaramente nemmeno gli appositi driver sviluppati per renderla compatibile con il Media Center funzionano, e quindi dopo un’accanita serie di tentativi di diverso genere non resta che mettersi il cuore in pace e piazzare la scheda su ebay se non sotto una gamba della scrivania traballante.

Ma – sorpresa delle sorprese – in un attimo di ordinaria follia, mi scatta quella voglia irrefrenabile di riprovarci4 e casualmente mi trovo per le mani una versione di Pinnacle TVCenter Pro (v.4.99.2088). Detto, fatto: nel giro di un’attimo me lo ritrovo installato e dopo i soliti 4 click di configurazione con mio incontenibile stupore mi rendo che finalmente questa cavolo di scheda funziona anche sotto lo stupido Vista. Incredibile! Ovviamente la versione è estremamente migliorata, le funzionalità sono rimaste pressapoco le stesse (registrazione, radio, tv analogica), anche se con grande piacere ho notato l’aggiunta della possibilità di utilizzare l’audio SPDIF del proprio sistema, che oltre ad offrire un nitido suono mono o stereo esattamente come quello in uscita dalla scheda stessa consente di eliminare quei fastidiosi 2-3 secondi di asincronia tra audio e video che misteriosamente sono comparsi in questa magica accoppiata βdriver&software.

  1. reperibile ormai alla modica cifra di 10€ sulla baia []
  2. di quello nello scrigno impolverato del girone dell’hardware abbandonato []
  3. anche se dalla descrizione non sembrerebbe, ebbene si, trattasi di Vista 64 bit []
  4. come resistere alla tentazione di un quarto d’ora di probabili imprecazioni scagliate contro i produttori del software che ti accompagna per mano ogni giorno? []

Visio for Enterprise Architects on Vista X64 (VS2008 installed)

Tagged Under : , , , , , ,

Chiunque conosca Visio for enterprise Architects sa quanto possa essere comodo uno strumento del genere quando si deve progettare lo schema ER di un database di medie dimensioni (>= 20~40 tabelle), impostando le relazioni, le azioni da compiere sugli aggiornamenti e tutto ciò che si fa durante la creazione di un DB, per non parlare di quanto tempo si possa risparmiare generando automaticamente la controparte fisica dello schema1 sfruttando il driver odbc che ne consente l’integrazione con un gran numero di database.

Purtroppo allo stato attuale pare non essere ancora disponibile alcuna versione aggiornata di questa particolare versione  di Visio, che tra i prerequisiti necessita di nientepocodimenochè di VS2005, per cui doverlo installare su una macchina di sviluppo su cui magari sono già installati altri IDE può diventare davvero esoso in termini di spazio richiesto, per non parlare del fatto che di quella istanza di VS2005 non ce ne faremmo nulla e generalmente la cosa può infastidire un po..

Fortunatamente c’è la possibilità, con un piccolo trick, come si fa per l’installazione sotto XP, di installare il tutto senza *davvero* installarsi anche Visual Studio 2005, ma semplicemente facendo credere all’installer che ciò che cerca ci sia veramente e che quindi si possa procedere oltre.

E’ bene specificare che, affinchè il tutto funzioni è necessario che sulla macchina sia installato VS2008, visto che il giochino delle chiavi si basa proprio su quelle create dopo l’installazione di questa versione2.

Quello che bisogna fare, su Vista X64, è:

  1. Esportarsi separamente le 2 chiavi di registro:
    Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Visual Studio\9.0
    
    Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Visual Studio\8.0
    

    (Se la chiave 8.0 non è presente non è importante, la importeremo noi al punto successivo)

  2. A questo punto ci si crea una copia della chiave 9.0 e la si mette da parte, perchè ci servirà come ultimo punto.
  3. Successivamente si apre il file contenente la chiave 9.0 con il notepad, e si sostituiscono tutte le istanze della stringa “9.0″ con “8.0″.
  4. Fatto questo si reimporta la chiave di registro appena modificata, e da questo momento in avanti l’installazione di Visio for Enterprise Architects procederà senza problemi fino alla fine convinto che tutti i componenti siano installati come lui si aspetta.
  5. Una volta terminata l’installazione, onde evitare inutili attacchi di panico da parte di windows dovuto a situazioni non previste nel registro, è necessario ripristinare la condizione precedente alla modifica ripristinando le chiavi furbescamente modificate.Per farlo è sufficiente reimportare le 2 chiavi esportare inizialmente, facendo chiaramente attenzione a importare la copia originale della chiave 9.0 che avevamo ci si era creati subito dopo l’esportazione.
  1. tipicamente in mssql []
  2. i più intrepidi potrebbero provare un’installazione importando delle chiavi generate da altri pc, prerequisiti per il funzionamento a parte (che potrebbero far crashare il programma in esecuzione) l’installazione potrebbe terminare con successo []

Condivisione Libreria

Tagged Under : , , , , , ,

anobii1

Grazie alla segnalazione di un’amico oggi ho conosciuto aNobii, un’altro ottimo strumento per la condivisione di opinioni relative ad oggetti di uso comune ad alta diffusione, nella fattispecie di libri e affini.

Meglio tardi che mai, visto che il progetto pare essere nato nel 2005, anche se probabilmente questa è la fase in cui inizia ad essere più seriamente appetibile raggiungendo una maturità che gli permette di limitare problemi e bug passati (come la duplicazione delle fonti) e di ottenere una diffusione e usabilità di tutto rispetto.

La cosa che trovo più utile in questi strumenti è la possibilità di condividere opinioni le più disparate possibili in merito al soggetto della discussione, e la capacità di trovare materiale affine (per gusto, stile, genere, ecc..) ai nostri gusti personali.

Infine, la possibilità di estrarre un sottoinsieme del proprio materiale e pubblicarlo in una pagina web è una feature narcisistica che farà felici un bel po di blogger… :-)   [scrollare in fondo alla pagina per un esempio concreto]

ASP.NET Dynamic Data Preview 4 :: Compiler error

Tagged Under : , , , , ,

ASP.NET Dynamic Data Preview 4

E’ uscita la preview di quello che sarà l’evoluzione della tecnologia dynamic data. Eccellente: controlli più sofisticati, relazioni N a N, possibilità di filtraggi sulle gridview più granulari, e un sacco di altre feature carine ma soprattutto utili.

Peccato che importando le DLL nei progetti web in VS capiti che il progetto non compili più, perchè le DLL contenute nella GAC (quelle originali del framework) contengano le stesse definizioni di metodi e classi di questa nuova versione. E il compilatore – giustamente – s’incazza perchè non sa quale versione utilizzare.


Error    7    Il tipo 'System.ComponentModel.DataAnnotations.MetadataTypeAttribute' esiste sia in 'c:WindowsassemblyGAC_MSILSystem.ComponentModel.DataAnnotations3.5.0.0__31bf3856ad364e35System.ComponentModel.DataAnnotations.dll' che in 'c:UsersCaioAppDataLocalTempTemporary ASP.NET Filesxxxf719f7a77b9814d9assemblydl3�a760a26�007f03e_bcd3c901System.ComponentModel.DataAnnotations.DLL'

Error    1    Il tipo 'System.Web.DynamicData.FilterUserControlBase' esiste sia in 'c:UsersCaioAppDataLocalTempTemporary ASP.NET Filesxxxf719f7a77b9814d9assemblydl3�57b97ce�007f03e_bcd3c901System.Web.DynamicData.DLL' che in 'c:WindowsassemblyGAC_MSILSystem.Web.DynamicData3.5.0.0__31bf3856ad364e35System.Web.DynamicData.dll'

Peccato anche che non ci siano spiegazioni su come far funzionare il tutto (anche se, effettivamente, copiare le dll nel posto giusto non è poi così complicato), e che in questo caso non sia chiaro come proseguire in presenza di questo errore.


tagPrefix="asp" namespace="System.Web.DynamicData" assembly="System.Web.DynamicData, Version=99.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/;

La soluzione consiste nel modificare la dichiarazione della libreria dynamicdata nel web.config in modo che la versione utilizzata sia quella di codeplex e non quella ufficiale del framework:

e nel sostituire le versioni delle librerie che vogliamo utilizzare da quelle pescate dalla GAC a quelle importate dal nostro progetto.

dll

Schmap 2

Tagged Under : , , ,

schmap_Schmap colpisce ancora: sembra che questi di Schmap abbiano davvero buon gusto per le fotografie selezionate per illustrare al meglio i bellissimi luoghi per cui scrivono le guide!

Infatti mi hanno ricontattato per selezionare un’altra fotografia, scattata alla basilica di Lione, ed includerla nella guida mobile.

Che dire, visti i criteri di selezione, queste guide avranno lunga vita! :-) )

Multiple dbml with same tables

Tagged Under : , , , , , , ,

diagram dbml Probabilmente non è una di quelle operazioni che si compiono quotidianamente, ma pare non ci siano molte informazioni in giro riguardo a come includere diversi modelli dbml, contenenti le stesse tabelle, all’interno di un’unico progetto in Visual Studio, per cui ritengo valga la pena scriversi 2 appunti.

Poniamo il caso in cui sia necessario utilizzare dei database che contengono per caso 2 tabelle uguali, o in cui comunque ci siano gli stessi nomi di tabella, e includerli in un modello LINQ to SQL per riutilizzarli ad esempio con dynamic data.

Se ci limitiamo a creare i dbml e ad aggiungervi le tabelle del nostro DB, al primo CTRL + B il compilatore di Visual Studio fallirà riportando tanti errori quante ridefinizioni delle stesse tabelle troverà.

Per risolvere questo problema è sufficiente aggiungere un Context Namespace ed un Entity Namespace per ogni dbml, in modo che durante la compilazione non ci saranno conflitti nella dichiarazione delle classi (visto che le tabelle sono rappresentate da classi nel dbml).

dbml

Ovviamente sarà necessario scegliere la connessione corretta per gestire il DB relativo al dbml, dichiarata preventivamente nel web.config, e visto che probabilmente vorremo usare il dbml nel progetto, ad esempio con dynamic data, dovremo modificare il global.asax dicendogli di utilizzare il datacontext corretto ed eventualmente registrando le nuove routes.

Un buon articolo su come fare per registrare diverse routes di diversi dbml è disponibile qui.

Windows 2000 Server: Failed to install SP4

Tagged Under : ,

Memorandum: se il problema della giornata è portare a termine l’installazione della SP4 su una macchina Windows 2000 Server, e nel file di log compaiono simpatici messaggi di questo tipo:


PruneCatalogsFromHotfixes:RegQueryValueEx Failed: 0x0
***

DoInstallation:RunInfProcesses for ProcessesToRun Failed
***

Service Pack 4 Setup encountered an error: An error in
updating your system has occurred.
***

Failed Deleting C:\WINNT\system32\msiinst.tmp 2
***

VerifySize: Unable to verify size: Source = NULL:
c:\winnt\oem18.cat

***

An error in updating your system has occurred.

Select 'OK' to undo the changes that have been made, or
select 'Cancel' to quit. If you select 'Cancel', your
system will be left in a partially updated state and may
not work correctly.
***

è necessario ricordarsi che la soluzione può semplicemente consistere nell’installazione preventiva della patch Q313664.

Il perchè non venga automaticamente scaricata e magari installata preventivamente come dipendenza, è tutt’ora un mistero nonchè causa di notti insonni e turbamenti di molti dei migliori sysadmin® del mondo…