Running Slow on Phone but great on Computer

I am writing a simple puzzle game resembling the game three’s but with all two’s in it. Its blazing fast in the editor but it is not running properly on my phone. This is the code I wrote for Swipe Detection in Update() Method is there anything wrong with this ? Note TouchComplete is a Global Variable

if (Input.touchCount > 0) {
        Touch touch = Input.GetTouch (0);
        switch (touch.phase) {
        case TouchPhase.Began:
            touchStart = touch.position;
            TouchComplete = false;
            break;
        case TouchPhase.Moved:
            if (TouchComplete)
                return;
            Vector2 deltaPostion = touch.position - touchStart;
            if (Mathf.Abs (deltaPostion.x) < SWIPE_THRESHHOLD || Mathf.Abs (deltaPostion.y) < SWIPE_THRESHHOLD)
                return;
            if (Mathf.Abs (deltaPostion.x) > Mathf.Abs (deltaPostion.y)) {
                if (deltaPostion.x > 0) {
                    RightSwipe ();
                } else {
                    LeftSwipe ();
                }
            } else {
                if (deltaPostion.y > 0) {
                    UpSwipe ();
                } else {
                    DownSwipe ();
                }
            }
            TouchComplete = true;
            break;
        default:
            TouchComplete = true;
            break;
        }

    }

Use the built in profiler to get some ideas about what’s slow. The code you posted looks fine to me. Once you have some profiler data, post a new question.