Unidad de RAM para compilar: ¿existe tal cosa?

votos
49

Una respuesta (ver abajo) a una de las preguntas aquí mismo en Stack Overflow me dio una idea para una gran pequeña pieza de software que podría ser invaluable para los programadores de todo el mundo.

Estoy imaginando el software de la unidad RAM, pero con una diferencia crucial: sería una carpeta real en mi disco duro. Más específicamente, la carpeta que contiene el proyecto en el que estoy trabajando actualmente. De esta forma, cualquier construcción sería casi instantánea (o al menos un par de órdenes de magnitud más rápida). La unidad RAM sincronizaría sus contenidos con la unidad de disco duro en segundo plano utilizando solo recursos inactivos.

Una búsqueda rápida en Google no reveló nada, pero tal vez simplemente no sé cómo Google. Tal vez alguien sabe de ese tipo de software? Preferiblemente gratis, pero las tarifas razonables también pueden estar bien.

Agregado: Se sugirieron algunas soluciones que descarté al principio. Serían (sin ningún orden en particular):

  • Compre una unidad de disco duro más rápida ( SSD quizás o 10K RPM). No quiero una solución de hardware. No solo el software tiene el potencial de ser más económico (freeware, ¿alguien?), Sino que también se puede usar en entornos donde las modificaciones de hardware no serían bienvenidas sino imposibles, por ejemplo, en la oficina.
  • Deje que OS / HDD haga el almacenamiento en caché, ya que sabe mejor cómo usar su RAM libre. El OS / HDD tiene algoritmos de caché genéricos que almacenan en caché todo e intentan predecir qué datos serán más necesarios en el futuro. No tienen idea de que, para mí, la prioridad es mi carpeta de proyectos. Y como todos sabemos bastante bien, en realidad no lo almacenan en la memoria caché de todos modos. ;)
  • Hay muchas unidades de RAM alrededor; usa uno de esos. Lo siento, eso sería imprudente. Necesito que mis datos se sincronicen nuevamente con el HDD cada vez que hay un poco de tiempo libre. En el caso de una falla de energía, podría soportar perder los últimos cinco minutos de trabajo, pero no todo desde mi última comprobación.

Se agregó 2: surgió una idea: use una unidad RAM normal más un sincronizador de carpeta de fondo (pero no quiero decir fondo ). ¿Existe tal cosa?

Añadido 3: Interesante. Acabo de probar una unidad de RAM simple en el trabajo. El tiempo de reconstrucción cae de ~ 14 segundos a ~ 7 segundos (no está mal), pero la construcción incremental sigue siendo ~ 5 segundos, como en el HDD. ¿Alguna idea de por qué? Utiliza aspnet_compilery aspnet_merge. Tal vez hacen algo con otros archivos temporales en otro lugar?

4 añadido: ¡Oh, buen nuevo conjunto de respuestas! :) OK, tengo un poco más de información para todos los que te digan. :)

Una de las principales razones para esta idea no es el software mencionado anteriormente (14 segundos de tiempo de compilación), sino otro al que no tuve acceso en ese momento. Esta otra aplicación tiene una base de código de 100 MB, y su construcción completa demora aproximadamente 5 minutos. Ah sí, está en Delphi 5 , por lo que el compilador no está muy avanzado. :) Poner la fuente en una unidad RAM dio como resultado una GRAN diferencia. Lo tengo por debajo de un minuto, creo. No he medido. Entonces, para todos aquellos que dicen que el sistema operativo puede almacenar mejor las cosas en la memoria caché, me gustaría diferir.

Pregunta relacionada:

Disco RAM para acelerar IDE

Nota sobre el primer enlace: la pregunta a la que se vincula ha sido eliminada porque era un duplicado. Pregunta:

¿Qué haces mientras compila tu código?

Y la respuesta de Dmitri Nesteruk a la que me vinculé fue:

Compilo casi al instante. En parte debido a que mis proyectos son pequeños, en parte debido al uso de discos RAM.

Publicado el 09/12/2008 a las 22:11
fuente por usuario
En otros idiomas...                            


18 respuestas

votos
17

En Linux (nunca mencionaste en qué sistema operativo estás, por lo que esto podría ser relevante) puedes crear dispositivos de bloque desde la RAM y montarlos como cualquier otro dispositivo de bloque (es decir, un HDD).

