##// END OF EJS Templates
bookmarks: cache reverse mapping (issue5868)...
bookmarks: cache reverse mapping (issue5868) I chose a simpler implementation. If the initial cost of building reverse mapping is significant, we'll have to move it under @propertycache. The nodemap could be a dict of sets, but I think keeping a sorted list is better since each node is likely to have zero/one bookmark. Micro-benchmark with 1001 bookmarks and 1001 revisions: $ for n in `seq 0 1000`; do touch $n; hg book book$n; hg ci -qAm$n; done $ hg bookmarks --time > /dev/null (orig) time: real 0.040 secs (user 0.050+0.000 sys 0.000+0.000) (new) time: real 0.040 secs (user 0.040+0.000 sys 0.010+0.000) $ hg log -T '{bookmarks}\n' --time > /dev/null (orig) time: real 0.160 secs (user 0.160+0.000 sys 0.000+0.000) (new) time: real 0.090 secs (user 0.100+0.000 sys 0.000+0.000)

File last commit:

r34656:01c57eeb default
r37869:04ceb267 @26 default
Show More
Makefile
40 lines | 823 B | text/x-makefile | MakefileLexer
Yuya Nishihara
chg: import frontend sources...
r28060 TARGET = chg
Jun Wu
chg: add procutil.h...
r30693 SRCS = chg.c hgclient.c procutil.c util.c
Yuya Nishihara
chg: import frontend sources...
r28060 OBJS = $(SRCS:.c=.o)
CFLAGS ?= -O2 -Wall -Wextra -pedantic -g
Mathias De Maré
chg: define _GNU_SOURCE to allow CentOS 5 compilation...
r33666 CPPFLAGS ?= -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE
Yuya Nishihara
chg: import frontend sources...
r28060 override CFLAGS += -std=gnu99
Jun Wu
chg: allows default hg path to be overridden...
r28605 ifdef HGPATH
override CPPFLAGS += -DHGPATH=\"$(HGPATH)\"
endif
Yuya Nishihara
chg: import frontend sources...
r28060
DESTDIR =
PREFIX = /usr/local
MANDIR = $(PREFIX)/share/man/man1
.PHONY: all
all: $(TARGET)
$(TARGET): $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS)
Jun Wu
chg: add procutil.h...
r30693 chg.o: hgclient.h procutil.h util.h
Jun Wu
chg: handle pager request client-side...
r30738 hgclient.o: hgclient.h procutil.h util.h
Jun Wu
chg: add procutil.h...
r30693 procutil.o: procutil.h util.h
Yuya Nishihara
chg: import frontend sources...
r28060 util.o: util.h
.PHONY: install
install: $(TARGET)
muxator
build: chg build was failing when the base directory contained spaces
r34625 install -d "$(DESTDIR)$(PREFIX)"/bin
install -m 755 "$(TARGET)" "$(DESTDIR)$(PREFIX)"/bin
install -d "$(DESTDIR)$(MANDIR)"
install -m 644 chg.1 "$(DESTDIR)$(MANDIR)"
Yuya Nishihara
chg: import frontend sources...
r28060
.PHONY: clean
clean:
$(RM) $(OBJS)
.PHONY: distclean
distclean:
$(RM) $(OBJS) $(TARGET)