stringtranslate.com

Gastos generales (informática)

La sobrecarga en los sistemas informáticos consiste en funciones compartidas que benefician a todos los usuarios o procesos, pero que no son directamente atribuibles a ninguna tarea específica. Por lo tanto, es similar a la sobrecarga en las organizaciones. La sobrecarga del sistema informático se manifiesta como un procesamiento más lento, menos memoria, menos ancho de banda de red o una latencia mayor de la que se esperaría al leer las especificaciones del sistema. [1] Es un caso especial de sobrecarga de ingeniería . La sobrecarga puede ser un factor decisivo en el diseño de software, con respecto a la estructura, la corrección de errores y la inclusión de características. Se pueden encontrar ejemplos de sobrecarga informática en la programación orientada a objetos (OOP), la programación funcional , la transferencia de datos y las estructuras de datos.

Diseño de software

Elección de implementación

Un programador o ingeniero de software puede elegir entre varios algoritmos , codificaciones , tipos de datos o estructuras de datos , cada uno de los cuales tiene características conocidas. Al elegir entre ellos, también se deben considerar sus respectivos costos indirectos.

Compensaciones

En ingeniería de software , los gastos generales pueden influir en la decisión de incluir o no características en nuevos productos o, incluso, de corregir errores. Es posible que no se incluya una característica que tenga un alto costo general, o que se necesite un gran incentivo financiero para hacerlo. A menudo, aunque los proveedores de software estén al tanto de los errores en sus productos, la recompensa por corregirlos no vale la pena, debido a los gastos generales.

Por ejemplo, una estructura de datos implícita o sucinta puede proporcionar poca sobrecarga de espacio, pero a costa de un rendimiento lento (compensación espacio/tiempo).

Complejidad del software en tiempo de ejecución

La complejidad algorítmica se especifica generalmente mediante la notación Big O. Esta no hace ningún comentario sobre cuánto tarda algo en ejecutarse o cuánta memoria utiliza, sino cómo su aumento depende del tamaño de la entrada. La sobrecarga no forma parte de este cálculo deliberadamente , ya que varía de una máquina a otra, mientras que el tiempo de ejecución fundamental de un algoritmo no lo hace.

Esto debería contrastarse con la eficiencia algorítmica , que tiene en cuenta todo tipo de recursos: una combinación (aunque no trivial) de complejidad y gastos generales.

Ejemplos

Programación informática (tiempo de ejecución y sobrecarga computacional)

La invocación de una función introduce una pequeña sobrecarga en tiempo de ejecución. [2] A veces, el compilador puede minimizar esta sobrecarga incorporando en línea algunas de estas llamadas de función . [3]

Cachés de CPU

En una memoria caché de CPU , el "tamaño de la memoria caché" (o capacidad ) se refiere a la cantidad de datos que almacena una memoria caché . Por ejemplo, una "memoria caché de 4 KB" es una memoria caché que contiene 4 KB de datos. Los "4 KB" en este ejemplo excluyen bits de sobrecarga como información de trama, dirección y etiqueta. [4]

Comunicaciones (sobrecarga de transferencia de datos)

Para enviar de forma fiable una carga útil de datos a través de una red de comunicaciones es necesario enviar algo más que la carga útil en sí. También implica enviar diversos datos de control y señalización ( TCP ) necesarios para llegar al destino. Esto crea una denominada sobrecarga de protocolo , ya que los datos adicionales no contribuyen al significado intrínseco del mensaje. [5] [6]

En telefonía , la marcación de números y el tiempo de establecimiento de la llamada son gastos generales. En radios bidireccionales (pero semidúplex ), el uso de "over" y otras señales necesarias para evitar colisiones es un gasto general.

La sobrecarga del protocolo se puede expresar como un porcentaje de bytes que no son de aplicación (sincronización de protocolo y trama ) dividido por la cantidad total de bytes del mensaje.

Codificaciones y estructuras de datos (sobrecarga de tamaño)

La codificación de información y datos también genera sobrecarga. La fecha y hora "2011-07-12 07:18:47" se puede expresar como hora Unix con el entero con signo de 32 bits , consumiendo solo 4 bytes. Representada como cadena codificada UTF-8 con formato ISO 8601, la fecha consumiría 19 bytes, una sobrecarga de tamaño del 375% sobre la representación de entero binario. Como XML, esta fecha se puede escribir de la siguiente manera con una sobrecarga de 218 caracteres, mientras se agrega el contexto semántico de que es un CHANGEDATE con índice 1. 1310447927 2011-07-12 07:18:47

<?xml version="1.0" encoding="UTF-8"?> <datetime qualifier= "changedate" index= "1" > <año> 2011 </año> <mes> 07 </mes> <día> 12 < /día> <hora> 07 </hora> <minuto> 18 </minuto> <segundo> 47 </segundo> </datetime>        

Los 349 bytes resultantes del XML codificado en UTF-8 se correlacionan con una sobrecarga de tamaño del 8625 % sobre la representación entera original.

Sistemas de archivos

Además de los archivos mismos, los sistemas de archivos de computadora ocupan una parte del espacio para almacenar nombres de directorios y listados, nombres de archivos, ubicaciones de sectores de archivos, atributos como la fecha y hora de la última modificación y creación, cómo se fragmentan los archivos , partes escritas y libres del espacio y un diario en algunos sistemas de archivos.

Muchos archivos pequeños generan más sobrecarga que una pequeña cantidad de archivos grandes.

Véase también

Referencias

  1. ^ Denning, Peter (enero de 2003). "Overhead". Enciclopedia de informática. John Wiley and Sons. págs. 1341–1343. ISBN 978-0-470-86412-8.
  2. ^ "Funciones en línea (C++)". Microsoft Learn . Microsoft. 22 de enero de 2024 . Consultado el 22 de marzo de 2024 .
  3. ^ Mahaffey, Terry (24 de julio de 2019). "Inserción de decisiones en línea en Visual Studio". Blog del equipo de C++ . Microsoft.
  4. ^ Sorin, Daniel J. (2009). «Caches y jerarquías de memoria» (PDF) . Consultado el 13 de marzo de 2019 .Presentación para el curso de Arquitectura de Computadores.
  5. ^ Problemas comunes de rendimiento en aplicaciones de red Parte 1: Aplicaciones interactivas, Artículos técnicos de Windows XP, Microsoft
  6. ^ Sobrecarga de protocolo en redes IP/ATM, Minnesota Supercomputer Center