Muộn còn hơn không.
Nếu tôi hiểu chính xác, Earley là từ trên xuống, và sẽ dành thời gian và bộ nhớ để tạo ra các vật phẩm Earley cho mỗi sản phẩm tại một S (i) nhất định. Điều này có nghĩa là đối với ngôn ngữ tự nhiên, trong S (0), chúng tôi tạo và kiểm tra một mục Earley cho mỗi từ có thể bắt đầu một câu và có khá nhiều từ đó.
Nhưng GLR là từ dưới lên, do đó, giả sử việc tra cứu bảng / trạng thái được băm hiệu quả, mã thông báo đầu tiên chọn (các) chuyển tiếp tiếp theo trong thời gian không đổi.
Điều này đặc biệt đúng với các ngôn ngữ tự nhiên, với số lượng lớn các sản phẩm riêng biệt. Nhưng không thực sự có ý nghĩa đối với các ngôn ngữ lập trình, với bộ sản phẩm rất nhỏ.