A continuación, puede crear scripts que se copien desde y hacia esa unidad al inicio / apagado, así como periódicamente.

Por ejemplo, podrías configurarlo para que tengas ~/codey ~/code-real. Su bloque RAM se monta en ~/codeel inicio, y luego ~/code-realse copia todo de (que está en su disco duro estándar). Al apagar todo se copiará ( rsync 'd sería más rápido) de vuelta ~/codea ~/code-real. También es probable que desee que la secuencia de comandos se ejecute periódicamente, por lo que no perdió mucho trabajo en caso de un corte de energía, etc.

Ya no hago esto (lo usé para Opera cuando el 9.5 beta era lento, ya no es necesario).

Aquí es cómo crear un disco RAM en Linux.

Respondida el 09/12/2008 a las 23:58
fuente por usuario

votos
15

Me sorprende cuánta gente sugiere que el sistema operativo puede hacer un mejor trabajo para resolver sus necesidades de almacenamiento en caché de lo que puede hacerlo en este caso especializado. Si bien no hice esto para la compilación, sí lo hice para procesos similares y terminé usando un disco RAM con scripts que automatizaban la sincronización.

En este caso, creo que elegiría un sistema de control de fuente moderno. En cada compilación verificaría automáticamente el código fuente (a lo largo de una rama experimental si es necesario) de modo que cada compilación daría como resultado que los datos se guarden.

Para comenzar el desarrollo, inicie el disco RAM y extraiga la línea base actual. Realice la edición, compilación, edición, compilación, etc., todo mientras las ediciones se guardan para usted.

Haga la verificación final cuando esté contento, y ni siquiera tiene que involucrar su unidad de disco duro normal.

Pero hay sincronizadores de fondo que automatizarán las cosas: el problema es que tampoco se optimizarán para la programación y es posible que deban hacerse escaneos completos de directorios y archivos ocasionalmente para detectar cambios. Un sistema de control de código fuente está diseñado exactamente para este propósito, por lo que es probable que tenga una sobrecarga menor aunque exista en la configuración de su compilación.

Tenga en cuenta que una tarea de sincronización en segundo plano, en el caso de un corte de energía, no está definida. Tendría que averiguar qué se guardó y qué no se guardó si las cosas salieron mal. Con un punto de guardado definido (en cada compilación, o forzado a mano) tendrías una muy buena idea de que estaba al menos en un estado en el que pensabas que podrías compilarlo. Use un VCS y puede compararlo fácilmente con el código anterior y ver qué cambios ya ha aplicado.

Respondida el 27/03/2009 a las 05:03
fuente por usuario

votos
4

Ver Aceleración emerge con tmpfs ( wiki de Gentoo Linux ).

Agilizar las compilaciones usando unidades de RAM bajo Gentoo fue el tema de un tutorial escrito hace muchos eones. Proporciona un ejemplo concreto de lo que se ha hecho. Lo esencial es que todos los archivos intermedios de origen y compilación se redirigen a un disco RAM para su compilación, mientras que los archivos binarios finales se dirigen al disco duro para su instalación.

Además, le recomiendo explorar el mantenimiento de su fuente en el disco duro, pero git pushsu fuente más reciente cambia a un repositorio clónico que reside en el disco RAM. Compila el clon. Use su script favorito para copiar los binarios creados.

Espero que eso ayude.

Respondida el 10/12/2008 a las 01:28
fuente por usuario

votos
3

Utilice https://wiki.archlinux.org/index.php/Ramdisk para hacer que el disco RAM.

Entonces escribí estas secuencias de comandos para mover directorios desde y hacia el disco RAM. Copia de seguridad se realiza en un alquitrán de archivo antes de entrar en el disco RAM. La ventaja de hacerlo de esta manera es que el camino sigue siendo el mismo, por lo que todos los archivos de configuración no es necesario cambiar. Cuando haya terminado, utilice uramdirpara traer de vuelta al disco.

Editar: Añadido código C que ejecutar cualquier comando que se da en un intervalo en el fondo. Yo lo envío tarcon --updateactualizar el archivo comprimido si cualquier cambio.

Creo que esta solución de propósito general es mejor que hacer una solución única a algo muy simple. BESO

Asegúrese de cambiar la ruta a rdbackupd

ramdir

#!/bin/bash

# May need some error checking for bad input.

# Convert relative path to absolute
# /bin/pwd gets real path without symbolic link on my system and pwd
# keeps symbolic link. You may need to change it to suit your needs.
somedir=`cd $1; /bin/pwd`;
somedirparent=`dirname $somedir`

# Backup directory
/bin/tar cf $somedir.tar $somedir

# Copy, tried move like https://wiki.archlinux.org/index.php/Ramdisk
# suggests, but I got an error.
mkdir -p /mnt/ramdisk$somedir
/bin/cp -r  $somedir /mnt/ramdisk$somedirparent

# Remove  directory
/bin/rm -r $somedir

# Create symbolic link. It needs to be in parent of given folder.
/bin/ln -s /mnt/ramdisk$somedir $somedirparent

#Run updater
~/bin/rdbackupd "/bin/tar -uf $somedir.tar $somedir" &

uramdir

#!/bin/bash

#Convert relative path to absolute
#somepath would probably make more sense
# pwd and not /bin/pwd so we get a symbolic path.
somedir=`cd $1; pwd`;

# Remove symbolic link
rm $somedir

# Copy dir back
/bin/cp -r /mnt/ramdisk$somedir $somedir

# Remove from ramdisk
/bin/rm -r /mnt/ramdisk$somedir

# Stop
killall rdbackupd

rdbackupd.cpp

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <signal.h>
#include <sys/time.h>

struct itimerval it;
char* command;

void update_archive(int sig)
{
    system(command);
}

int main(int argc, char**argv)
{
    it.it_value.tv_sec     = 1;   // Start right now
    it.it_value.tv_usec    = 0;
    it.it_interval.tv_sec  = 60;  // Run every 60 seconds
    it.it_interval.tv_usec = 0;

    if (argc < 2)
    {
        printf("rdbackupd: Need command to run\n");
        return 1;
    }
    command = argv[1];

    signal(SIGALRM, update_archive);
    setitimer(ITIMER_REAL, &it, NULL); // Start

    while(true);

    return 0;
}
Respondida el 26/10/2011 a las 00:00
fuente por usuario

votos
3

No tengo exactamente lo que estás buscando, pero ahora estoy usando una combinación de Ramdisk y DRAM ramdisk . Como esto es Windows, tengo un límite de 3 GB para la memoria del núcleo, lo que significa que no puedo usar demasiada memoria para un disco RAM. 4 GB extra en el 9010 realmente lo mece. Dejo que mi IDE almacene todas sus cosas temporales en el disco RAM de estado sólido y también en el repositorio de Maven . El disco DRAM RAM tiene una batería de respaldo en la tarjeta flash. Esto suena como un anuncio, pero realmente es una excelente configuración.

El disco DRAM tiene dos puertos SATA-300 y sale con una búsqueda promedio de 0.0 ms en la mayoría de las pruebas;) ¿Algo para la media navideña?

