Skip to content

Instantly share code, notes, and snippets.

@apg

apg/Makefile Secret

Created October 18, 2017 20:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save apg/089d8390f3be73781db5a93f80edca28 to your computer and use it in GitHub Desktop.
Save apg/089d8390f3be73781db5a93f80edca28 to your computer and use it in GitHub Desktop.
import json
import random
import string
fields = ["Wogulian", "Wolf", "Wolffia", "Wolffian", "Wolffianism", "Wolfgang", "Wolfian", "Wolof", "Wongara", "Woodruff", "Woodsia", "Woodwardia", "Woody", "Woolwa", "Worden", "Wordsworthian", "Wordsworthianism", "Wormian", "Wovoka", "Woyaway", "Wraf", "Wren", "Wronskian", "Wu", "Wuchereria", "Wullie", "Wundtian", "Wurmian", "Wurzburger", "Wyandot", "Wyandotte", "Wycliffian", "Wycliffism", "Wycliffist", "Wycliffite", "Wyethia", "Wykehamical", "Wykehamist", "Wyomingite", "X", "Xanthian", "Xanthidium", "Xanthisma", "Xanthium", "Xanthocephalus", "Xanthoceras", "Xanthochroi", "Xanthochroic", "Xanthomelanoi", "Xanthomonas", "Xanthophyceae", "Xanthopia", "Xanthorrhiza", "Xanthorrhoea", "Xanthosoma", "Xanthoura", "Xanthoxalis", "Xaverian", "Xema", "Xenacanthini", "Xenarchi", "Xenarthra", "Xenicidae", "Xenicus", "Xenocratean", "Xenocratic", "Xenomi", "Xenomorpha", "Xenopeltidae", "Xenophanean", "Xenophonic", "Xenophontean", "Xenophontian", "Xenophontic", "Xenophontine", "Xenophora", "Xenophoridae", "Xenopodidae", "Xenopsylla", "Xenopteri", "Xenopterygii", "Xenopus", "Xenorhynchus", "Xenos", "Xenosauridae", "Xenosaurus", "Xenurus", "Xeranthemum", "Xeres", "Xerophyllum", "Xerus", "Xicak", "Xicaque", "Ximenia", "Xina", "Xinca", "Xipe", "Xiphias", "Xiphiidae", "Xiphisura", "Xiphiura", "Xiphius", "Xiphodon", "Xiphodontidae", "Xiphosura", "Xiphosuridae", "Xiphosurus", "Xiphura", "Xiphydria", "Xiphydriidae", "Xiraxara", "Xmas", "Xosa", "Xylaria", "Xylariaceae", "Xyleborus", "Xylia", "Xylina", "Xylocopa", "Xylocopidae", "Xylonite", "Xylophaga", "Xylophagidae", "Xylophagus", "Xylopia", "Xylosma", "Xylotrya", "Xyrichthys", "Xyridaceae", "Xyridales", "Xyris", "Y", "Yadava", "Yagnob", "Yagua", "Yahgan", "Yahganan", "Yahoo", "Yahoodom", "Yahooish", "Yahooism", "Yahuna", "Yahuskin", "Yahweh", "Yahwism", "Yahwist", "Yahwistic", "Yajna", "Yajnavalkya", "Yaka", "Yakala", "Yakan", "Yakima", "Yakona", "Yakonan", "Yakut", "Yakutat", "Yale", "Yalensian", "Yamacraw", "Yamamadi", "Yamassee", "Yamato", "Yamel", "Yameo", "Yana", "Yanan", "Yankee", "Yankeedom", "Yankeefy", "Yankeeism", "Yankeeist", "Yankeeize", "Yankeeland", "Yankeeness", "Yankton", "Yanktonai", "Yannigan", "Yao", "Yapman", "Yaqui", "Yaquina", "Yarborough", "Yarkand", "Yaru", "Yarura", "Yaruran", "Yaruro", "Yasht", "Yasna", "Yatigan", "Yatvyag", "Yauapery", "Yavapai", "Yazdegerdian", "Yazoo", "Yellowknife", "Yemen", "Yemeni", "Yemenic", "Yemenite", "Yengee", "Yengeese", "Yenisei", "Yeniseian", "Yerava", "Yeraver", "Yeshibah", "Yeshiva", "Yezdi", "Yezidi", "Yid", "Yiddish", "Yiddisher", "Yiddishism", "Yiddishist", "Yikirgaulit", "Yildun", "Yin", "Yojuane", "Yokuts", "Yoldia", "Yomud", "Yonkalla", "Yorker", "Yorkish", "Yorkist", "Yorkshire", "Yorkshireism", "Yorkshireman", "Yoruba", "Yoruban", "Yponomeuta", "Yponomeutid", "Yponomeutidae", "Ypurinan", "Yquem", "Yuan", "Yuapin", "Yucatec", "Yucatecan", "Yucateco", "Yucca", "Yuchi", "Yuechi", "Yuga", "Yugoslav", "Yugoslavian", "Yugoslavic", "Yuit", "Yukaghir", "Yuki", "Yukian", "Yuma", "Yuman", "Yun", "Yunca", "Yuncan", "Yunnanese", "Yurak", "Yurok", "Yurucare", "Yurucarean", "Yurucari", "Yurujure", "Yuruk", "Yuruna", "Yurupary", "Yustaga", "Yvonne", "Z", "Zabaean", "Zabaism", "Zaberma", "Zabian", "Zabism", "Zacatec", "Zacateco", "Zach", "Zachariah", "Zadokite", "Zaglossus", "Zaitha", "Zaklohpakap", "Zalambdodonta", "Zalophus", "Zambal", "Zambezian", "Zamenis", "Zamia", "Zamiaceae", "Zamicrus", "Zan", "Zanclidae", "Zanclodon", "Zanclodontidae", "Zande", "Zaniah", "Zannichellia", "Zannichelliaceae", "Zanonia", "Zantedeschia", "Zanthorrhiza", "Zanthoxylaceae", "Zanthoxylum", "Zantiot", "Zanzalian", "Zanzibari", "Zapara", "Zaparan", "Zaparo", "Zaparoan", "Zaphetic", "Zaphrentidae", "Zaphrentis", "Zapodidae", "Zapodinae", "Zaporogian", "Zaporogue", "Zapotec", "Zapotecan", "Zapoteco", "Zaptoeca", "Zapus", "Zaque", "Zaramo", "Zarathustrian", "Zarathustrianism", "Zarathustrism", "Zardushti", "Zarema", "Zaurak", "Zauschneria", "Zavijava", "Zea", "Zealander", "Zebrina", "Zebulunite", "Zechstein", "Zeelander", "Zeguha", "Zeidae", "Zeke", "Zelanian", "Zelkova", "Zeltinger", "Zen", "Zenaga", "Zenaida", "Zenaidinae", "Zenaidura", "Zend", "Zendic", "Zenelophon", "Zenobia", "Zenonian", "Zenonic", "Zeoidei", "Zep", "Zephyranthes", "Zeppelin", "Zerma", "Zeuctocoelomata", "Zeuglodon", "Zeuglodonta", "Zeuglodontia", "Zeuglodontidae", "Zeugobranchia", "Zeugobranchiata", "Zeus", "Zeuxian", "Zeuzera", "Zeuzeridae", "Zhmud", "Zilla", "Zimmerwaldian", "Zimmerwaldist", "Zincalo", "Zingiber", "Zingiberaceae", "Zinnia", "Zinzar", "Zinziberaceae", "Zion", "Zionism", "Zionist", "Zionistic", "Zionite", "Zionless", "Zionward", "Zipa", "Ziphiidae", "Ziphiinae", "Ziphius", "Zipper", "Zips", "Zirak", "Zirbanit", "Zirian", "Zirianian", "Zizania", "Zizia", "Zizyphus", "Zmudz", "Zoa", "Zoanthacea", "Zoantharia", "Zoanthidae", "Zoanthidea", "Zoanthus", "Zoarces", "Zoarite", "Zohak", "Zoharist", "Zoharite", "Zoilean", "Zoilism", "Zoilist", "Zolaesque", "Zolaism", "Zolaist", "Zolaistic", "Zolaize", "Zollernia", "Zonaria", "Zongora", "Zonites", "Zonitidae", "Zonitoides", "Zonoplacentalia", "Zonotrichia", "Zonta", "Zontian", "Zonuridae", "Zonurus", "Zoochlorella", "Zoomastigina", "Zoomastigoda", "Zoophaga", "Zoophagineae", "Zoophyta", "Zootoca", "Zoque", "Zoquean", "Zoraptera", "Zorillinae", "Zoroastrian", "Zoroastrianism", "Zoroastrism", "Zorotypus", "Zosma", "Zostera", "Zosteraceae", "Zosteropinae", "Zosterops", "Zouave", "Zoysia", "Zubeneschamali", "Zuleika", "Zulhijjah", "Zulinde", "Zulkadah", "Zulu", "Zuludom", "Zuluize", "Zuni", "Zunian", "Zutugil", "Zwieback", "Zwinglian", "Zwinglianism", "Zwinglianist", "Zygadenus", "Zygaena", "Zygaenidae", "Zygnema", "Zygnemaceae", "Zygnemales", "Zygnemataceae", "Zygnematales", "Zygobranchia", "Zygobranchiata", "Zygocactus", "Zygodactylae", "Zygodactyli", "Zygomycetes", "Zygophyceae", "Zygophyllaceae", "Zygophyllum", "Zygoptera", "Zygopteraceae", "Zygopterides", "Zygopteris", "Zygosaccharomyces", "Zyrenian", "Zyrian", "Zyryan", "Zythia", "Zyzomys", "Zyzzogeton",]
def rstr(N):
return ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(N))
data = []
for i in range(2000):
x = {}
for j in fields:
x[j] = rstr(100)
data.append(x)
with open('huge.json', 'w') as y:
json.dump({"foos": data}, y)
package main
import (
"encoding/json"
"fmt"
"os"
"time"
)
func main() {
input, err := os.Open("huge.json")
if err != nil {
fmt.Printf("File error: %v\n", err)
os.Exit(1)
}
var i interface{}
before := time.Now()
dec := json.NewDecoder(input)
err = dec.Decode(&i)
if err != nil {
fmt.Printf("Encode error: %v\n", err)
os.Exit(1)
}
fmt.Println("LOAD: ", time.Since(before))
output, err := os.Create("out.go-map.json")
if err != nil {
fmt.Printf("File error (write): %v\n", err)
os.Exit(1)
}
before = time.Now()
enc := json.NewEncoder(output)
err = enc.Encode(i)
if err != nil {
fmt.Printf("Encode error: %v\n", err)
os.Exit(1)
}
fmt.Println("DUMP: ", time.Since(before))
}
package main
import (
"encoding/json"
"fmt"
"os"
"time"
)
type foo struct {
Wogulian string `json:"Wogulian"`
Wolf string `json:"Wolf"`
Wolffia string `json:"Wolffia"`
Wolffian string `json:"Wolffian"`
Wolffianism string `json:"Wolffianism"`
Wolfgang string `json:"Wolfgang"`
Wolfian string `json:"Wolfian"`
Wolof string `json:"Wolof"`
Wongara string `json:"Wongara"`
Woodruff string `json:"Woodruff"`
Woodsia string `json:"Woodsia"`
Woodwardia string `json:"Woodwardia"`
Woody string `json:"Woody"`
Woolwa string `json:"Woolwa"`
Worden string `json:"Worden"`
Wordsworthian string `json:"Wordsworthian"`
Wordsworthianism string `json:"Wordsworthianism"`
Wormian string `json:"Wormian"`
Wovoka string `json:"Wovoka"`
Woyaway string `json:"Woyaway"`
Wraf string `json:"Wraf"`
Wren string `json:"Wren"`
Wronskian string `json:"Wronskian"`
Wu string `json:"Wu"`
Wuchereria string `json:"Wuchereria"`
Wullie string `json:"Wullie"`
Wundtian string `json:"Wundtian"`
Wurmian string `json:"Wurmian"`
Wurzburger string `json:"Wurzburger"`
Wyandot string `json:"Wyandot"`
Wyandotte string `json:"Wyandotte"`
Wycliffian string `json:"Wycliffian"`
Wycliffism string `json:"Wycliffism"`
Wycliffist string `json:"Wycliffist"`
Wycliffite string `json:"Wycliffite"`
Wyethia string `json:"Wyethia"`
Wykehamical string `json:"Wykehamical"`
Wykehamist string `json:"Wykehamist"`
Wyomingite string `json:"Wyomingite"`
X string `string:"X"`
Xanthian string `json:"Xanthian"`
Xanthidium string `json:"Xanthidium"`
Xanthisma string `json:"Xanthisma"`
Xanthium string `json:"Xanthium"`
Xanthocephalus string `json:"Xanthocephalus"`
Xanthoceras string `json:"Xanthoceras"`
Xanthochroi string `json:"Xanthochroi"`
Xanthochroic string `json:"Xanthochroic"`
Xanthomelanoi string `json:"Xanthomelanoi"`
Xanthomonas string `json:"Xanthomonas"`
Xanthophyceae string `json:"Xanthophyceae"`
Xanthopia string `json:"Xanthopia"`
Xanthorrhiza string `json:"Xanthorrhiza"`
Xanthorrhoea string `json:"Xanthorrhoea"`
Xanthosoma string `json:"Xanthosoma"`
Xanthoura string `json:"Xanthoura"`
Xanthoxalis string `json:"Xanthoxalis"`
Xaverian string `json:"Xaverian"`
Xema string `json:"Xema"`
Xenacanthini string `json:"Xenacanthini"`
Xenarchi string `json:"Xenarchi"`
Xenarthra string `json:"Xenarthra"`
Xenicidae string `json:"Xenicidae"`
Xenicus string `json:"Xenicus"`
Xenocratean string `json:"Xenocratean"`
Xenocratic string `json:"Xenocratic"`
Xenomi string `json:"Xenomi"`
Xenomorpha string `json:"Xenomorpha"`
Xenopeltidae string `json:"Xenopeltidae"`
Xenophanean string `json:"Xenophanean"`
Xenophonic string `json:"Xenophonic"`
Xenophontean string `json:"Xenophontean"`
Xenophontian string `json:"Xenophontian"`
Xenophontic string `json:"Xenophontic"`
Xenophontine string `json:"Xenophontine"`
Xenophora string `json:"Xenophora"`
Xenophoridae string `json:"Xenophoridae"`
Xenopodidae string `json:"Xenopodidae"`
Xenopsylla string `json:"Xenopsylla"`
Xenopteri string `json:"Xenopteri"`
Xenopterygii string `json:"Xenopterygii"`
Xenopus string `json:"Xenopus"`
Xenorhynchus string `json:"Xenorhynchus"`
Xenos string `json:"Xenos"`
Xenosauridae string `json:"Xenosauridae"`
Xenosaurus string `json:"Xenosaurus"`
Xenurus string `json:"Xenurus"`
Xeranthemum string `json:"Xeranthemum"`
Xeres string `json:"Xeres"`
Xerophyllum string `json:"Xerophyllum"`
Xerus string `json:"Xerus"`
Xicak string `json:"Xicak"`
Xicaque string `json:"Xicaque"`
Ximenia string `json:"Ximenia"`
Xina string `json:"Xina"`
Xinca string `json:"Xinca"`
Xipe string `json:"Xipe"`
Xiphias string `json:"Xiphias"`
Xiphiidae string `json:"Xiphiidae"`
Xiphisura string `json:"Xiphisura"`
Xiphiura string `json:"Xiphiura"`
Xiphius string `json:"Xiphius"`
Xiphodon string `json:"Xiphodon"`
Xiphodontidae string `json:"Xiphodontidae"`
Xiphosura string `json:"Xiphosura"`
Xiphosuridae string `json:"Xiphosuridae"`
Xiphosurus string `json:"Xiphosurus"`
Xiphura string `json:"Xiphura"`
Xiphydria string `json:"Xiphydria"`
Xiphydriidae string `json:"Xiphydriidae"`
Xiraxara string `json:"Xiraxara"`
Xmas string `json:"Xmas"`
Xosa string `json:"Xosa"`
Xylaria string `json:"Xylaria"`
Xylariaceae string `json:"Xylariaceae"`
Xyleborus string `json:"Xyleborus"`
Xylia string `json:"Xylia"`
Xylina string `json:"Xylina"`
Xylocopa string `json:"Xylocopa"`
Xylocopidae string `json:"Xylocopidae"`
Xylonite string `json:"Xylonite"`
Xylophaga string `json:"Xylophaga"`
Xylophagidae string `json:"Xylophagidae"`
Xylophagus string `json:"Xylophagus"`
Xylopia string `json:"Xylopia"`
Xylosma string `json:"Xylosma"`
Xylotrya string `json:"Xylotrya"`
Xyrichthys string `json:"Xyrichthys"`
Xyridaceae string `json:"Xyridaceae"`
Xyridales string `json:"Xyridales"`
Xyris string `json:"Xyris"`
Y string `json:"Y"`
Yadava string `json:"Yadava"`
Yagnob string `json:"Yagnob"`
Yagua string `json:"Yagua"`
Yahgan string `json:"Yahgan"`
Yahganan string `json:"Yahganan"`
Yahoo string `json:"Yahoo"`
Yahoodom string `json:"Yahoodom"`
Yahooish string `json:"Yahooish"`
Yahooism string `json:"Yahooism"`
Yahuna string `json:"Yahuna"`
Yahuskin string `json:"Yahuskin"`
Yahweh string `json:"Yahweh"`
Yahwism string `json:"Yahwism"`
Yahwist string `json:"Yahwist"`
Yahwistic string `json:"Yahwistic"`
Yajna string `json:"Yajna"`
Yajnavalkya string `json:"Yajnavalkya"`
Yaka string `json:"Yaka"`
Yakala string `json:"Yakala"`
Yakan string `json:"Yakan"`
Yakima string `json:"Yakima"`
Yakona string `json:"Yakona"`
Yakonan string `json:"Yakonan"`
Yakut string `json:"Yakut"`
Yakutat string `json:"Yakutat"`
Yale string `json:"Yale"`
Yalensian string `json:"Yalensian"`
Yamacraw string `json:"Yamacraw"`
Yamamadi string `json:"Yamamadi"`
Yamassee string `json:"Yamassee"`
Yamato string `json:"Yamato"`
Yamel string `json:"Yamel"`
Yameo string `json:"Yameo"`
Yana string `json:"Yana"`
Yanan string `json:"Yanan"`
Yankee string `json:"Yankee"`
Yankeedom string `json:"Yankeedom"`
Yankeefy string `json:"Yankeefy"`
Yankeeism string `json:"Yankeeism"`
Yankeeist string `json:"Yankeeist"`
Yankeeize string `json:"Yankeeize"`
Yankeeland string `json:"Yankeeland"`
Yankeeness string `json:"Yankeeness"`
Yankton string `json:"Yankton"`
Yanktonai string `json:"Yanktonai"`
Yannigan string `json:"Yannigan"`
Yao string `json:"Yao"`
Yapman string `json:"Yapman"`
Yaqui string `json:"Yaqui"`
Yaquina string `json:"Yaquina"`
Yarborough string `json:"Yarborough"`
Yarkand string `json:"Yarkand"`
Yaru string `json:"Yaru"`
Yarura string `json:"Yarura"`
Yaruran string `json:"Yaruran"`
Yaruro string `json:"Yaruro"`
Yasht string `json:"Yasht"`
Yasna string `json:"Yasna"`
Yatigan string `json:"Yatigan"`
Yatvyag string `json:"Yatvyag"`
Yauapery string `json:"Yauapery"`
Yavapai string `json:"Yavapai"`
Yazdegerdian string `json:"Yazdegerdian"`
Yazoo string `json:"Yazoo"`
Yellowknife string `json:"Yellowknife"`
Yemen string `json:"Yemen"`
Yemeni string `json:"Yemeni"`
Yemenic string `json:"Yemenic"`
Yemenite string `json:"Yemenite"`
Yengee string `json:"Yengee"`
Yengeese string `json:"Yengeese"`
Yenisei string `json:"Yenisei"`
Yeniseian string `json:"Yeniseian"`
Yerava string `json:"Yerava"`
Yeraver string `json:"Yeraver"`
Yeshibah string `json:"Yeshibah"`
Yeshiva string `json:"Yeshiva"`
Yezdi string `json:"Yezdi"`
Yezidi string `json:"Yezidi"`
Yid string `json:"Yid"`
Yiddish string `json:"Yiddish"`
Yiddisher string `json:"Yiddisher"`
Yiddishism string `json:"Yiddishism"`
Yiddishist string `json:"Yiddishist"`
Yikirgaulit string `json:"Yikirgaulit"`
Yildun string `json:"Yildun"`
Yin string `json:"Yin"`
Yojuane string `json:"Yojuane"`
Yokuts string `json:"Yokuts"`
Yoldia string `json:"Yoldia"`
Yomud string `json:"Yomud"`
Yonkalla string `json:"Yonkalla"`
Yorker string `json:"Yorker"`
Yorkish string `json:"Yorkish"`
Yorkist string `json:"Yorkist"`
Yorkshire string `json:"Yorkshire"`
Yorkshireism string `json:"Yorkshireism"`
Yorkshireman string `json:"Yorkshireman"`
Yoruba string `json:"Yoruba"`
Yoruban string `json:"Yoruban"`
Yponomeuta string `json:"Yponomeuta"`
Yponomeutid string `json:"Yponomeutid"`
Yponomeutidae string `json:"Yponomeutidae"`
Ypurinan string `json:"Ypurinan"`
Yquem string `json:"Yquem"`
Yuan string `json:"Yuan"`
Yuapin string `json:"Yuapin"`
Yucatec string `json:"Yucatec"`
Yucatecan string `json:"Yucatecan"`
Yucateco string `json:"Yucateco"`
Yucca string `json:"Yucca"`
Yuchi string `json:"Yuchi"`
Yuechi string `json:"Yuechi"`
Yuga string `json:"Yuga"`
Yugoslav string `json:"Yugoslav"`
Yugoslavian string `json:"Yugoslavian"`
Yugoslavic string `json:"Yugoslavic"`
Yuit string `json:"Yuit"`
Yukaghir string `json:"Yukaghir"`
Yuki string `json:"Yuki"`
Yukian string `json:"Yukian"`
Yuma string `json:"Yuma"`
Yuman string `json:"Yuman"`
Yun string `json:"Yun"`
Yunca string `json:"Yunca"`
Yuncan string `json:"Yuncan"`
Yunnanese string `json:"Yunnanese"`
Yurak string `json:"Yurak"`
Yurok string `json:"Yurok"`
Yurucare string `json:"Yurucare"`
Yurucarean string `json:"Yurucarean"`
Yurucari string `json:"Yurucari"`
Yurujure string `json:"Yurujure"`
Yuruk string `json:"Yuruk"`
Yuruna string `json:"Yuruna"`
Yurupary string `json:"Yurupary"`
Yustaga string `json:"Yustaga"`
Yvonne string `json:"Yvonne"`
Z string `json:"Z"`
Zabaean string `json:"Zabaean"`
Zabaism string `json:"Zabaism"`
Zaberma string `json:"Zaberma"`
Zabian string `json:"Zabian"`
Zabism string `json:"Zabism"`
Zacatec string `json:"Zacatec"`
Zacateco string `json:"Zacateco"`
Zach string `json:"Zach"`
Zachariah string `json:"Zachariah"`
Zadokite string `json:"Zadokite"`
Zaglossus string `json:"Zaglossus"`
Zaitha string `json:"Zaitha"`
Zaklohpakap string `json:"Zaklohpakap"`
Zalambdodonta string `json:"Zalambdodonta"`
Zalophus string `json:"Zalophus"`
Zambal string `json:"Zambal"`
Zambezian string `json:"Zambezian"`
Zamenis string `json:"Zamenis"`
Zamia string `json:"Zamia"`
Zamiaceae string `json:"Zamiaceae"`
Zamicrus string `json:"Zamicrus"`
Zan string `json:"Zan"`
Zanclidae string `json:"Zanclidae"`
Zanclodon string `json:"Zanclodon"`
Zanclodontidae string `json:"Zanclodontidae"`
Zande string `json:"Zande"`
Zaniah string `json:"Zaniah"`
Zannichellia string `json:"Zannichellia"`
Zannichelliaceae string `json:"Zannichelliaceae"`
Zanonia string `json:"Zanonia"`
Zantedeschia string `json:"Zantedeschia"`
Zanthorrhiza string `json:"Zanthorrhiza"`
Zanthoxylaceae string `json:"Zanthoxylaceae"`
Zanthoxylum string `json:"Zanthoxylum"`
Zantiot string `json:"Zantiot"`
Zanzalian string `json:"Zanzalian"`
Zanzibari string `json:"Zanzibari"`
Zapara string `json:"Zapara"`
Zaparan string `json:"Zaparan"`
Zaparo string `json:"Zaparo"`
Zaparoan string `json:"Zaparoan"`
Zaphetic string `json:"Zaphetic"`
Zaphrentidae string `json:"Zaphrentidae"`
Zaphrentis string `json:"Zaphrentis"`
Zapodidae string `json:"Zapodidae"`
Zapodinae string `json:"Zapodinae"`
Zaporogian string `json:"Zaporogian"`
Zaporogue string `json:"Zaporogue"`
Zapotec string `json:"Zapotec"`
Zapotecan string `json:"Zapotecan"`
Zapoteco string `json:"Zapoteco"`
Zaptoeca string `json:"Zaptoeca"`
Zapus string `json:"Zapus"`
Zaque string `json:"Zaque"`
Zaramo string `json:"Zaramo"`
Zarathustrian string `json:"Zarathustrian"`
Zarathustrianism string `json:"Zarathustrianism"`
Zarathustrism string `json:"Zarathustrism"`
Zardushti string `json:"Zardushti"`
Zarema string `json:"Zarema"`
Zaurak string `json:"Zaurak"`
Zauschneria string `json:"Zauschneria"`
Zavijava string `json:"Zavijava"`
Zea string `json:"Zea"`
Zealander string `json:"Zealander"`
Zebrina string `json:"Zebrina"`
Zebulunite string `json:"Zebulunite"`
Zechstein string `json:"Zechstein"`
Zeelander string `json:"Zeelander"`
Zeguha string `json:"Zeguha"`
Zeidae string `json:"Zeidae"`
Zeke string `json:"Zeke"`
Zelanian string `json:"Zelanian"`
Zelkova string `json:"Zelkova"`
Zeltinger string `json:"Zeltinger"`
Zen string `json:"Zen"`
Zenaga string `json:"Zenaga"`
Zenaida string `json:"Zenaida"`
Zenaidinae string `json:"Zenaidinae"`
Zenaidura string `json:"Zenaidura"`
Zend string `json:"Zend"`
Zendic string `json:"Zendic"`
Zenelophon string `json:"Zenelophon"`
Zenobia string `json:"Zenobia"`
Zenonian string `json:"Zenonian"`
Zenonic string `json:"Zenonic"`
Zeoidei string `json:"Zeoidei"`
Zep string `json:"Zep"`
Zephyranthes string `json:"Zephyranthes"`
Zeppelin string `json:"Zeppelin"`
Zerma string `json:"Zerma"`
Zeuctocoelomata string `json:"Zeuctocoelomata"`
Zeuglodon string `json:"Zeuglodon"`
Zeuglodonta string `json:"Zeuglodonta"`
Zeuglodontia string `json:"Zeuglodontia"`
Zeuglodontidae string `json:"Zeuglodontidae"`
Zeugobranchia string `json:"Zeugobranchia"`
Zeugobranchiata string `json:"Zeugobranchiata"`
Zeus string `json:"Zeus"`
Zeuxian string `json:"Zeuxian"`
Zeuzera string `json:"Zeuzera"`
Zeuzeridae string `json:"Zeuzeridae"`
Zhmud string `json:"Zhmud"`
Zilla string `json:"Zilla"`
Zimmerwaldian string `json:"Zimmerwaldian"`
Zimmerwaldist string `json:"Zimmerwaldist"`
Zincalo string `json:"Zincalo"`
Zingiber string `json:"Zingiber"`
Zingiberaceae string `json:"Zingiberaceae"`
Zinnia string `json:"Zinnia"`
Zinzar string `json:"Zinzar"`
Zinziberaceae string `json:"Zinziberaceae"`
Zion string `json:"Zion"`
Zionism string `json:"Zionism"`
Zionist string `json:"Zionist"`
Zionistic string `json:"Zionistic"`
Zionite string `json:"Zionite"`
Zionless string `json:"Zionless"`
Zionward string `json:"Zionward"`
Zipa string `json:"Zipa"`
Ziphiidae string `json:"Ziphiidae"`
Ziphiinae string `json:"Ziphiinae"`
Ziphius string `json:"Ziphius"`
Zipper string `json:"Zipper"`
Zips string `json:"Zips"`
Zirak string `json:"Zirak"`
Zirbanit string `json:"Zirbanit"`
Zirian string `json:"Zirian"`
Zirianian string `json:"Zirianian"`
Zizania string `json:"Zizania"`
Zizia string `json:"Zizia"`
Zizyphus string `json:"Zizyphus"`
Zmudz string `json:"Zmudz"`
Zoa string `json:"Zoa"`
Zoanthacea string `json:"Zoanthacea"`
Zoantharia string `json:"Zoantharia"`
Zoanthidae string `json:"Zoanthidae"`
Zoanthidea string `json:"Zoanthidea"`
Zoanthus string `json:"Zoanthus"`
Zoarces string `json:"Zoarces"`
Zoarite string `json:"Zoarite"`
Zohak string `json:"Zohak"`
Zoharist string `json:"Zoharist"`
Zoharite string `json:"Zoharite"`
Zoilean string `json:"Zoilean"`
Zoilism string `json:"Zoilism"`
Zoilist string `json:"Zoilist"`
Zolaesque string `json:"Zolaesque"`
Zolaism string `json:"Zolaism"`
Zolaist string `json:"Zolaist"`
Zolaistic string `json:"Zolaistic"`
Zolaize string `json:"Zolaize"`
Zollernia string `json:"Zollernia"`
Zonaria string `json:"Zonaria"`
Zongora string `json:"Zongora"`
Zonites string `json:"Zonites"`
Zonitidae string `json:"Zonitidae"`
Zonitoides string `json:"Zonitoides"`
Zonoplacentalia string `json:"Zonoplacentalia"`
Zonotrichia string `json:"Zonotrichia"`
Zonta string `json:"Zonta"`
Zontian string `json:"Zontian"`
Zonuridae string `json:"Zonuridae"`
Zonurus string `json:"Zonurus"`
Zoochlorella string `json:"Zoochlorella"`
Zoomastigina string `json:"Zoomastigina"`
Zoomastigoda string `json:"Zoomastigoda"`
Zoophaga string `json:"Zoophaga"`
Zoophagineae string `json:"Zoophagineae"`
Zoophyta string `json:"Zoophyta"`
Zootoca string `json:"Zootoca"`
Zoque string `json:"Zoque"`
Zoquean string `json:"Zoquean"`
Zoraptera string `json:"Zoraptera"`
Zorillinae string `json:"Zorillinae"`
Zoroastrian string `json:"Zoroastrian"`
Zoroastrianism string `json:"Zoroastrianism"`
Zoroastrism string `json:"Zoroastrism"`
Zorotypus string `json:"Zorotypus"`
Zosma string `json:"Zosma"`
Zostera string `json:"Zostera"`
Zosteraceae string `json:"Zosteraceae"`
Zosteropinae string `json:"Zosteropinae"`
Zosterops string `json:"Zosterops"`
Zouave string `json:"Zouave"`
Zoysia string `json:"Zoysia"`
Zubeneschamali string `json:"Zubeneschamali"`
Zuleika string `json:"Zuleika"`
Zulhijjah string `json:"Zulhijjah"`
Zulinde string `json:"Zulinde"`
Zulkadah string `json:"Zulkadah"`
Zulu string `json:"Zulu"`
Zuludom string `json:"Zuludom"`
Zuluize string `json:"Zuluize"`
Zuni string `json:"Zuni"`
Zunian string `json:"Zunian"`
Zutugil string `json:"Zutugil"`
Zwieback string `json:"Zwieback"`
Zwinglian string `json:"Zwinglian"`
Zwinglianism string `json:"Zwinglianism"`
Zwinglianist string `json:"Zwinglianist"`
Zygadenus string `json:"Zygadenus"`
Zygaena string `json:"Zygaena"`
Zygaenidae string `json:"Zygaenidae"`
Zygnema string `json:"Zygnema"`
Zygnemaceae string `json:"Zygnemaceae"`
Zygnemales string `json:"Zygnemales"`
Zygnemataceae string `json:"Zygnemataceae"`
Zygnematales string `json:"Zygnematales"`
Zygobranchia string `json:"Zygobranchia"`
Zygobranchiata string `json:"Zygobranchiata"`
Zygocactus string `json:"Zygocactus"`
Zygodactylae string `json:"Zygodactylae"`
Zygodactyli string `json:"Zygodactyli"`
Zygomycetes string `json:"Zygomycetes"`
Zygophyceae string `json:"Zygophyceae"`
Zygophyllaceae string `json:"Zygophyllaceae"`
Zygophyllum string `json:"Zygophyllum"`
Zygoptera string `json:"Zygoptera"`
Zygopteraceae string `json:"Zygopteraceae"`
Zygopterides string `json:"Zygopterides"`
Zygopteris string `json:"Zygopteris"`
Zygosaccharomyces string `json:"Zygosaccharomyces"`
Zyrenian string `json:"Zyrenian"`
Zyrian string `json:"Zyrian"`
Zyryan string `json:"Zyryan"`
Zythia string `json:"Zythia"`
Zyzomys string `json:"Zyzomys"`
Zyzzogeton string `json:"Zyzzogeton"`
}
type foos struct {
Foos []foo `json:"foos"`
}
func main() {
input, err := os.Open("huge.json")
if err != nil {
fmt.Printf("File error: %v\n", err)
os.Exit(1)
}
var i foos
before := time.Now()
dec := json.NewDecoder(input)
err = dec.Decode(&i)
if err != nil {
fmt.Printf("Encode error: %v\n", err)
os.Exit(1)
}
fmt.Println("LOAD: ", time.Since(before))
output, err := os.Create("out.go-struct.json")
if err != nil {
fmt.Printf("File error (write): %v\n", err)
os.Exit(1)
}
before = time.Now()
enc := json.NewEncoder(output)
err = enc.Encode(i)
if err != nil {
fmt.Printf("Encode error: %v\n", err)
os.Exit(1)
}
fmt.Println("DUMP: ", time.Since(before))
}
bench$ for i in `seq 1 3`; do make go-map go-struct python > /dev/null; done
bench$ make go-map go-struct python
go build ./go-map.go
Running go (map) version.
./go-map
LOAD: 1.798277152s
DUMP: 1.259067989s
go build ./go-struct.go
Running go (struct) version.
./go-struct
LOAD: 5.116682699s
DUMP: 510.824196ms
Running python version
python py.py
LOAD elapsed=1.23541688919
DUMP elapsed=2.82732796669
bench$ du -h *.json
111M huge.json
109M out.go-map.json
109M out.go-struct.json
111M out.py.json
go-map:
go build ./go-map.go
@echo "Running go (map) version."
./go-map
go-struct:
go build ./go-struct.go
@echo "Running go (struct) version."
./go-struct
python:
@echo "Running python version"
python py.py
.PHONY: go-struct go-map python
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment