stringtranslate.com

Gastos generales (informática)

En informática , la sobrecarga es cualquier combinación de tiempo de cálculo, memoria, ancho de banda u otros recursos excesivos o indirectos que se requieren para realizar una tarea específica . Es un caso especial de gastos generales de ingeniería . Los gastos generales pueden 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 funciones. Se pueden encontrar ejemplos de sobrecarga informática en la programación orientada a objetos (OOP), programación funcional , [ cita necesaria ] transferencia de datos y estructuras de datos.

Diseño de software

Elección de implementación

Un programador/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 gastos generales.

Compensaciones

En ingeniería de software , los gastos generales pueden influir en la decisión de incluir o no funciones en nuevos productos o, incluso, de corregir errores. Es posible que no se incluya una característica que tiene un alto costo general o que necesita un gran incentivo financiero para hacerlo. A menudo, aunque los proveedores de software son muy conscientes de los errores en sus productos, la recompensa de solucionarlos no vale la pena, debido a los gastos generales.

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

Complejidad del tiempo de ejecución del software

La complejidad algorítmica generalmente se especifica utilizando la notación O grande . Esto no hace ningún comentario sobre cuánto tiempo tarda algo en ejecutarse o cuánta memoria utiliza, pero cómo su aumento depende del tamaño de la entrada. Los gastos generales deliberadamente no forman parte de este cálculo, ya que varían de una máquina a otra, mientras que el tiempo de ejecución fundamental de un algoritmo no.

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 de computadoras (tiempo de ejecución y sobrecarga computacional)

La invocación de una función introduce una pequeña sobrecarga de tiempo de ejecución. A veces el compilador puede minimizar esta sobrecarga incorporando algunas de estas llamadas a funciones .

cachés de CPU

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

Comunicaciones (gastos generales de transferencia de datos)

Enviar de manera confiable una carga útil de datos a través de una red de comunicaciones requiere enviar algo más que la carga útil en sí. También implica el envío de diversos datos de control y señalización ( TCP ) necesarios para llegar al destino. Esto crea lo que se conoce como sobrecarga de protocolo , ya que los datos adicionales no contribuyen al significado intrínseco del mensaje. [2] [3]

En telefonía , la marcación de números y el tiempo de establecimiento de llamadas son gastos generales. En las radios bidireccionales (pero semidúplex ), el uso de "sobre" y otras señales necesarias para evitar colisiones es una sobrecarga.

La sobrecarga del protocolo se puede expresar como un porcentaje de bytes que no son de aplicación (protocolo y sincronización de tramas ) dividido por el número total de bytes en el mensaje.

Codificaciones y estructuras de datos (tamaño superior)

La codificación de información y datos también genera gastos generales. La fecha y hora "2011-07-12 07:18:47" se pueden expresar como hora Unix con el entero de 32 bits con signo , consumiendo solo 4 bytes. Representada como una cadena codificada en UTF-8 con formato ISO 8601, la fecha consumiría 19 bytes, una sobrecarga de tamaño del 375 % con respecto a la representación de enteros binarios. Como XML, esta fecha se puede escribir de la siguiente manera con una sobrecarga de 218 caracteres, agregando el contexto semántico de que es una FECHA DE CAMBIO 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> </fechahora>        

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 en sí, los sistemas de archivos informáticos ocupan una parte del espacio para almacenar nombres y listados de directorios, 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 y escriben los archivos. y partes libres del espacio, y un diario en algunos sistemas de archivos.

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

Ver también

Referencias

  1. ^ Sorín, Daniel J. (2009). "Cachés y jerarquías de memoria" (PDF) . Consultado el 13 de marzo de 2019 .Presentación para curso de Arquitectura de Computadores.
  2. ^ Problemas comunes de rendimiento en aplicaciones de red, parte 1: aplicaciones interactivas, artículos técnicos de Windows XP, Microsoft
  3. ^ Gastos generales de protocolo en redes IP/ATM, Minnesota Supercomputer Center