Respondida el 09/12/2008 a las 22:41
fuente por usuario

votos
3

Su SO guardará cosas en la memoria mientras funciona. Un disco RAM puede parecer más rápido, pero eso se debe a que no tiene en cuenta los tiempos de "copiar a RAMDisk" y "copiar de RAMDisk". Dedicar RAM a un disco RAM de tamaño fijo solo reduce la memoria disponible para el almacenamiento en caché. El sistema operativo sabe mejor qué necesita estar en la memoria RAM.

Respondida el 09/12/2008 a las 22:38
fuente por usuario

votos
2

Sí, me he encontrado con el mismo problema. Y tras Google infructuosa que acabo de escribir un servicio de Windows para el forro perezoso hasta la unidad de RAM (en realidad - cualquier carpeta, porque la unidad de RAM se puede montar en a, por ejemplo, el escritorio).

http://bitbucket.org/xkip/transparentbackup Puede especificar el intervalo de exploración completa (por defecto 5 minutos). Y un intervalo para la exploración sólo se notificó a los archivos (por defecto 30 segundos). Análisis alguno de los archivos modificados utilizando el atributo de 'archivo' (el sistema operativo restablece que uno especialmente para fines de archivado). Sólo los archivos modificados de esa manera están respaldados.

El servicio deja un archivo marcador especial para asegurarse de que la copia de seguridad de destino es exactamente una copia de seguridad de la fuente. Si la fuente está vacía y no contiene un archivo de marcador, el servicio realiza restauración automática de copia de seguridad. Por lo tanto, se puede destruir fácilmente la unidad de RAM y crear de nuevo con la restauración automática de datos. Es mejor utilizar una unidad de memoria RAM que es capaz de crear una partición en el inicio del sistema para que funcione de forma transparente.

