Entrar    Registrar
  • Autor
    Mensagem

Re: Dotnet Core 3 - Hello World (Apenas 40 megabytes de memó

Mensagempor Rodrigo_P_A » 25 Set 2019 19:25

tcpipchip escreveu:Ou seja, 400Mb é loucura ?


Eu não sou dono da razão, mas pelo pouco conhecimento que eu tenho, seria caso de internação com medicação pesada
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2049
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Re: Dotnet Core 3 - Hello World (Apenas 40 megabytes de memó

Mensagempor chipselect » 30 Out 2019 09:56

Não acho que o .NET foi feito pensando em performance extrema para ser comparado com c/c++, acredito que ele é mais voltado para o mercado que o Java atua e, nesse quesito, não tem muita diferença de consumo de memória entre o código em CLR e bytecode java rodando numa JVM.

Esse consumo excessivo sendo comentado, em boa parte, seria por causa da máquina virtual que deve ser carregado junto. (CLR é tratado como VM no livro "Professional .Net Framework 2.0")

Um simples HELLO WORD pode consumir uma memória absurda, mas um HELLO WORD com duas mensagens não vai dobrar a memória usada, vai aumentar muito pouco na verdade.

O .NET Core que veio substituir o .NET Framework é, teoricamente, mais rápido que seu antecessor mas não vai eliminar o overhead da máquina virtual necessária, só que garante a execução em múltiplas plataformas de um jeito menos dolorido que os aplicativos em Java (pelo menos na minha opinião).

Em contrapartida, a programação em C# ou F# com o Visual Studio te dá um bom controle do projeto, ajudando bastante a manter projetos de médio porte, pois seria um problema para nós aqui na empresa, manter e evoluir um sistema que já passa de 500 mil linhas de código C# sem a ajuda das facilidades que essa plataforma nos dá, ainda mais mantendo a execução em multiplataforma.

Mesmo em um sistema desses, consigo rodar tranquilamente 12 sistemas em paralelo em um servidorzinho dual core com apenas 4G de RAM, onde neste mesmo servidor, apenas um erp ODOO 11 (Python) rodando comeu mais da metade da sua memória. É uma comparação sem muito sentido, pois o ODOO e o meu sistema possuem finalidades diferentes e, da mesma forma, comparar C/C++ com .NET Core não é algo tão simples que possa ser feito apenas com uma ou duas métricas, pois isso penderia apenas para um dos lados, se perdendo a visão geral.

Agora, se o objetivo for fazer aplicações para Desktop ou mobile, talvez essa tecnologia não seja a mais indicada para você, pois o NET CORE ainda carece um pouco de amadurecimento nesse quesito, e o XAMARIN (que usa o NET Framework e ainda não vi ele com NET CORE) sofre com a concorrência como React Native, IONIC e etc, mas essas outras tecnologias também comem memória, veja o consumo médio de memória do React Native e IONIC nesse link: https://www.simform.com/react-native-vs-ionic
chipselect
Word
 
Mensagens: 710
Registrado em: 16 Out 2006 18:50

Re: Dotnet Core 3 - Hello World (Apenas 40 megabytes de memó

Mensagempor Rodrigo_P_A » 30 Out 2019 10:38

Para mim faz sentido, meu hardware possui apenas 64MB de RAM.
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2049
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Re: Dotnet Core 3 - Hello World (Apenas 40 megabytes de memó

Mensagempor chipselect » 31 Out 2019 11:57

Rodrigo_P_A escreveu:Para mim faz sentido, meu hardware possui apenas 64MB de RAM.


Dificilmente alguém usa um servidor hoje em dia com 64MB de RAM, só se for IOT ou algo do tipo. Se você for orçar um servidor hoje para TI, vai ser um Xeon da vida a partir de 8GB de RAM, ou o seu pessoal de TI está mais de 10 anos atrasado. Mesmo um PC hoje em dia vai vir com 1 ou 2G de RAM... e pra desktop hoje isso é meio pouco também.

Repetindo novamente: O principal foco do .NET Core é para aplicações multiplataforma grandes, onde precisa de uma facilidade de organização e código facilmente escalável em tamanho.

Rodrigo, você poderia elucidar melhor o motivo de ver sentido nessa comparação?

Se for só porque seu hardware tem pouca memória, você deveria dar uma analisada melhor nessa tecnologia... pelo menos já chegou a verificar os requerimentos do .NET Core? A versão atual (3.0 e daqui a pouco a versão 3.1) só tem para 64 bits, e exige várias bibliotecas no linux, dificilmente um hardware de 64MB de ram vai conseguir cumprir com esses requisitos sem comprometer usabilidade/performance. Resumidamente, não tem sentido algum em usar .NE Core 3 só com 64MB de RAM.

Segue link:
https://docs.microsoft.com/pt-br/dotnet ... =netcore30
chipselect
Word
 
Mensagens: 710
Registrado em: 16 Out 2006 18:50

Re: Dotnet Core 3 - Hello World (Apenas 40 megabytes de memó

Mensagempor Aquino » 31 Out 2019 12:18

A maior vantagem do dotnet são todas as classes do framework. Ali tem muita coisa abstraída e muita coisa útil.
Esse consumo de memória é sim culpa do runtime e das bibliotecas mínimas pra fazer o bootrap da coisa.
Tipo uma aplicação C que escreve na tela no Linux é basicamente chamadas de sistema, por isso ela fica pequena.
Talvez o benchmark deveria ser algo mais elaborado pensando em algo que deixe o dotnet mais em evidência, como acesso a uma base de dados relacional, cruzamento com uma coleção e consula com LINQ.
Buscando um coach para me tornar coach em sistemas embarcados.
Avatar do usuário
Aquino
Dword
 
Mensagens: 1906
Registrado em: 12 Out 2006 22:24

Re: Dotnet Core 3 - Hello World (Apenas 40 megabytes de memó

Mensagempor Rodrigo_P_A » 01 Nov 2019 08:56

Em uma outra comparação que eu citei aqui faço acesso a banco de dados, webservices, além de um monte de outras coisas, consumindo apenas 12MB.
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2049
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Anterior

Voltar para Visual C++/C/C++/C#

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante