Examinando tipos de Javascript Estoy tratando de averiguar cuál es el tamaño máximo de almacenamiento para algunos tipos de datos. Por ejemplo, configuré un algoritmo recursivo rápido para aumentar el tamaño de var hasta que el navegador falle, lo que termina siendo cerca de 128mb (o tal vez 256) para cadenas en mi versión existente de chrome.¿Tamaño máximo de Javascript para los tipos?
Lo he estado haciendo de la manera dolorosa porque no pude encontrar ninguna especificación sobre esto, pero los constantes bloqueos del navegador hacen que esta sea una prueba dolorosa (intentar capturar parece inútil por alguna razón con este problema en particular).
Busco información sobre el tamaño máximo de almacenamiento de otros tipos también (array, objeto, funciones, cadenas, números Bools ...)
EMCA-262 sección 8.4 es vago en este
La longitud de una Cadena es el número de elementos (es decir, valores de 16 bits) dentro de ella. La cadena vacía tiene longitud cero y, por lo tanto, no contiene elementos.
... ¿quizás esto es algo que debe identificarse como implementado en los navegadores?
ECMA embargo, no nos dicen acerca de los números, por ejemplo,
el tipo de número tiene exactamente 18437736874454810627 (es decir, 2^3^64-2) 53 + valores, lo que representa el doble precisión 64- formato de bit IEEE 754 valores como se especifica en el estándar IEEE para aritmética de punto flotante binario, excepto que los valores distintivos "Not-a-Number" 9007199254740990 (es decir, 2^53-2) del estándar IEEE se representan en ECMAScript como un único valor especial de NaN.
Pero entonces no veo nada acerca de los objetos.
¿Qué puedo esperar para usar en los navegadores? ¿Existe alguna base de código que ayude a administrar objetos y cadenas de gran tamaño?
¿Cuánta memoria puedo asignar en un solo script?
Así que no es realmente no hay un área central para este tipo de información? – Incognito
En realidad no, pero de nuevo si está llegando a esos límites es muy probable que esté haciendo algo que no se ajusta al entorno del navegador :) Aunque todavía es interesante acceder a la información, pero como dije, tendrá que hacer mucha excavación en google etc. para encontrarlo. –
Al igual que en cualquier otro idioma, preguntar '¿cuál es la longitud máxima de una cadena 'es análogo a preguntar' qué tan RAM tiene la computadora '. Las implementaciones pueden o no limitarlo (como el caso de Chrome) pero al final del día, una cadena es simplemente una matriz de bytes (y de hecho, en la mayoría de los intérpretes de JavaScript existe una delgada capa alrededor de nulos) C cadenas). – slebetman