Slow compile/download time in Java

I’m the programming mentor for a team that is thinking of making the transition from LabView to Java. We’ve noticed that the time it takes to compile and deploy Java code from NetBeans onto the cRIO is really quite long, nearly four minutes–longer than deploying LabView code and much more than is typical from what I read on other CD threads. I’m hoping that someone can help us speed this process up.

Here is the output from NetBeans:

ant -f "\\\\office\\dfs\\Math-Private\\austind\\MyData\\My Documents\\NetBeansProjects\\CmdBased" deploy run
Deleting directory \\office\dfs\Math-Private\austind\MyData\My Documents\NetBeansProjects\CmdBased\build
Created dir: \\office\dfs\Math-Private\austind\MyData\My Documents\NetBeansProjects\CmdBased\build
Created dir: \\office\dfs\Math-Private\austind\MyData\My Documents\NetBeansProjects\CmdBased\build\classes
[crio-compile] ./src, C:/Users/austind/sunspotfrcsdk\lib\wpilibj.jar;C:/Users/austind/sunspotfrcsdk\lib
etworktables-crio.jar, C:/Users/austind/sunspotfrcsdk\lib\squawk.jar -> ./build/classes
Compiling 6 source files to \\office\dfs\Math-Private\austind\MyData\My Documents\NetBeansProjects\CmdBased\build\classes
Created dir: \\office\dfs\Math-Private\austind\MyData\My Documents\NetBeansProjects\CmdBased\build\preverify
Created dir: \\office\dfs\Math-Private\austind\MyData\My Documents\NetBeansProjects\CmdBased\build\preverify.raw.util
[crio-preverify] ./build/classes, , C:/Users/austind/sunspotfrcsdk\lib\wpilibj.jar;C:/Users/austind/sunspotfrcsdk\lib
etworktables-crio.jar, C:/Users/austind/sunspotfrcsdk\lib\squawk.jar -> ./build/preverify
Expanding: C:\Users\austind\sunspotfrcsdk\lib\wpilibj.jar into \\office\dfs\Math-Private\austind\MyData\My Documents\NetBeansProjects\CmdBased\build\preverify
Expanding: C:\Users\austind\sunspotfrcsdk\lib
etworktables-crio.jar into \\office\dfs\Math-Private\austind\MyData\My Documents\NetBeansProjects\CmdBased\build\preverify
[crio-jar] ./build/preverify, ./resources -> ./build/app.jar
Building jar: \\office\dfs\Math-Private\austind\MyData\My Documents\NetBeansProjects\CmdBased\build\app.jar
Created dir: \\office\dfs\Math-Private\austind\MyData\My Documents\NetBeansProjects\CmdBased\build\suite
[crio-suite] ./build/app.jar -> ./build/suite/image
CompilerOracle: exclude com/sun/squawk/Method.getParameterTypes
CompilerOracle: exclude com/sun/squawk/SymbolParser.getSignatureTypeAt
CompilerOracle: exclude com/sun/squawk/SymbolParser.stripMethods
[translating suite image [closed: false, parent: squawk] ...]
### Excluding compile: com.sun.squawk.Method::getParameterTypes
### Excluding compile: com.sun.squawk.SymbolParser::getSignatureTypeAt
[Including resource: META-INF/MANIFEST.MF]
[Including resource: META-INF/maven/]
[Including resource: META-INF/maven/]
Romizer processed 393 classes and generated 4 files.
Expanding: \\office\dfs\Math-Private\austind\MyData\My Documents\NetBeansProjects\CmdBased\build\app.jar into \\office\dfs\Math-Private\austind\MyData\My Documents\NetBeansProjects\CmdBased\build\suite
Moving 1 file to \\office\dfs\Math-Private\austind\MyData\My Documents\NetBeansProjects\CmdBased\build\suite
Moving 1 file to \\office\dfs\Math-Private\austind\MyData\My Documents\NetBeansProjects\CmdBased\build\suite
Moving 1 file to \\office\dfs\Math-Private\austind\MyData\My Documents\NetBeansProjects\CmdBased\build\suite
Deleting: \\office\dfs\Math-Private\austind\MyData\My Documents\NetBeansProjects\CmdBased\image.suite.api
[crio-configure] Configuration files not included in this version of the sdk
[crio-configure] Checking that crio is configured for Java
Host OS: Windows 7 6.1, 6.1
Host JVM: Java HotSpot(TM) Client VM 24.60-b09
Target IP:
Network interfaces on host:
    Intel(R) 82579LM Gigabit Network Connection:  address: netmask: <--- on robot's subnet
Connecting FTP @
[crio-deploy] ./build/suite/image.suite ->
Sending local file image.suite
[cRIO] [OTA Server] ********* REBOOTING cRIO *********
   Waiting for cRIO to reboot (1s)
   Waiting for cRIO to reboot (2s)
   Waiting for cRIO to reboot (3s)
   Waiting for cRIO to reboot (4s)
   Waiting for cRIO to reboot (5s)
   Waiting for cRIO to reboot (6s)
   Waiting for cRIO to reboot (7s)
   Waiting for cRIO to reboot (8s)
   Waiting for cRIO to reboot (9s)
   Waiting for cRIO to reboot (10s)
   Waiting for cRIO to reboot (11s)
[cRIO] -> * Loading debug.o: debug
[cRIO] Debugging is up, target server mounted at /tsfs
[cRIO]                 VxWorks
[cRIO] Copyright 1984-2006  Wind River Systems, Inc.
[cRIO]              CPU: cRIO-FRC II
[cRIO]     Runtime Name: VxWorks
[cRIO]  Runtime Version: 6.3
[cRIO]      BSP version: 1.0/0
[cRIO]          Created: May 23 2013, 16:00:09
[cRIO] ED&R Policy Mode: Deployed
[cRIO]    WDB Comm Type: WDB_COMM_END
[cRIO]              WDB: Ready.
[cRIO] * Loading nisysrpc.out: nisysrpc
[cRIO] * Loading NiRioRpc.out: NiRioRpc
[cRIO] * Loading nivissvc.out: nivissvc
[cRIO] * Loading nivision.out: nivision
[cRIO] task 0x1862030 (Service Locator Thread 5) deleted: errno=0 (0) status=0 (0)
[cRIO] NI-RIO Server 13.0 started successfully.
[cRIO] task 0x1739cf0 (NiRioRpc) deleted: errno=0 (0) status=0 (0)
[cRIO] * Loading visa32.out: visa32
[cRIO] task 0x192d620 (VISA Jungo Init Thread) deleted: errno=196709 (0x30065) status=-1073807360 (0xbfff0000)
[cRIO] * Loading niserial.out: niserial
[cRIO] * Loading NiFpgaLv.out: NiFpgaLv
[cRIO] task 0x19d48c8 (Service Locator Thread 6) deleted: errno=0 (0) status=0 (0)
[cRIO] task 0x19d48c8 (Service Locator Thread 7) deleted: errno=0 (0) status=0 (0)
[cRIO] task 0x19d48c8 (Service Locator Thread 8) deleted: errno=0 (0) status=0 (0)
[cRIO] * Loading FRC_FPGA_ChipObject.out: FRC_FPGA_ChipObject
[cRIO] task 0x1641ee0 (nisysapi-mDns) deleted: errno=0 (0) status=0 (0)
[cRIO] * Loading FRC_NetworkCommunication.out: FRC_NetworkCommunication
[cRIO] FRC_NetworkCommunication version: p4-1.4.0a18
[cRIO] FPGA Hardware GUID: 0x1394F6DC1FEB42EC6910E5767ED1D22C
[cRIO] FPGA Software GUID: 0x1394F6DC1FEB42EC6910E5767ED1D22C
[cRIO] FPGA Hardware Version: 2012
[cRIO] FPGA Software Version: 2012
[cRIO] FPGA Hardware Revision: 1.6.4
[cRIO] FPGA Software Revision: 1.6.4
[cRIO] * Loading FRC_JavaVM.out: FRC_JavaVM
[cRIO] [OTA Server] Version: 2012 FRC, Jan  5 2012, 17:20:48
[cRIO] Welcome to LabVIEW Real-Time 13.0
[cRIO] task 0x17a18c8 (sysapi-rpc) deleted: errno=0 (0) status=0 (0)
[cRIO] [Squawk VM] Version: 2011 FRC, Nov  5 2011, 14:34:13
[cRIO] FPGA Hardware GUID: 0x1394f6dc1feb42ec6910e5767ed1d22c
[cRIO] FPGA Software GUID: 0xa14c11bde4bb64aef6a86fc52a294cd9
[cRIO] Default IterativeRobot.disabledInit() method... Overload me!
[cRIO] Default IterativeRobot.disabledPeriodic() method... Overload me!
[cRIO] edu.wpi.first.wpilibj.networktables2.server.ServerConnectionAdapter@a entered connection state: GOT_CONNECTION_FROM_CLIENT
[cRIO] edu.wpi.first.wpilibj.networktables2.server.ServerConnectionAdapter@a entered connection state: CONNECTED_TO_CLIENT
[cRIO] Default IterativeRobot.disabledInit() method... Overload me!
BUILD STOPPED (total time: 3 minutes 41 seconds)

Yes, 3-4 minutes is too long for Java.

I noticed that you stored your project in a network location. How fast is it if your project is on your local drive?

Yes, that was the problem! The project was actually on my local drive but, for some reason, it was accessed as if on the network. After changing that, the deployment time is pretty fast.

Thanks so much for taking the time to respond.