我有以下任务。
我需要创建一个控制台应用程序,它需要一个参数,即要生成的数据数量。数据是人员地址和姓名。我创建了一个adress
带有state, city, zip-code
字段的表。我还创建了一个包含first
和last name
列的表。我使用 HugSQL 来处理 PostgreSQL。所以我想动态混合地址、名字和姓氏并将结果打印到控制台中,生成的值的数量取决于传递给应用程序的参数。这是我的代码:
(ns project.core
(:require
[project.db.get :as get]))
(defn parse-int [s]
(Integer. (re-find #"\d+" s )))
(def usa-data (get/usa))
(defn usa-adress-getter []
(let [data (into {} (shuffle usa-data))
city (get data :city)
state (get data :state)
zip (get data :zip_code)]
(str state " " city " " zip)))
(defn repeater [times]
(dotimes [i times]
(println (usa-adress-getter))))
(defn -main [value]
(repeater (parse-int value)))
这里我只是检查usa-adress-getter
函数的结果。但是函数评估的时间太大了,我的限制是 1 分钟内有 100 万个值。如何提高评价速度?函数从表中(get/usa)
检索所有数据。adress