laggy syntax need tips! it works in the editor perfectly but on build there is a ridiculous delay

using UnityEngine;
using System.Collections;

public class spaceShipMove : MonoBehaviour {

float speed = 0.05f;

void Update () 
{
	//left
	if (Input.GetKey ("a")) 
	{
		transform.Rotate (0, 70 * Time.deltaTime, 0);
	}

	//right
	if (Input.GetKey ("d")) 
	{
		transform.Rotate (0, -70 * Time.deltaTime, 0);
	}

	//up
	if (Input.GetKey ("s")) 
	{
		transform.Rotate (100 * Time.deltaTime, 0, 0);
	}

	//down
	if (Input.GetKey ("w")) 
	{
		transform.Rotate (-100 * Time.deltaTime, 0, 0);
	}

	//rLeft
	if (Input.GetKey ("j")) 
	{
		transform.Rotate (0, 0, -70 * Time.deltaTime);
	}

	//rRight
	if (Input.GetKey ("l")) 
	{
		transform.Rotate (0, 0, 70 * Time.deltaTime);
	}

	//forward
	if (Input.GetKey ("i")) 
	{
		transform.Translate (0, speed, 0);
	}

	//back
	if (Input.GetKey ("k")) 
	{
		transform.Translate (0, -speed, 0);
	}

	if (Input.GetKey ("u")) 
	{
		transform.Translate (0, 0, speed);
	}

	if (Input.GetKey ("o")) 
	{
		transform.Translate (0, 0, -speed);
	}

	
	if (Input.GetKeyDown ("1")) 
	{
		speed = 1 * Time.deltaTime;

	}

	if (Input.GetKeyDown ("2")) 
	{
		speed = 12 * Time.deltaTime;
	}

	if (Input.GetKeyDown ("3")) 
	{
		speed = 15 * Time.deltaTime;
	}

	if (Input.GetKeyDown ("4")) 
	{
		speed = 30 * Time.deltaTime;
	}

	if (Input.GetKeyDown ("5")) 
	{
		speed = 100 * Time.deltaTime;
	}

	if (Input.GetKeyDown ("6")) 
	{
		speed = 300 * Time.deltaTime;
	}
}

}

I KNOW MY SYNTAX IS MESSY AND INEFFICIENT ANY POINTERS?

Your script doesn’t look messy, you’re just doing a lot of things in your update loop. There are a lot of different reasons for performance problems in builds, but you should be able to find out more by using the Unity Profiler on your build. It can tell you exactly which script or task is taking long. Most of the time it will be rendering, not script performance, which is the bottleneck.

However, some small improvements to your script: you can use Keycodes instead of strings for the GetKey function.

Input.GetKeyDown(KeyCode.Space);

You probably don’t need to check every if clause every frame. Usually some controls are exclusive, like going up and down at the same time, so use if and else if clauses for those. This way if the first of a mutually exclusive group of keys is pressed, the others won’t be checked again during the frame.

Additionally, I would cache the transform property, since it calls GetComponent() so many times in your loop.

private new Transform transform;

void Awake()
{
    transform = GetComponent<Transform>();
}

You could also create a Transform myTransform and do the same thing. This way GetComponent is only called once in Awake. The ‘new’ keyword in my example just overrides the default ‘transform’ property, so that you can keep the same name in Update. A very clean way of adding a cached variable without needing to refactor any names.

Lastly, the call to Time.deltaTime has a tiny overhead, which in almost all cases doesn’t impact performance, but if you’d really wanted to, you could cache that too in every update call:

void Update()
{
    float deltaTime = Time.deltaTime;
    ...

}

But again, laggy performance might have completely different reasons, so you should really make use of the Profiler. It’s now also in the free Version of Unity 5.1.1.

Unity Profiler