Otra solución que he detectado recientemente es SuperSpeed SuperCache .

Esta compañía también tiene un disco RAM, pero eso es otro software. SuperCache permite utilizar la memoria RAM adicional para el almacenamiento en caché a nivel de bloque (que es muy diferente de almacenamiento en caché de archivos), y otra opción - espejo conduce a RAM por completo. En cualquier escenario puede especificar con qué frecuencia debe caer bloques sucios de nuevo a la unidad de disco duro, por lo que escribe como en la unidad de memoria RAM, pero el escenario espejo también hace que se lee como desde la unidad de memoria RAM. Se puede crear una partición pequeña, por ejemplo, 2 GB (con Windows) y el mapa de toda la partición de memoria RAM.

Una cosa interesante y muy útil sobre esa solución - que puede cambiar de almacenamiento en caché y el reflejo opciones en cualquier momento simplemente al instante con dos clics. Por ejemplo, si desea que su 2 GB de vuelta para gamimg o máquina virtual - se puede simplemente dejar de reflejo al instante y liberar memoria. Incluso abierto identificadores de archivo no se rompe - la partición sigue trabajando, pero como una unidad de costumbre.

EDIT: También le recomiendo que mueve la carpeta TEMP a Te unidad RAM, ya que los compiladores suelen hacer mucho trabajo con temp. En mi caso me dio otro 30% de la velocidad de compilación.

Respondida el 11/03/2012 a las 07:31
fuente por usuario

votos
2

Yo tenía la misma idea e hice algunas investigaciones. He encontrado las siguientes herramientas que hacen lo que busca:

Sin embargo, el segundo no podía soportar para conseguir trabajar en 64 bits de Windows 7 en absoluto, y no parece ser mantenido por el momento.

El disco VSuite RAM en las otras manos funciona muy bien. Lamentablemente no pude medir cualquier impulso significativo rendimiento en comparación con el SSD disco en su lugar.

Respondida el 09/11/2011 a las 20:33
fuente por usuario

votos
2
  1. Perfil. Asegúrese de hacer buenas mediciones de cada opción. Incluso puede comprar cosas que ya ha rechazado, medirlas y devolverlas, para que sepa que está trabajando con buenos datos.

  2. Obtenga mucha RAM Los módulos DIMM de 2 GB son muy baratos; Los módulos DIMM de 4 GB cuestan un poco más de US $ 100 / ea, pero eso no es mucho dinero comparado con lo que las piezas de computadora cuestan solo unos años atrás. Ya sea que termine con un disco RAM o simplemente deje que el SO haga su trabajo, esto ayudará. Si está ejecutando Windows de 32 bits, tendrá que cambiar a 64 bits para hacer uso de cualquier cosa de más de 3 GB.

  3. Live Mesh se puede sincronizar desde su unidad RAM local a la nube o a otra computadora, brindándole una copia de respaldo actualizada.

  4. Mueva solo las salidas del compilador. Mantenga su código fuente en el disco físico real, pero dirija archivos .obj, .dll y .exe para que se creen en la unidad RAM.

  5. Considera un DVCS . Clona desde la unidad real a un nuevo repositorio en la unidad RAM. "presione" sus cambios nuevamente al padre a menudo, diga cada vez que pasen todas sus pruebas.

Respondida el 10/12/2008 a las 00:31
fuente por usuario

votos
2

Solíamos hacer esto hace años para un macrocompilador 4GL ; si coloca la biblioteca de macros y las bibliotecas de soporte y su código en un disco RAM, compilar una aplicación (en un 80286) pasaría de 20 minutos a 30 segundos.

Respondida el 09/12/2008 a las 22:32
fuente por usuario

votos
1

Hay muchas RAMDrives, usa una de esas. Lo siento, eso sería imprudente.

Solo si trabajas por completo en el disco RAM, lo cual es una tontería ...

Script de shell Psuedo-ish, ramMake:

# setup locations
$ramdrive = /Volumes/ramspace
$project = $HOME/code/someproject

# ..create ram drive..

# sync project directory to RAM drive
rsync -av $project $ramdrive

# build
cd $ramdrive
make

#optional, copy the built data to the project directory:
rsync $ramdrive/build $project/build

Dicho esto, su compilador puede hacer esto sin scripts adicionales. Simplemente cambie la ubicación de salida de su compilación a un disco RAM, por ejemplo en Xcode, en Preferencias, Building, "Place Build Products in:" y "Place Intermediate Build Files". en:".

Respondida el 27/03/2009 a las 06:31
fuente por usuario

votos
1

Lo que puede ser muy beneficioso incluso en una máquina de un solo núcleo es la fabricación paralela. La E / S de disco es un factor bastante importante en el proceso de compilación. Generar dos instancias de compilador por núcleo de CPU realmente puede aumentar el rendimiento. Como una instancia de compilador bloquea en E / S, la otra normalmente puede saltar a la parte intensiva de la CPU de compilación.

Debes asegurarte de que tienes la RAM para soportar esto (no debería ser un problema en una estación de trabajo moderna), de lo contrario terminarás cambiando y eso frustra el propósito.

En GNU make puedes simplemente usar -j[n]dónde [n]está el número de procesos simultáneos para engendrar. Sin embargo, asegúrese de tener el árbol de dependencias correcto antes de intentarlo o los resultados pueden ser impredecibles.

Otra herramienta que es realmente útil (en forma paralela) es distcc . Funciona como un regalo con GCC (si puedes usar GCC o algo con una interfaz de línea de comando similar). distcc realmente divide la tarea de compilación fingiendo ser el compilador y las tareas de generación en servidores remotos. Usted lo llama de la misma manera que llamaría a GCC, y aprovecha la opción make -j [n] para llamar a muchos procesos distcc.

En uno de mis trabajos anteriores teníamos una compilación bastante intensiva del sistema operativo Linux que se realizaba casi todos los días durante un tiempo. Agregar un par de máquinas de construcción dedicadas y poner distcc en algunas estaciones de trabajo para aceptar trabajos de compilación nos permitió reducir los tiempos de construcción de medio día a menos de 60 minutos para una compilación completa del espacio de usuario de OS +.

Hay muchas otras herramientas para acelerar las compilaciones existentes. Es posible que desee investigar más que crear discos RAM; algo que parece que tendrá muy poca ganancia ya que el sistema operativo está haciendo un caché de disco con RAM. Los diseñadores de sistemas operativos pasan mucho tiempo almacenando en caché correctamente para la mayoría de las cargas de trabajo; son (colectivamente) más inteligentes que usted, por lo que no me gustaría intentarlo mejor que ellos.

Si mastica RAM para disco RAM, el sistema operativo tiene menos memoria RAM de trabajo para almacenar datos y ejecutar su código -> terminará con más intercambio y peor rendimiento de disco que de lo contrario (nota: debe perfilar esta opción antes de descartar por completo eso).

Respondida el 27/03/2009 a las 05:29
fuente por usuario

votos
1

Me pregunto si podría construir algo así como un software RAID 1 donde tenga un disco físico / partición como miembro y un trozo de RAM como miembro.

Apuesto que con un poco de ajuste y una configuración realmente extraña uno podría hacer que Linux haga esto. Sin embargo, no estoy convencido de que valga la pena el esfuerzo.

Respondida el 10/12/2008 a las 01:06
fuente por usuario

votos
0

Mi solución definitiva al problema es vmtouch: https://hoytech.com/vmtouch/ Esta herramienta bloquea la carpeta actual en la memoria caché (RAM) y daemonizes vmtouch en segundo plano.

sudo vmtouch -d -L ./

Poner esto en rc cáscara para un acceso rápido:

alias cacheThis = 'sudo vmtouch -d -L ./'

Busqué un script hecho listo para bastante tiempo, porque no quiero perder mucho tiempo en la escritura de mi propio disco de memoria con resincronización-script. Estoy seguro de que me habría perdido algunos casos extremos, lo que sería bastante desagradable si el código importante estaba involucrado. Y nunca me ha gustado el enfoque de votación.

Vmtouch parece la solución perfecta. Además, no pierde la memoria como un disco de memoria de tamaño fijo lo hace. No hice un punto de referencia, ya que el 90% de mi fuente 1Gig + estructura de carpeta ya estaban en caché, pero al menos se siente más rápido;)

Respondida el 02/08/2017 a las 07:08
fuente por usuario

votos
0

