The latest James Bond movie, Skyfall, has become the highest-grossing film in British box office history.
The 23rd episode of the spy series, starring Daniel Craig as Agent 007 for a third time, has taken a record £94.3 million ($A145.94 million) at British and Irish cinemas in its first 40 days, the film's producers said.
The previous record was held by the sci-fi epic Avatar, which took £94 million during its entire 11 months on show in Britain and Ireland.
Daniel Craig in Skyfall.
"We're overwhelmed with gratitude to the cinema-going audiences in the UK who have made Skyfall the highest-grossing film of all time," producers Michael G Wilson and Barbara Broccoli said in a statement.
Critics have hailed Skyfall, starring Spanish actor Javier Bardem as the latest villain, as one of the finest in 50 years of Bond films. But it still has a way to go before its global takings catch up with those of Avatar, which remains the most successful movie in history with total earnings of $US2.8 billion ($A2.67 billion), according to tracking website Box Office Mojo.
Skyfall has taken $US869.7 million worldwide so far, the website estimates, making it the 30th-highest-grossing film in history - although the figures are not adjusted for inflation.
The 50th anniversary of the Bond movies has been marked around the world this year with a series of events, from auctions of Bond memorabilia to exhibitions and a documentary.