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

Discussione: performance

  1. #1

    performance

    Ciao a tutti,
    sono un programmatore in ambiente .Net ma purtroppo non ho fatto il normale percorso che hanno fatto tutti i programmatori professionisti quindi mi mancano un po di conoscenze su linguaggi come c/c++ o assemby.
    Come tutti credo sappiate, le windows form di .Net hanno l'inconveniente di essere relativamente pesanti infatti una finestra con un pulsante che non fa nulla utilizza 17-18 MB di memoria (taskManager).
    Io sto sviluppando (è ancora in progettazione) un'applicazioncina a scopo di divertimento e quindi vorrei divertirmi a ottimizzarla il piu possibile.
    per rendere il programma estremamente leggero quali sono i linguaggi piu prestanti in tal senso?
    ho visto una versione di notepad scritta in assembly e utilizza 50 KB è fantastico esistono linguaggi ad un livello un po piu alto capaci di avvicinarsi a questi risultati? Usare l'assembly per un porgramma mi sembra troppo per non vorrei che il divertimento si trasformasse in frustrazione...ma è possibile utilizzare l'assembler per le finestre e le interfacce e scrivere le classi con un altro linguaggio ad es il c++?

    mi servirebbero un po di dritte a riguardo grazie anticipatamente e spero di aver lanciato una sfida stimolante anche ad altri programmatori di html.it....

  2. #2
    Capisco che è didattica ma investire del tempo in una ottimizzazione simile mi pare un po' troppo, anche se 18 Mb di memoria occupata per una finestra con un pulsante mi sembrano effettivamente un po' tantini (un programma simile in Python ne occupa 5-6).
    Io investirei il mio tempo facendo cose più utili ma se proprio sei intenzionato a sprecarlo utilizza C o C++, non certo assembler.
    Non avrebbe minimamente senso (anche rifarlo in C e C++, IMHO, non ha alcun senso ma contento tu...).
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Originariamente inviato da billiejoex ...
    Concordo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Concordo e suggerisco la lettura di uno dei tanti essay sull'argomento, per esempio: "How much memory does my .NET application use?".
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  5. #5
    A dire il vero pensavo di trovare qualcuno che la pensasse come me ma evidentemente mi sono sbagliato. cmq se io volessi creare un'applicazione slegata dal framework? la risposta credo sia utilizzare il c++ ma se avete consigli li accetto volentieri.
    a presto e grazie ciao

  6. #6
    A dire il vero pensavo di trovare qualcuno che la pensasse come me ma evidentemente mi sono sbagliato
    Non preoccuparti, il mondo è ancora pieno di programmatori che credono davvero che investire 1 anno di tempo extra su una applicazione gia funzionante giustifichi quello 0.1 di guadagno che percepisci quando vedi un pop-up apparire 0.01 ms in anticipo.
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

  7. #7
    Bhe io davo per scontato fosse chiaro che questa mia ricerca non ha lo scopo di ottimizzare il prodotti che vendo per quelli qualsiasi cosa mi fa risparmiare tempo è ottima. Tutto ciò era solo per divertirmi a fare piccole applicazioni per divertimento e per conoscere anche se a grandi linee i linguaggi che hanno fatto la storia.
    Sicuramente non credo sia saggio perdere tempo per avere prestazioni che poi il cliente non nota e non riesce a giustificarne il prezzo...


  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    286

    Re: performance

    Originariamente inviato da newscripter Come tutti credo sappiate, le windows form di .Net hanno l'inconveniente di essere relativamente pesanti infatti una finestra con un pulsante che non fa nulla utilizza 17-18 MB di memoria (taskManager).
    Io evito come la puzza le "Managed Extensions" di microsoft, non ha senso per me che sto imparando a sviluppare in C++ appoggiarmi sul NET Framework per poi ottenere le stesse prestazioni (in velocità) di un qualunque linguaggo interpretato. Allora avrei potuto imparare a sviluppare in Python, che è molto più semplice e vantaggioso, o in Visual Basic, o in Java, ...ecc.


    Originariamente inviato da newscripter per rendere il programma estremamente leggero quali sono i linguaggi piu prestanti in tal senso?
    L'assembly sicuramente, ma è ostico ed è impensabile lo sviluppo e la manutenzione di applicativi relativamente complessi.
    Il C è un buon sostituto dell'assembly, se non si vuole rinunciare al completo controllo della macchina, senza preoccuparsi di dover lavorare direttamente sui suoi registri.
    Con il C++ si è disposti a sacrificare un minimo di velocità rispetto al C (soprattutto se si fa largo uso del Polimorfismo) ma perlomeno si possono gestire oggetti e templates, e questo permette di tenere in mano più facilmente applicativi molto complessi e di grandi pretese.

    Ciao

  9. #9
    grazie Paulin,
    eventualemente quali librerie si usano con c o c++ per programmare applicazioni a finestre?
    ho sentito parlare delle qt ma ce ne sono altre e non parametri per decidere quali usare.
    Un'ultima cosa, quale ambiente di sviluppo conviene usare...io conosco un po eclipse per il java ma ho sentito che a volte da problemi con i plugin per il c++. Cosa consigliate?

  10. #10
    eventualemente quali librerie si usano con c o c++ per programmare applicazioni a finestre?
    Se il tuo obiettivo è usare il C/C++ per sviluppare applicazioni a finestre allora:

    1) Non aspettarti grandi miglioramenti in termini di prestazioni
    2) Aspettati un allungamento dei tempi di sviluppo
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

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.