La desaceleración de disco que incurra está principalmente escribir, y también posiblemente debido a los escáneres de virus. Se puede variar en gran medida entre los sistemas operativos también.

Con la idea de que las escrituras se más lento, me gustaría tener la tentación de instalar una acumulación donde intermedios (por ejemplo, .oarchivos binarios) y obtener una salida a una ubicación diferente, como una unidad de memoria RAM.

A continuación, puede vincular esta carpeta bin / intermedia a los medios de comunicación más rápidas (utilizando un enlace simbólico o punto de unión NTFS ).

Respondida el 27/09/2011 a las 22:36
fuente por usuario

votos
0

Algunas ideas fuera de mi cabeza:

Utilice el Monitor de procesos de Sysinternals (no Process Explorer ) para verificar lo que sucede durante una compilación; esto le permitirá ver si %temp%se usa, por ejemplo (recuerde que los archivos de respuestas probablemente se crean con FILE_ATTRIBUTE_TEMPORARY que debería evitar las escrituras en el disco si es posible, aunque). Me he movido %TEMP%a un disco RAM, y eso me da aceleraciones menores en general.

Obtenga un disco RAM que admita cargar / guardar automáticamente imágenes de disco, para que no tenga que usar scripts de arranque para hacer esto. La lectura / escritura secuencial de una sola imagen de disco es más rápida que la sincronización de muchos archivos pequeños.

Coloque los archivos de encabezado de uso frecuente / grande en el disco RAM y anule las rutas estándar del compilador para usar las copias de la unidad de RAM. Es probable que no va a dar de que gran parte de una mejoría después construye por primera vez, sin embargo, como el sistema operativo almacena en caché las cabeceras estándar.

Mantenga sus archivos fuente en su disco duro y sincronícelos con el disco RAM, y no al revés . Consulte MirrorFolder para realizar la sincronización en tiempo real entre carpetas: lo logra mediante un controlador de filtro, por lo que solo sincroniza lo necesario (y solo realiza cambios). Un archivo de 4 KB para escribir en 2 GB solo generará 4 KB de escritura en la carpeta de destino. ) Encontrar la manera de hacer que su IDE de construcción de la unidad de memoria RAM aunque los archivos de origen están en su disco duro ... y tenga en cuenta que se necesita un gran unidad de RAM para grandes proyectos.

Respondida el 27/03/2009 a las 06:16
fuente por usuario

votos
0

Esto suena como el almacenamiento en caché de disco que su sistema operativo y / o disco duro manejará automáticamente (en distintos grados de rendimiento, sin duda).

Mi consejo es que, si no le gusta la velocidad de su disco, compre un disco de alta velocidad únicamente con fines de compilación. Menos trabajo de su parte y es posible que tenga la solución a sus problemas de compilación.

Dado que esta pregunta se planteó originalmente, los discos duros giratorios se han convertido en tortugas miserables en comparación con las SSD. Están muy cerca del disco RAM solicitado originalmente en una SKU que puedes comprar en Newegg o Amazon.

Respondida el 09/12/2008 a las 22:16
fuente por usuario

votos
-1

Tal como dice James Curran, el hecho de que la mayoría de los programas siguen la ley de la localidad de referencias, el número frecuente de páginas de códigos y datos se reducirá con el tiempo a un tamaño manejable por la memoria caché de disco del sistema operativo.

Los discos RAM fueron útiles cuando los sistemas operativos se construyeron con limitaciones tales como cachés estúpidos (Win 3.x, Win 95, DOS). La ventaja del disco RAM es cercana a cero y si asigna mucha RAM, absorberá la memoria disponible para el administrador de caché del sistema, lo que perjudicará el rendimiento general del sistema. La regla de oro es: deja que tu núcleo haga eso. Esto es lo mismo que los programas de "desfragmentación de memoria" o "optimizadores": en realidad fuerzan a las páginas a salir de la memoria caché (para obtener más RAM eventualmente), pero causando que el sistema haga una gran cantidad de fallas de página con el tiempo cuando los programas cargados empiece a pedir el código / datos que fueron eliminados.

Por lo tanto, para obtener más rendimiento, obtenga un subsistema de hardware de E / S de disco rápido, tal vez RAID, CPU más rápida, mejor chipset (¡sin VIA!), Más memoria RAM física, etc.

Respondida el 27/03/2009 a las 04:51
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more