I make a timing score script in unity 2D, how i make high score of time?? Script is as follow:

using UnityEngine;
using System.Collections;

public class Timer : MonoBehaviour {
float timer = 0;

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {
	timer += Time.deltaTime;
}
void OnGUI () {
	if (timer > 0) {
		GUI.Label (new Rect (400, 10, 120, 50), "Score :" +(int)timer);
	}
}

}

you have to save data in order to read the old score & current score so you can tell because when reload scene every thing will reset see the doc save

& load
but how to just make another variable to compare score :

 float timer = 0;
 float highscore;
 void Update () {
     timer += Time.deltaTime;
     if(timer > highscore)
     highscore = timer;
 }