On Fri, 21 Jan 2000, Stanislav Malyshev a.k.a Frodo wrote:
> From: Stanislav Malyshev a.k.a Frodo <frodo@xxxxxxxxxxxx>
> Subject: Re: [apache-talk] php's config
>
> VW>> Вот ты бы сразу к tcl написал на C приладу, благо это _много_ проще чем
> VW>> XS. Tcl он на это как раз заточен. Tool Command Language, embeddable язык
>
> На C очень стремно было файл с данными разбирать, там regular expressions
> в полный рост сначала, а потом на результате - суровая процедура match,
> которая была написана в конце концов на C. Я и хотел сначала написать весь
> разбор файла на TCL, потому что TCL там пришлось использовать -- надо
Вот для таких вещей правильно примененный Tcl как раз идеален.
Пишешь первый вариант на чистом Tcl - тормозит.
Читаешь man Tcl_CreateCommand и пишешь процедуру match на С.
Проверяешь. Тормозит меньше, но тормозит.
Читаешь man Tcl_CreateObjCommand и переходишь на объектный интерфейс,
передавая в команду объект-список, а не строку.
Скорости все еще чуть-чуть не хватает.
Читаешь man Tcl_RegExpMatch и убеждаешься что можно весь цикл разбора
переписать на С вместе с regular expression в полный рост.
Начинает работать быстро.
Обнаруживаешь что данные надо бы читать не из файла а из чего-то более
хитрого. Но поскольку ты их читаешь из Tcl_Channel, обнаруживаешь, что
тебе уже хорошо. Можно, например из postgres-овского блоба читать.
> было на нем+Tk GUI ко всему этому делу делать. И написал. И переписал на
> Perl, потому как во-первых, геморройно оказалось на TCL, а во вторых -
> тормозило жестоко.
--------------------------------------------------
Victor Wagner vitus@xxxxxx
Programmer Office:7-(095)-203-50-60
Institute for Commerce Home: 7-(095)-135-46-61
Engineering http://www.ice.ru/~vitus
=============================================================================
= Apache-Talk@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.